.palette-trigger[data-astro-cid-3ef6ksr2]{display:inline-flex;align-items:center;gap:.35rem;height:2rem;padding:0 .55rem;flex-shrink:0;background:none;border:1px solid var(--border);border-radius:6px;color:var(--muted);cursor:pointer;transition:color .15s ease,border-color .15s ease}.palette-trigger[data-astro-cid-3ef6ksr2]:hover{color:var(--text);border-color:var(--accent-dim)}.palette-kbd[data-astro-cid-3ef6ksr2]{font-family:var(--mono);font-size:.68rem;color:inherit}@media(max-width:520px){.palette-kbd[data-astro-cid-3ef6ksr2]{display:none}}.command-palette[data-astro-cid-3ef6ksr2]{position:fixed;inset:0;z-index:100;display:none;align-items:flex-start;justify-content:center;padding:10vh 1rem 1rem}.command-palette[data-astro-cid-3ef6ksr2]:not([hidden]){display:flex}.command-palette-backdrop[data-astro-cid-3ef6ksr2]{position:absolute;inset:0;background:color-mix(in srgb,black 55%,transparent)}.command-palette-panel[data-astro-cid-3ef6ksr2]{position:relative;width:100%;max-width:560px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 12px 40px #00000059;padding:.75rem}.command-palette-input[data-astro-cid-3ef6ksr2]{width:100%;padding:.65rem .8rem;font-size:1rem;font-family:var(--sans);color:var(--text);background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius)}.command-palette-input[data-astro-cid-3ef6ksr2]:focus{border-color:var(--accent-dim)}.command-palette-results[data-astro-cid-3ef6ksr2]{list-style:none;margin:.6rem 0 0;padding:0;max-height:45vh;overflow-y:auto}.command-palette-results[data-astro-cid-3ef6ksr2] a{display:flex;flex-direction:column;gap:.1rem;padding:.55rem .6rem;border-radius:6px;color:var(--text)}.command-palette-results[data-astro-cid-3ef6ksr2] .command-palette-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.command-palette-results[data-astro-cid-3ef6ksr2] .command-palette-title{min-width:0}.command-palette-results[data-astro-cid-3ef6ksr2] .command-palette-desc{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-palette-results[data-astro-cid-3ef6ksr2] mark.command-palette-match{background:transparent;color:var(--accent);font-weight:600}.command-palette-results[data-astro-cid-3ef6ksr2] a:hover,.command-palette-results[data-astro-cid-3ef6ksr2] li.is-active a{background:var(--bg-soft);text-decoration:none}.command-palette-results[data-astro-cid-3ef6ksr2] a:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.command-palette-results[data-astro-cid-3ef6ksr2] .command-palette-kind{flex-shrink:0;text-transform:uppercase;letter-spacing:.04em}.command-palette-hint[data-astro-cid-3ef6ksr2]{margin:.6rem .15rem .1rem}:root{color-scheme:dark;--bg: #0c0e13;--bg-soft: #12151d;--surface: #161a24;--border: #232838;--text: #e7eaf2;--muted: #98a1b6;--accent: #6df3c4;--accent-dim: #2f6f5d;--accent-2: #8ab4ff;--accent-2-dim: #2c3c66;--on-accent: #04150f;--maxw: 720px;--radius: 10px;--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, system-ui, sans-serif;--step-0: 1rem;--step-1: clamp(1.05rem, .95rem + .445vw, 1.15rem);--step-2: clamp(1.3rem, 1.1rem + .89vw, 1.5rem);--step-3: clamp(1.7rem, 1.4rem + 1.334vw, 2rem);--step-4: clamp(2rem, 1.4rem + 2.667vw, 2.6rem)}[data-theme=light]{color-scheme:light;--bg: #f6f7fa;--bg-soft: #eceef4;--surface: #ffffff;--border: #d8dce6;--text: #1b2130;--muted: #5b6478;--accent: #0b6b4f;--accent-dim: #7cc4aa;--accent-2: #2f5ec4;--accent-2-dim: #a9bfe6;--on-accent: #ffffff}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){color-scheme:light;--bg: #f6f7fa;--bg-soft: #eceef4;--surface: #ffffff;--border: #d8dce6;--text: #1b2130;--muted: #5b6478;--accent: #0b6b4f;--accent-dim: #7cc4aa;--accent-2: #2f5ec4;--accent-2-dim: #a9bfe6;--on-accent: #ffffff}}*{box-sizing:border-box}[hidden]{display:none!important}html{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;scroll-behavior:smooth}body{margin:0}::selection{background:var(--accent-dim);color:var(--text)}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 1.25rem}.wrap-wide{max-width:1360px}a{color:var(--accent-2);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.skip-link{position:absolute;left:0;top:-3rem;z-index:100;background:var(--accent);color:var(--on-accent);font-weight:650;padding:.5rem 1rem;border-radius:0 0 var(--radius) 0;transition:top .15s ease}.skip-link:focus{top:0}h1,h2,h3{line-height:1.2;font-weight:650;letter-spacing:-.01em;text-wrap:balance}h1{font-size:var(--step-3);margin:0 0 .5rem}h2{font-size:var(--step-2);margin:2.75rem 0 .75rem}h3{font-size:var(--step-1);margin:1.5rem 0 .4rem}p{margin:0 0 1rem}hr{border:none;border-top:1px solid var(--border);margin:2.5rem 0}code{font-family:var(--mono);font-size:.9em;background:var(--bg-soft);padding:.1em .35em;border-radius:5px}pre{background:var(--bg-soft)!important;padding:1rem;border-radius:var(--radius);overflow-x:auto;border:1px solid var(--border)}pre code{background:none;padding:0}[data-theme=light] .astro-code,[data-theme=light] .astro-code span{color:var(--shiki-light)!important;font-style:var(--shiki-light-font-style)!important;font-weight:var(--shiki-light-font-weight)!important;text-decoration:var(--shiki-light-text-decoration)!important}@media(prefers-color-scheme:light){html:not([data-theme=dark]) .astro-code,html:not([data-theme=dark]) .astro-code span{color:var(--shiki-light)!important;font-style:var(--shiki-light-font-style)!important;font-weight:var(--shiki-light-font-weight)!important;text-decoration:var(--shiki-light-text-decoration)!important}}blockquote{margin:1rem 0;padding:.45rem 0 .45rem 1rem;border-left:3px solid var(--accent-dim);color:var(--muted);font-size:1.05em}.muted{color:var(--muted)}.mono{font-family:var(--mono)}.small{font-size:.85rem}.skew{display:inline-block;transform:skew(-12deg)}.skew>*{display:inline-block;transform:skew(12deg)}.tag{display:inline-block;font-family:var(--mono);font-size:.72rem;text-transform:lowercase;color:var(--muted);background:var(--bg-soft);border:1px solid var(--border);padding:.1rem .5rem;border-radius:4px;margin:0 .3rem .3rem 0}a.tag:before{content:"#";opacity:.55}a.tag:hover{color:var(--text);text-decoration:none}a.tag:hover,a.card:hover,.progress-toggle:hover,.theme-toggle:hover{border-color:var(--accent-dim)}.card:has(.card-link):hover{border-color:var(--accent-dim)}.badge{font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;padding:.12rem .5rem;border-radius:4px}.badge.live{color:var(--accent);border:1px solid var(--accent-dim)}.badge.building{color:var(--accent-2);border:1px solid var(--accent-2-dim)}.badge.planned{color:var(--muted);border:1px solid var(--border)}.badge.withdrawn{color:var(--muted);border:1px dashed var(--border)}.badge.live:before,.badge.building:before,.badge.planned:before,.badge.withdrawn:before{content:"";display:inline-block;box-sizing:border-box;width:.55em;height:.55em;border-radius:50%;margin-right:.45em;vertical-align:.05em}.badge.live:before{background:currentColor}.badge.building:before{border:1px solid currentColor;background:linear-gradient(90deg,currentColor 0 50%,transparent 50%)}.badge.planned:before{border:1px solid currentColor}.badge.withdrawn:before{border:1px dashed currentColor}.site-header{border-bottom:1px solid var(--border);padding:.5rem 0;position:sticky;top:0;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(8px);z-index:10}.site-header .wrap{display:flex;align-items:center;gap:1.25rem}.brand{font-weight:700;letter-spacing:-.02em;color:var(--text);font-size:1.05rem;padding-block:.6rem;flex-shrink:0;white-space:nowrap}.brand .mark{background:var(--accent);color:var(--on-accent);padding:.05rem .45rem;border-radius:4px;margin-right:.1rem;font-family:var(--mono)}.nav{margin-left:auto;min-width:0;display:flex;gap:1.1rem;font-size:.92rem;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.nav::-webkit-scrollbar{display:none}.nav a{color:var(--muted);flex-shrink:0;white-space:nowrap;padding-block:.7rem}.nav a:hover,.nav a[aria-current=page]{color:var(--text);text-decoration:none}.nav a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:7px}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;flex-shrink:0;padding:0;background:none;border:1px solid transparent;border-radius:6px;color:var(--muted);cursor:pointer;transition:color .15s ease,border-color .15s ease}.theme-toggle:hover{color:var(--text)}.theme-toggle .tt-icon{display:none}html:not([data-theme]) .tt-auto{display:block}html[data-theme=dark] .tt-dark,html[data-theme=light] .tt-light{display:block}.site-footer{border-top:1px solid var(--border);margin-top:4rem;padding:2rem 0;color:var(--muted);font-size:.85rem}.site-footer .wrap{display:flex;flex-direction:column;gap:.9rem}.site-footer a{display:inline-block;padding-block:.7rem;margin-block:-.7rem}.footer-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem}.back-to-top{margin-left:auto}main{padding:2.5rem 0}.stack{display:flex;flex-direction:column;gap:1.1rem}.card{display:block;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.25rem;transition:border-color .15s ease,transform .15s ease}a.card:hover{text-decoration:none;transform:translateY(-1px)}.card:has(.card-link):hover{text-decoration:none;transform:translateY(-1px)}.card h3{margin:0 0 .25rem;color:var(--text)}.card:has(.card-link){position:relative}.card-link:after{content:"";position:absolute;inset:0}.card a:not(.card-link){position:relative;z-index:1}.card:focus-within{outline:2px solid var(--accent);outline-offset:2px}@supports selector(:has(*)){.card:focus-within:not(:focus-visible):not(:has(:focus-visible)){outline:none}.card:has(:focus-visible) :focus-visible{outline:none}}.card .row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.card-actions{display:flex;flex-wrap:wrap;gap:.3rem 1.1rem;margin:.75rem 0 0}.lede{font-size:var(--step-1);color:var(--muted)}.prose p,.lede{text-wrap:pretty}.hero{margin-bottom:1rem}.hero h1{font-size:var(--step-4);letter-spacing:-.03em}.cta-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.55rem 1.25rem;border-radius:var(--radius);background:var(--accent);border:1px solid var(--accent);color:var(--on-accent);font-weight:650;transition:background .15s ease,border-color .15s ease}.button:hover{background:color-mix(in srgb,var(--accent) 85%,white);border-color:color-mix(in srgb,var(--accent) 85%,white);text-decoration:none}.button-secondary{background:transparent;border-color:var(--border);color:var(--text);font-weight:600}.button-secondary:hover{background:var(--bg-soft);border-color:var(--accent-dim)}.eyebrow{font-size:.72rem;font-family:var(--mono);font-weight:600;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:2.5rem 0 0}.eyebrow+h2{margin-top:.3rem}.status-strip{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem 1.1rem;font-family:var(--mono);font-size:.82rem;font-variant-numeric:tabular-nums;margin:1.5rem 0}.status-strip .pair{display:inline-flex;align-items:baseline;gap:.45rem}.status-strip .k{color:var(--muted)}.status-strip .v{color:var(--accent)}.status-strip .updated{margin-left:auto;white-space:nowrap}.stat-band{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin:1.5rem 0}.stat-tile{display:flex;flex-direction:column;gap:.15rem;background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem 1rem}.stat-value{font-size:var(--step-2);font-family:var(--mono);font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}.stat-label{color:var(--muted);font-size:.82rem}.notfound-heading{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.notfound-mark{font-size:3.4rem;font-family:var(--mono);background:var(--accent);color:var(--on-accent);padding:.1rem 1.1rem;border-radius:var(--radius);line-height:1.2}@media(max-width:560px){.notfound-mark{font-size:2.4rem;padding:.05rem .8rem}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ships-pace{margin-top:.6rem}.ships-chart{margin:1.4rem 0 0;color:var(--accent)}.ships-chart svg{display:block;max-width:100%;height:auto}.ships-chart-table{margin-top:.6rem}.ships-chart-table summary{cursor:pointer}.ships-chart-table table{border-collapse:collapse;margin-top:.5rem}.ships-chart-table th,.ships-chart-table td{text-align:left;padding:.2rem .8rem .2rem 0;border-bottom:1px solid var(--border)}.timeline{position:relative;padding-left:1.6rem;margin-top:2rem}.timeline:before{content:"";position:absolute;left:.4rem;top:.5rem;bottom:.5rem;width:2px;background:var(--border);border-radius:999px}.timeline-month+.timeline-month{margin-top:2.25rem}.timeline-label{font-size:.78rem;font-family:var(--mono);font-weight:600;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:0 0 .85rem}.timeline-entry{position:relative}.timeline-entry:before{content:"";position:absolute;left:calc(-1.6rem + .4rem + 1px - 5px);top:1.35rem;width:10px;height:10px;border-radius:50%;background:var(--accent);border:2px solid var(--bg)}.surfaces{display:flex;flex-wrap:wrap;gap:.4rem}.topic-bars{display:flex;flex-direction:column;gap:.5rem;margin-top:1.2rem}.topic-bar-row{display:flex;align-items:center;gap:.7rem}.topic-bar-row a.tag{margin:0;flex-shrink:0;min-width:8ch}.topic-bar-track{flex:1;height:10px;background:var(--bg-soft);border:1px solid var(--border);border-radius:999px;overflow:hidden}.topic-bar-fill{height:100%;background:var(--accent);border-radius:999px}.topic-bar-count{flex-shrink:0;width:3ch;text-align:right}.prose{font-size:1.0625rem;line-height:1.7}.post-meta{color:var(--muted);font-family:var(--mono);font-size:.82rem;margin-bottom:1.5rem}.status-strip,.post-meta,.mono{font-variant-numeric:tabular-nums}.prose :is(h2,h3){scroll-margin-top:5rem}.heading-anchor:before{content:"#"}.heading-anchor{margin-left:.35em;font-weight:400;color:var(--muted);text-decoration:none;opacity:0;transition:opacity .15s ease}:is(h2,h3):hover>.heading-anchor,.heading-anchor:focus-visible{opacity:1}.heading-anchor:hover{opacity:1;color:var(--accent-2);text-decoration:none}.toc{margin:0 0 2rem;padding:.85rem 1.1rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-soft)}.toc-title{font-size:.72rem;font-family:var(--mono);font-weight:600;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:0 0 .6rem}.toc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.toc-item{font-size:.92rem;line-height:1.35}.toc-item a{color:var(--muted)}.toc-item a:hover{color:var(--text)}.toc-depth-3{padding-left:1.1rem;font-size:.86rem}.prose figure{margin:1.75rem 0}.prose figure img{display:block;height:auto;margin-inline:auto}.prose figcaption{margin-top:.65rem;color:var(--muted);font-size:.9rem;line-height:1.55}.prose hr{border:none;width:3.25rem;height:.4rem;margin:3rem auto;background:var(--accent-dim);transform:skew(-12deg)}.prose table{border-collapse:collapse;display:block;max-width:100%;overflow-x:auto;margin-block:1rem;font-size:.95em}.prose th,.prose td{border:1px solid var(--border);padding:.4rem .7rem;text-align:left}.prose th{background:var(--bg-soft);font-weight:650}.prose ul,.prose ol{padding-inline-start:1.4rem}.prose li{margin-block:.35rem}.prose li::marker{color:var(--accent-dim)}.breadcrumb{margin:0 0 1.5rem;font-family:var(--mono);font-size:.8rem}.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0}.breadcrumb li{display:flex;align-items:center;gap:.5rem}.breadcrumb li+li:before{content:"/";color:var(--muted);opacity:.5}.breadcrumb a{color:var(--muted)}.breadcrumb a:hover{color:var(--text);text-decoration:none}.breadcrumb [aria-current=page]{color:var(--text)}.related{margin:2.5rem 0 0;border-top:1px solid var(--border);padding-top:1.25rem}.related h2{font-size:.8rem;font-family:var(--mono);font-weight:600;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:0 0 .75rem}.related ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.related li{display:flex;align-items:baseline;gap:.6rem}.related-kind{font-family:var(--mono);font-size:.68rem;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:.05rem .5rem;text-transform:uppercase;letter-spacing:.04em}.pager{margin:2rem 0 0;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.pager a{display:flex;flex-direction:column;gap:.15rem;text-decoration:none}.pager a:hover span:last-child{text-decoration:underline}.pager .pager-next{margin-left:auto;text-align:right}.topic-filter{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.2rem 0 .4rem}.topic-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .7rem;border:1px solid var(--border);border-radius:999px;background:var(--bg-soft);color:var(--text);font:inherit;font-size:.85rem;cursor:pointer}.topic-chip:hover{border-color:var(--accent-dim)}.topic-chip.is-active{border-color:var(--accent);color:var(--accent)}.post-year-label{margin:1.4rem 0 .5rem}.post-row-desc{margin:.3rem 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}a.card.is-read h3:before{content:"✓ ";color:var(--accent)}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.15s}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}@view-transition{navigation:none}}@media screen{html[data-theme=dark][data-night-shift]{--bg: #07080d;--bg-soft: #0d0f16;--surface: #10131c;--border: #1d2231}}@media screen and (prefers-color-scheme:dark){html:not([data-theme])[data-night-shift]{--bg: #07080d;--bg-soft: #0d0f16;--surface: #10131c;--border: #1d2231}}.night-log{border:1px dashed var(--border);border-radius:var(--radius);padding:.85rem 1.1rem;font-family:var(--mono);font-size:.78rem;color:var(--muted)}.night-log-title{margin:0 0 .5rem;color:var(--accent-2);font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.night-log-line{margin:.15rem 0}.night-log-line:before{content:"▸ ";color:var(--accent-dim)}.star-line{display:flex;align-items:center;justify-content:flex-end;gap:.6rem}.star-glyph{background:none;border:none;padding:.4rem;font-size:1.05rem;line-height:1;color:var(--muted);opacity:.35;cursor:pointer;transition:opacity .2s ease,color .2s ease,text-shadow .2s ease}.star-glyph:hover,.star-glyph:focus-visible{opacity:.8}.star-glyph.is-lit{color:var(--accent);opacity:1;text-shadow:0 0 10px color-mix(in srgb,var(--accent) 60%,transparent)}.constellation-map{margin:1.5rem 0}.constellation-map svg{display:block;max-width:100%;height:auto}.constellation-map .constellation-line{stroke:var(--border);stroke-dasharray:4 5}.constellation-map .star-node{fill:var(--border);transition:fill .3s ease}.constellation-map .star-node.is-lit{fill:var(--accent);filter:drop-shadow(0 0 6px color-mix(in srgb,var(--accent) 70%,transparent))}.constellation-map .star-letter{fill:var(--text);font-family:var(--mono);font-size:15px;opacity:0;transition:opacity .3s ease}.constellation-map .star-letter.is-lit{opacity:1}.constellation-word{font-family:var(--mono);font-size:var(--step-2);font-weight:700;letter-spacing:.35em;color:var(--accent)}body.page-shear{transform:skew(-8deg);transition:transform .45s cubic-bezier(.22,1,.36,1)}html:has(body.page-shear){overflow-x:hidden}.retro-trail{position:fixed;z-index:90;width:12px;height:8px;margin:-4px 0 0 -6px;background:var(--accent);transform:skew(-12deg);pointer-events:none;animation:retro-trail-fade .65s ease-out forwards}@keyframes retro-trail-fade{to{opacity:0;transform:skew(-12deg) translateY(14px) scale(.3)}}html[data-retro] body:before{content:"";position:fixed;inset:0;z-index:200;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 2px,rgba(0,0,0,.06) 2px 3px)}.retro-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem;border:1px solid var(--accent-dim);border-radius:var(--radius);padding:.7rem 1rem;font-family:var(--mono);font-size:.75rem}.retro-counter b{display:inline-block;min-width:1.15em;margin-left:2px;padding:.1em .15em;border:1px solid var(--accent-dim);border-radius:3px;background:#04150f;color:#6df3c4;font-weight:700;text-align:center}.retro-counter b:first-of-type{margin-left:.45em}.retro-eject{padding:.25rem .6rem;background:none;border:1px solid var(--border);border-radius:4px;color:var(--muted);font:inherit;cursor:pointer}.retro-eject:hover{color:var(--text);border-color:var(--accent-dim)}.pong-court{margin-top:.75rem}.pong-canvas{display:block;width:100%;max-width:520px;aspect-ratio:520 / 300;height:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-soft);touch-action:none;cursor:pointer}.lapidarivm-form{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.5rem 0}.lapidarivm-input{padding:.55rem .8rem;font-family:var(--mono);font-size:1rem;letter-spacing:.2em;color:var(--text);background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius)}.lapidarivm-input:focus{border-color:var(--accent-dim)}.lapidarivm-input.is-wrong{border-color:var(--accent-2);animation:lapidarivm-shake .3s ease}@keyframes lapidarivm-shake{25%{translate:-6px 0}75%{translate:6px 0}}@media print{:root{--bg: #fff;--bg-soft: #fff;--surface: #fff;--border: #999;--text: #000;--muted: #444;--accent: #000;--accent-dim: #767676;--accent-2: #000}@page{margin:2cm}.site-header,.site-footer,.skip-link,.breadcrumb,.toc,.pager,.night-log,.retro-strip,.star-line,.related{display:none!important}html{font-size:11pt}main{padding:0}a{color:#000;text-decoration:underline}.prose a[href^=http]:after{content:" (" attr(href) ")";font-size:.85em;color:#444;word-break:break-all}pre span{color:#000!important}pre{white-space:pre-wrap}h2,h3{break-after:avoid}pre,blockquote,.card{break-inside:avoid}}
