/* ---------- The launch cover (maintenance mode → "Launch cover"): one magazine cover on the desk ----------
   Everything inside the sheet is sized from the sheet's own width (cqw), so the cover keeps its proportions
   from a phone to a wide screen; on desktop the sheet is a portrait page as tall as the window allows. */
body.cv-doc { background-color: var(--bg); }
.cv { flex: 1 0 auto; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; min-height: 100vh; min-height: 100dvh; padding: clamp(12px, 2.2vw, 34px) 16px; }
.cv-frame { container-type: inline-size; width: min(100%, calc((100dvh - 116px) * .773)); min-width: min(100%, 520px); }   /* sizes inside the cover are measured against this */
.cv-sheet { position: relative; display: flex; flex-direction: column; width: 100%; aspect-ratio: .773; overflow: hidden; padding: 4.4cqw 4.6cqw 4cqw; color: #fff;
  background: radial-gradient(120% 80% at 72% 34%, #2366d8 0%, #0f3a80 34%, #0a2341 70%, #061629 100%);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .06) inset, 0 2px 4px rgba(6, 22, 41, .18), 0 30px 70px -24px rgba(6, 22, 41, .55), 0 60px 120px -60px rgba(6, 22, 41, .45);
  --a-line: #9cc7f2; --a-grid-op: .2; --a-g: #ffffff; --a-g-op: .94; --a-dim-op: .42; --a-text: #9cc7f2; --a-text-op: .75; --a-unit-op: .55; --a-halo: #70afe9; --a-dot: #ffffff;
  animation: mt-in .9s cubic-bezier(.2, .7, .2, 1) both; }
.cv-sheet::after { content: ""; position: absolute; inset: 0; z-index: 4; pointer-events: none; background: linear-gradient(118deg, rgba(255, 255, 255, .09) 0%, rgba(255, 255, 255, 0) 26%, rgba(255, 255, 255, 0) 72%, rgba(0, 0, 0, .16) 100%); }   /* a little gloss, like coated paper */
.cv-grid { position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(255, 255, 255, .055) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .055) 1px, transparent 1px); background-size: 4.2cqw 4.2cqw; -webkit-mask-image: radial-gradient(circle at 64% 46%, #000 25%, transparent 78%); mask-image: radial-gradient(circle at 64% 46%, #000 25%, transparent 78%); }
.cv-sheet > :not(.cv-grid) { position: relative; z-index: 1; }

.cv-top { display: grid; grid-template-columns: 1fr auto 1fr; align-items: baseline; gap: 2cqw; padding-bottom: 1.4cqw; border-bottom: 1px solid rgba(255, 255, 255, .3); font-family: "JetBrains Mono", monospace; font-size: max(9px, 1.3cqw); letter-spacing: .22em; text-transform: uppercase; color: rgba(255, 255, 255, .78); }
.cv-top > :last-child { justify-self: end; }
.cv-issue { font-family: var(--serif); font-style: italic; font-size: max(12px, 1.9cqw); letter-spacing: .01em; text-transform: none; color: #fff; }
.cv-mast { margin: 2.2cqw 0 0; line-height: 0; }
.cv-mast svg { display: block; width: 100%; height: auto; fill: #fff; overflow: visible; }
.cv-mast text { font-family: "Inter Tight", system-ui, sans-serif; font-size: 186px; font-weight: 600; letter-spacing: -2px; }

.cv-mid { position: relative; flex: 1 1 auto; min-height: 0; display: flex; margin-top: 2cqw; }
.cv-art { position: absolute; top: -3%; bottom: -2%; left: 24%; right: -7%; display: flex; align-items: center; justify-content: center; pointer-events: none; }
.cv-art .art { width: 100%; height: 100%; overflow: visible; animation: mt-art 1.4s .25s cubic-bezier(.2, .7, .2, 1) both; }
.cv-lines { position: relative; z-index: 2; width: 34%; margin: 0; padding: 0; list-style: none; align-self: center; }
.cv-lines li { padding: 1.3cqw 0 1.7cqw; border-top: 1px solid rgba(255, 255, 255, .26); }
.cv-lines b { display: block; font-family: "JetBrains Mono", monospace; font-size: max(9px, 1.2cqw); font-weight: 500; letter-spacing: .22em; text-transform: uppercase; color: #70afe9; }
.cv-lines span { display: block; margin-top: .7cqw; font-size: max(13px, 2.35cqw); font-weight: 600; line-height: 1.12; letter-spacing: -.015em; text-wrap: balance; }
.cv-seal { position: absolute; z-index: 3; right: 1cqw; top: 2%; display: grid; place-content: center; justify-items: center; width: 15cqw; aspect-ratio: 1; margin: 0; border-radius: 50%; color: #0a2341; background: #fff; transform: rotate(-9deg); box-shadow: 0 1.4cqw 3cqw -1cqw rgba(0, 0, 0, .45); }
.cv-seal::before { content: ""; position: absolute; inset: .8cqw; border-radius: 50%; border: 1px dashed rgba(10, 35, 65, .45); }
.cv-seal span { font-family: "JetBrains Mono", monospace; font-size: max(8px, 1.15cqw); letter-spacing: .22em; text-transform: uppercase; }
.cv-seal b { margin: .3cqw 0; font-size: 3.9cqw; font-weight: 700; line-height: 1; letter-spacing: -.03em; }

.cv-foot { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "story" "join"; margin-top: 1.4cqw; }
.cv-story { grid-area: story; }
.cv-kick { margin: 0; font-family: "JetBrains Mono", monospace; font-size: max(9px, 1.2cqw); letter-spacing: .24em; text-transform: uppercase; color: #70afe9; }
.cv-head { margin: .8cqw 0 0; font-size: 11.6cqw; font-weight: 600; line-height: .9; letter-spacing: -.048em; color: #fff; text-wrap: balance; }
.cv-head em { font-family: var(--serif); font-style: italic; font-weight: 400; letter-spacing: -.03em; color: #9cc7f2; padding-right: .04em; }
.cv-dek { max-width: 46ch; margin: 1.6cqw 0 0; font-family: var(--serif); font-size: max(14px, 2.05cqw); line-height: 1.4; color: rgba(255, 255, 255, .86); }
.cv-join { grid-area: join; margin-top: 2.4cqw; padding-top: 1.6cqw; border-top: 1px solid rgba(255, 255, 255, .3); }
.cv-join-k { margin: 0 0 1cqw; font-family: "JetBrains Mono", monospace; font-size: max(9px, 1.2cqw); letter-spacing: .24em; text-transform: uppercase; color: #70afe9; }
.cv-form { display: flex; max-width: 520px; }
.cv-field { flex: 1; min-width: 0; }
.cv-field input { width: 100%; height: max(44px, 5.4cqw); padding: 0 1.6cqw; border: 1px solid rgba(255, 255, 255, .38); border-right: 0; border-radius: 0; background: rgba(255, 255, 255, .07); color: #fff; font: inherit; font-size: max(15px, 1.75cqw); }
.cv-field input::placeholder { color: rgba(255, 255, 255, .5); }
.cv-field input:focus { outline: none; border-color: #fff; background: rgba(255, 255, 255, .12); }
.cv-form button { flex: none; height: max(44px, 5.4cqw); padding: 0 max(16px, 2.4cqw); border: 1px solid #fff; border-radius: 0; background: #fff; color: #0a2341; font: inherit; font-size: max(14px, 1.65cqw); font-weight: 600; cursor: pointer; transition: background .2s, color .2s; }
.cv-form button:hover { background: #9cc7f2; border-color: #9cc7f2; }
.cv-form button:focus-visible { outline: 2px solid #9cc7f2; outline-offset: 3px; }
.cv-join-note { margin: .9cqw 0 0; font-family: var(--serif); font-style: italic; font-size: max(12px, 1.45cqw); color: rgba(255, 255, 255, .66); }
.cv-join-note a { color: #fff; font-style: normal; font-family: "Inter Tight", system-ui, sans-serif; font-size: .92em; text-decoration: none; border-bottom: 1px solid rgba(255, 255, 255, .4); white-space: nowrap; }
.cv-join-note a:hover { border-color: #fff; }
.cv-join-note.is-err { color: #ffc4bd; font-style: normal; font-family: inherit; }
.cv-join-done { margin: 0; font-family: var(--serif); font-size: max(15px, 2.1cqw); line-height: 1.35; }
.cv-share { display: flex; flex-wrap: wrap; align-items: center; gap: 1cqw 2.4cqw; margin: 1.6cqw 0 0; font-size: max(12px, 1.45cqw); }
.cv-x { display: inline-flex; align-items: center; gap: .6em; height: max(32px, 3.8cqw); padding: 0 1.4cqw; border: 1px solid rgba(255, 255, 255, .45); color: #fff; font-weight: 500; text-decoration: none; transition: background .2s, border-color .2s; }
.cv-x:hover { background: rgba(255, 255, 255, .1); border-color: #fff; }
.cv-inv { color: rgba(255, 255, 255, .7); }
.cv-inv a { color: #fff; text-decoration: none; border-bottom: 1px solid rgba(255, 255, 255, .4); }
.cv-inv a:hover { border-color: #fff; }
.cv-hp, .cv-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.cv-out { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 22px; width: min(100%, calc((100dvh - 116px) * .773)); min-width: min(100%, 520px); font-family: "JetBrains Mono", monospace; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.cv-out > span:first-child { margin-right: auto; }
.cv-out .cv-links { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 22px; }
.cv-out a { color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--rule); }
.cv-out a:hover { color: var(--accent); border-color: var(--accent); }
.cv-out .cv-links a[aria-current] { color: var(--accent); border-color: var(--accent); }
@media (prefers-reduced-motion: reduce) { .cv-sheet, .cv-art .art { animation: none; } }

/* Inside pages of the cover's magazine (privacy notice, terms, network status): white paper, same size as the cover */
.cv-sheet.is-inside { aspect-ratio: auto; min-height: 129.4cqw; padding: 4.4cqw 5.6cqw 3.6cqw; color: var(--ink); background: var(--panel, #fff); }
.cv-sheet.is-inside::after { background: linear-gradient(90deg, rgba(0, 0, 0, .05), rgba(0, 0, 0, 0) 5%); }   /* the gutter shadow of a bound page */
.cv-run { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 2cqw; padding-bottom: 1.4cqw; border-bottom: 2px solid var(--ink); font-family: "JetBrains Mono", monospace; font-size: max(9px, 1.25cqw); letter-spacing: .22em; text-transform: uppercase; color: var(--muted); }
.cv-run > :last-child { justify-self: end; }
.cv-run .cv-issue { color: var(--ink); }
.cv-run-b { display: inline-flex; align-items: center; gap: .8em; color: var(--ink); text-decoration: none; }
.cv-run-b svg { width: 1.6em; height: 1.6em; }
.cv-run-x { color: var(--accent); text-decoration: none; letter-spacing: .14em; }
.cv-run-x:hover { text-decoration: underline; }
.cv-run-b b { font-family: "Inter Tight", system-ui, sans-serif; font-weight: 600; letter-spacing: .26em; }
.cv-in-k { margin: 5cqw 0 0; font-family: "JetBrains Mono", monospace; font-size: max(10px, 1.3cqw); letter-spacing: .24em; text-transform: uppercase; color: var(--accent); }
.cv-legal { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 5cqw 0 0; font-family: "JetBrains Mono", monospace; font-size: max(10px, 1.3cqw); letter-spacing: .24em; text-transform: uppercase; }
.cv-legal span { color: var(--accent); margin-right: 6px; }
.cv-legal a { padding: 4px 10px; border: 1px solid var(--rule); color: var(--muted); text-decoration: none; }
.cv-legal a:hover { color: var(--ink); border-color: var(--ink); }
.cv-legal a[aria-current] { background: var(--ink); border-color: var(--ink); color: var(--bg); }
.cv-in-h { margin: 1cqw 0 0; font-size: 10cqw; font-weight: 600; line-height: .92; letter-spacing: -.045em; color: var(--ink); }
.cv-in-h em { font-family: var(--serif); font-style: italic; font-weight: 400; letter-spacing: -.03em; color: var(--accent); }
.cv-in-dek { max-width: 40ch; margin: 2.2cqw 0 0; font-family: var(--serif); font-size: max(16px, 2.4cqw); line-height: 1.35; color: var(--body, var(--ink)); }
.cv-in-cols { margin-top: 3.6cqw; padding-top: 2.6cqw; border-top: 1px solid var(--mt-rule); columns: 2; column-gap: 4.4cqw; column-rule: 1px solid var(--mt-rule); font-size: max(14px, 1.6cqw); line-height: 1.6; color: var(--body, var(--ink)); }
.cv-in-cols h2 { margin: 0 0 .4em; font-size: max(13px, 1.45cqw); font-weight: 600; letter-spacing: 0; color: var(--ink); break-after: avoid; }
.cv-in-cols p { margin: 0 0 1.2em; break-inside: avoid-column; }
.cv-drop::first-letter { float: left; margin: .1em .14em 0 0; font-family: var(--serif); font-size: 3.4em; line-height: .8; color: var(--accent); }
.cv-in-list { margin: 3.6cqw 0 0; padding: 2.6cqw 0 0; border-top: 1px solid var(--mt-rule); list-style: none; counter-reset: n; font-size: max(15px, 1.85cqw); line-height: 1.5; color: var(--body, var(--ink)); }
.cv-in-list li { position: relative; padding: 0 0 1.6cqw 6cqw; counter-increment: n; }
.cv-in-list li::before { content: counter(n, decimal-leading-zero); position: absolute; left: 0; top: .1em; font-family: "JetBrains Mono", monospace; font-size: .8em; color: var(--accent); }
.cv-in-list a, .cv-folio a { color: var(--accent); }
.cv-in-sub { margin: 3.4cqw 0 0; padding-top: 2.4cqw; border-top: 1px solid var(--mt-rule); font-size: max(18px, 2.6cqw); font-weight: 600; letter-spacing: -.02em; color: var(--ink); }
.cv-in-p { margin: 1cqw 0 0; font-size: max(14px, 1.6cqw); line-height: 1.5; color: var(--body, var(--ink)); }
.cv-in-list.is-small { margin-top: 1.6cqw; padding-top: 0; border-top: 0; font-size: max(14px, 1.6cqw); }
.cv-in-state { display: flex; align-items: center; flex-wrap: wrap; gap: 1.2cqw 1.6cqw; margin: 3cqw 0 0; padding: 2.2cqw 2.6cqw; border: 1px solid var(--mt-rule); font-size: max(16px, 2.2cqw); }
.cv-in-state span { width: 1.4cqw; min-width: 10px; aspect-ratio: 1; border-radius: 50%; background: #16a34a; }
.cv-in-state.is-degraded span, .cv-in-state.is-maintenance span { background: #f59e0b; } .cv-in-state.is-partial span { background: #ea580c; } .cv-in-state.is-major span { background: #dc2626; }
.cv-in-state small { margin-left: auto; font-family: "JetBrains Mono", monospace; font-size: max(10px, 1.15cqw); letter-spacing: .12em; color: var(--muted); }
.cv-in-inc { margin-top: 1.6cqw; padding: 1.6cqw 2.2cqw; border-left: 3px solid #f59e0b; background: color-mix(in srgb, #f59e0b 8%, transparent); font-size: max(14px, 1.6cqw); }
.cv-in-inc b { display: block; }
.cv-in-svc { margin: 3cqw 0 0; padding: 0; list-style: none; }
.cv-in-svc li { display: flex; align-items: center; justify-content: space-between; gap: 2cqw; padding: 1.6cqw 0; border-bottom: 1px solid var(--mt-rule); }
.cv-in-svc b { display: block; font-size: max(15px, 1.8cqw); font-weight: 600; }
.cv-in-svc small { font-family: "JetBrains Mono", monospace; font-size: max(10px, 1.1cqw); letter-spacing: .1em; color: var(--muted); }
.cv-in-svc em { flex: none; font-family: "JetBrains Mono", monospace; font-size: max(10px, 1.15cqw); font-style: normal; letter-spacing: .14em; text-transform: uppercase; color: #15803d; }
.cv-in-svc em.is-degraded, .cv-in-svc em.is-maintenance { color: #b45309; } .cv-in-svc em.is-partial { color: #c2410c; } .cv-in-svc em.is-beta { color: #7c3aed; } .cv-in-svc em.is-major { color: #b91c1c; }
.cv-folio { display: flex; justify-content: space-between; align-items: center; margin-top: auto; padding-top: 3cqw; font-family: "JetBrains Mono", monospace; font-size: max(11px, 1.25cqw); letter-spacing: .14em; color: var(--muted); }
.cv-folio a { text-decoration: none; letter-spacing: .06em; }
/* The Beta page and the agent's checkpoint */
.cv-fine { margin-top: 4.6cqw; padding: 2.4cqw 2.8cqw; border: 1px solid var(--mt-rule); background: color-mix(in srgb, var(--ink) 3%, transparent); }
.cv-fine-k { margin: 0 0 1.2cqw; font-family: "JetBrains Mono", monospace; font-size: max(10px, 1.15cqw); letter-spacing: .2em; text-transform: uppercase; color: var(--muted); }
.cv-fine ol { margin: 0; padding-left: 1.4em; font-size: max(13px, 1.5cqw); line-height: 1.5; color: var(--body, var(--ink)); }
.cv-fine li + li { margin-top: .5em; }
.cv-agree { grid-column: 1 / -1; display: flex !important; align-items: flex-start; gap: 1.2cqw; margin: 2cqw 0 0 !important; font-family: inherit !important; font-size: max(14px, 1.65cqw) !important; letter-spacing: 0 !important; text-transform: none !important; color: rgba(255, 255, 255, .88) !important; line-height: 1.45; cursor: pointer; }
.cv-agree input { flex: none; width: 18px; height: 18px !important; margin: .15em 0 0; padding: 0; accent-color: #9cc7f2; }
.cv-agree a { color: #9cc7f2; }
.cv-beta-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3cqw; margin-top: 4cqw; padding-top: 2.6cqw; border-top: 1px solid var(--mt-rule); }
.cv-beta-grid b { display: block; font-family: "JetBrains Mono", monospace; font-size: max(10px, 1.2cqw); font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--accent); }
.cv-beta-grid p { margin: 1cqw 0 0; font-size: max(14px, 1.7cqw); line-height: 1.5; color: var(--body, var(--ink)); }
.cv-enter { display: inline-flex; align-items: center; gap: 1.8cqw; margin-top: 5cqw; padding: 2cqw 2.8cqw; background: #0a2341; color: #fff; text-decoration: none; font-size: max(16px, 2.2cqw); font-weight: 600; letter-spacing: -.01em; box-shadow: 0 1.4cqw 3cqw -1.4cqw rgba(10, 35, 65, .6); transition: background .2s ease; }
.cv-enter i { font-style: normal; transition: transform .25s ease; }
.cv-enter:hover { background: #1f5fd1; }
.cv-enter:hover i { transform: translateX(.4em); }
.cv-sheet.is-classified { color: #fff; background: radial-gradient(120% 90% at 50% 10%, #13294a 0%, #0a1830 55%, #050d1b 100%); }
.cv-sheet.is-classified .cv-run { border-color: rgba(255, 255, 255, .5); color: rgba(255, 255, 255, .7); }
.cv-sheet.is-classified .cv-run .cv-issue, .cv-sheet.is-classified .cv-run-b { color: #fff; }
.cv-sheet.is-classified .cv-in-h { color: #fff; }
.cv-sheet.is-classified .cv-in-h em { color: #9cc7f2; }
.cv-sheet.is-classified .cv-in-dek { color: rgba(255, 255, 255, .82); }
.cv-sheet.is-classified .cv-in-k { color: #ff8a7a; }
.cv-sheet.is-classified .cv-run-x, .cv-sheet.is-classified .cv-folio a { color: #9cc7f2; }
.cv-sheet.is-classified .cv-folio { color: rgba(255, 255, 255, .5); }
.cv-sheet > .cv-stamp { position: absolute; width: max-content; z-index: 3; right: 9cqw; bottom: 19cqw; margin: 0; padding: .8cqw 3cqw; border: .7cqw solid #e5484d; border-radius: 1.2cqw; color: #e5484d; font-family: "Inter Tight", system-ui, sans-serif; font-size: 12cqw; font-weight: 800; letter-spacing: .06em; line-height: 1; transform: rotate(-12deg); box-shadow: inset 0 0 0 .35cqw rgba(229, 72, 77, .25); animation: cv-stamp .55s .35s cubic-bezier(.2, 1.4, .4, 1) both; }
@keyframes cv-stamp { 0% { opacity: 0; transform: rotate(-12deg) scale(2.6); } 70% { opacity: 1; transform: rotate(-12deg) scale(.94); } 100% { opacity: 1; transform: rotate(-12deg) scale(1); } }
.cv-sheet.is-classified { animation: mt-in .9s cubic-bezier(.2, .7, .2, 1) both, cv-jolt .3s .82s ease both; }
@keyframes cv-jolt { 0%, 100% { transform: none; } 30% { transform: translate(-.4cqw, .2cqw); } 60% { transform: translate(.3cqw, -.15cqw); } }   /* the desk shakes once as the stamp lands */
.cv-agent { display: grid; grid-template-columns: 1fr auto; gap: 0; margin-top: 5cqw; max-width: 600px; }
.cv-agent label { grid-column: 1 / -1; margin-bottom: 1cqw; font-family: "JetBrains Mono", monospace; font-size: max(10px, 1.2cqw); letter-spacing: .24em; text-transform: uppercase; color: #9cc7f2; }
.cv-agent-f { grid-column: 1 / -1; display: flex; align-items: center; gap: .8cqw; padding: max(5px, .7cqw); border: 1px solid rgba(255, 255, 255, .45); background: rgba(255, 255, 255, .06); transition: border-color .2s, background .2s; }   /* the CODE IN button sits inside the field */
.cv-agent-f:focus-within { border-color: #fff; background: rgba(255, 255, 255, .1); }
.cv-agent input { flex: 1; min-width: 0; height: max(42px, 5.2cqw); padding: 0 1.2cqw; border: 0; border-radius: 0; background: transparent; color: #fff; font-family: "JetBrains Mono", monospace; font-size: max(17px, 2.4cqw); letter-spacing: .14em; text-transform: uppercase; }
.cv-agent input::placeholder { color: rgba(255, 255, 255, .3); }
.cv-agent input:focus { outline: none; }
.cv-agent button { flex: none; height: max(42px, 5.2cqw); padding: 0 max(16px, 2.4cqw); border: 1px solid #fff; border-radius: 0; background: #fff; color: #0a2341; font: inherit; font-size: max(14px, 1.7cqw); font-weight: 700; cursor: pointer; }
.cv-agent button:hover { background: #9cc7f2; border-color: #9cc7f2; }
.cv-agent .cv-codein { position: relative; border-color: #5fe0b4; background: #04140f; color: #6ff3c4; font-family: "JetBrains Mono", "Courier New", monospace; font-size: max(15px, 1.9cqw); font-weight: 600; letter-spacing: .3em; padding-right: max(13px, 2.1cqw); text-transform: uppercase; text-shadow: 0 0 6px rgba(111, 243, 196, .75), 0 0 14px rgba(111, 243, 196, .35); background-image: repeating-linear-gradient(0deg, rgba(255, 255, 255, .035) 0 1px, transparent 1px 3px); }   /* a little digital readout: glowing mono letters on a dark screen */
.cv-agent .cv-codein::after { content: ""; display: inline-block; width: .55em; height: 1em; margin-left: .15em; vertical-align: -.12em; background: currentColor; box-shadow: 0 0 6px rgba(111, 243, 196, .7); animation: cv-blink 1.1s steps(1) infinite; }
.cv-agent .cv-codein:hover { background-color: #072319; border-color: #6ff3c4; color: #9dffd9; }
@keyframes cv-blink { 50% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .cv-agent .cv-codein::after { animation: none; } }
.cv-agent-no { margin: 1.6cqw 0 0; padding: 1.2cqw 1.6cqw; border-left: 3px solid #e5484d; background: rgba(229, 72, 77, .12); color: #ffd1cf; font-size: max(14px, 1.6cqw); }
.cv-agent-n { margin: 2cqw 0 0; font-family: var(--serif); font-style: italic; font-size: max(13px, 1.5cqw); color: rgba(255, 255, 255, .6); }
.cv-out .cv-beta { padding: 1px 6px; border: 1px solid currentColor; border-bottom-width: 1px; letter-spacing: .2em; color: var(--accent); }
@media (prefers-reduced-motion: reduce) { .cv-stamp, .cv-sheet.is-classified { animation: none; } }
@media (max-width: 640px) { .cv-beta-grid { grid-template-columns: 1fr; } .cv-sheet > .cv-stamp { position: relative; right: auto; bottom: auto; align-self: flex-end; margin: 3cqw 2cqw 3cqw 0; font-size: 13cqw; } .cv-agent .cv-codein { letter-spacing: .18em; padding: 0 12px; } .cv-agent input { font-size: 15px; letter-spacing: .06em; } }
@media (max-width: 640px) { .cv-sheet.is-inside { min-height: 0; padding: 6cqw 6cqw 6cqw; } .cv-in-cols { columns: 1; } .cv-in-h { font-size: 14cqw; } .cv-run .cv-issue { display: none; } .cv-run { grid-template-columns: 1fr auto; } .cv-in-list li { padding-left: 9cqw; } }

/* Phones and narrow windows: the cover grows as tall as it needs; the cover lines go under the drawing. */
@media (max-width: 640px) {
  .cv { padding: 10px 10px 18px; justify-content: flex-start; }
  .cv-frame { width: 100%; min-width: 0; }
  .cv-sheet { aspect-ratio: auto; padding: 6cqw 5.5cqw 6cqw; }
  .cv-top { font-size: 9px; letter-spacing: .14em; }
  .cv-issue { font-size: 13px; }
  .cv-mast { margin-top: 4cqw; }
  .cv-mid { flex-direction: column; margin-top: 3cqw; }
  .cv-art { position: relative; inset: auto; order: -1; height: 80cqw; margin: -2cqw -6cqw 2cqw; }
  .cv-lines { width: 100%; display: grid; grid-template-columns: 1fr 1fr; column-gap: 5cqw; }
  .cv-lines span { font-size: 15px; }
  .cv-seal { width: 26cqw; top: 2cqw; right: 0; }
  .cv-seal b { font-size: 6.4cqw; }
  .cv-seal span { font-size: 9px; }
  .cv-head { font-size: 13.5cqw; margin-top: 2cqw; }
  .cv-foot { grid-template-columns: 1fr; grid-template-areas: "story" "join"; margin-top: 4cqw; }
  .cv-out { width: 100%; min-width: 0; justify-content: flex-start; }
  .cv-out > span:first-child { width: 100%; }
  .cv-out .cv-links { gap: 6px 16px; }
}

/* Dark (the theme menu or the device setting): the usual navy site background; the inside pages get a fine edge so the sheet still reads as paper */
:root[data-theme="dark"] .cv-sheet.is-inside { box-shadow: 0 0 0 1px var(--rule), 0 40px 80px -40px rgba(0, 0, 0, .6); }
:root[data-theme="dark"] .cv-enter { background: var(--accent); color: #0a2341; } :root[data-theme="dark"] .cv-enter:hover { background: #9cc7f2; }
@media (prefers-color-scheme: dark) {
  :root[data-theme="auto"] .cv-sheet.is-inside { box-shadow: 0 0 0 1px var(--rule), 0 40px 80px -40px rgba(0, 0, 0, .6); }
  :root[data-theme="auto"] .cv-enter { background: var(--accent); color: #0a2341; } :root[data-theme="auto"] .cv-enter:hover { background: #9cc7f2; }
}

/* The cover's Contact page (?page=contact): the same form as /contact/, set like the inside pages. */
.cv-ct { margin-top: 4cqw; max-width: 760px; }
.cv-ct-grid { display: grid; grid-template-columns: 1fr 1fr; gap: max(12px, 1.6cqw) max(14px, 2cqw); }
.cv-ct-f { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.cv-ct-f.is-wide { grid-column: 1 / -1; }
.cv-ct-f span { font-family: "JetBrains Mono", monospace; font-size: max(10px, 1.1cqw); letter-spacing: .2em; text-transform: uppercase; color: var(--muted); }
.cv-ct-f input, .cv-ct-f textarea { width: 100%; box-sizing: border-box; padding: 10px 12px; border: 1px solid var(--mt-rule); border-radius: 0; background: transparent; color: var(--ink); font: inherit; font-size: 16px; }
.cv-ct-f textarea { resize: vertical; min-height: 140px; line-height: 1.5; }
.cv-ct-f input:focus-visible, .cv-ct-f textarea:focus-visible { outline: 2px solid var(--ink); outline-offset: 1px; }
.cv-ct-all { margin: 1.6cqw 0 0; font-size: max(13px, 1.4cqw); color: var(--muted); }
.cv-ct-human { margin-top: 2cqw; }
.cv-ct-note { margin: 2cqw 0 0; font-size: max(13px, 1.4cqw); color: var(--muted); }
.cv-ct-note a { color: inherit; }
.cv-ct-send { margin-top: 2.4cqw; height: 48px; padding: 0 24px; border: 1px solid var(--ink); border-radius: 0; background: var(--ink); color: var(--bg); font: inherit; font-size: 16px; font-weight: 700; cursor: pointer; }
.cv-ct-send:hover { opacity: .88; }
.cv-ct-send:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.cv-ct-ok { margin-top: 4cqw; padding: 1.6cqw 2cqw; border-left: 3px solid var(--ink); background: color-mix(in srgb, var(--ink) 4%, transparent); font-size: max(15px, 1.7cqw); line-height: 1.5; }
.cv-ct-ok a { color: inherit; }
.cv-ct-addr { margin: 4cqw 0 0; font-size: max(13px, 1.4cqw); line-height: 1.6; color: var(--body, var(--ink)); }
.cv-ct-addr span { display: block; font-family: "JetBrains Mono", monospace; font-size: max(10px, 1.1cqw); letter-spacing: .2em; text-transform: uppercase; color: var(--muted); }
.cv-ct-addr address, .cv-ct-addr br { font-style: normal; }
@media (max-width: 640px) { .cv-ct-grid { grid-template-columns: 1fr; } }
