:root{color-scheme:light;--bg: #fbfaf8;--panel: #ffffff;--panel-2: #f4f1ed;--text: #1f1c19;--muted: #716a63;--line: #e4ddd4;--accent: #1f6feb;--accent-2: #7c3aed;--danger: #c2410c;--success: #15803d;--header-bg: rgba(251, 250, 248, .86);--brand-bg: #ffffff;--placeholder-bg: radial-gradient(circle at 18% 18%, rgba(31, 111, 235, .22), transparent 30%), radial-gradient(circle at 82% 24%, rgba(124, 58, 237, .18), transparent 28%), linear-gradient(135deg, #f8fafc, #ece7df);--credit-bg: rgba(31, 28, 25, .72);--credit-text: #ffffff;--lightbox-bg: rgba(16, 17, 18, .9);--duration-fast: .14s;--duration-medium: .22s;--ease-ui: cubic-bezier(.215, .61, .355, 1);--ease-move: cubic-bezier(.645, .045, .355, 1);--max: 1180px;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}[data-theme=dark]{color-scheme:dark;--bg: #101112;--panel: #17191c;--panel-2: #202329;--text: #f2eee8;--muted: #b8aea4;--line: #333840;--accent: #7db4ff;--accent-2: #c4a4ff;--danger: #ff9b73;--success: #86efac;--header-bg: rgba(16, 17, 18, .88);--brand-bg: #17191c;--placeholder-bg: radial-gradient(circle at 18% 18%, rgba(125, 180, 255, .2), transparent 30%), radial-gradient(circle at 82% 24%, rgba(196, 164, 255, .18), transparent 28%), linear-gradient(135deg, #181b20, #26201d);--credit-bg: rgba(0, 0, 0, .68);--credit-text: #ffffff;--lightbox-bg: rgba(0, 0, 0, .88)}*{box-sizing:border-box}html{background:var(--bg);transition:background-color var(--duration-medium) ease}body{margin:0;color:var(--text);background:var(--bg);line-height:1.65;transition:background-color var(--duration-medium) ease,color var(--duration-medium) ease}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.site-header,.site-footer,main{width:min(var(--max),calc(100% - 32px));margin-inline:auto}.site-header{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);background:var(--header-bg);transition:background-color var(--duration-medium) ease,border-color var(--duration-medium) ease}.brand,.site-header nav{display:flex;align-items:center;gap:12px}.brand{font-weight:800;transition:color var(--duration-fast) ease}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;overflow:hidden;border:1px solid var(--line);background:var(--brand-bg);transition:background-color var(--duration-medium) ease,border-color var(--duration-medium) ease,transform var(--duration-fast) var(--ease-ui)}.brand:hover .brand-mark{transform:translateY(-1px)}.brand-mark img{width:100%;height:100%}.site-header nav{flex-wrap:wrap;justify-content:flex-end;color:var(--muted);font-size:.95rem}.theme-toggle{width:38px;height:38px;display:inline-grid;flex:0 0 auto;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);cursor:pointer;transition:background-color var(--duration-medium) ease,border-color var(--duration-fast) ease,color var(--duration-fast) ease,transform var(--duration-fast) var(--ease-ui)}.theme-toggle:hover,.theme-toggle:focus-visible{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.theme-toggle svg{grid-area:1 / 1;width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;transition:opacity var(--duration-fast) ease,transform var(--duration-medium) var(--ease-ui)}.theme-toggle-moon,[data-theme=dark] .theme-toggle-sun{display:none}[data-theme=dark] .theme-toggle-moon{display:block}.site-header nav a{transition:color var(--duration-fast) ease}.site-header nav a:hover,.section-heading a:hover,.back-link:hover{color:var(--accent)}main{padding-block:34px 72px}.publication-hero,.hero{min-height:320px;display:grid;align-items:center;gap:28px;padding-block:42px}.publication-hero{grid-template-columns:116px minmax(0,1fr)}.hero{grid-template-columns:116px minmax(0,1fr) 190px}.publication-logo{width:116px;height:116px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--panel);transition:background-color var(--duration-medium) ease,border-color var(--duration-medium) ease,transform var(--duration-medium) var(--ease-ui)}.publication-logo img{width:100%;height:100%;object-fit:cover}.eyebrow{margin:0 0 10px;color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2,h3{margin:0;line-height:1.12}.hero h1{max-width:820px;font-size:clamp(2.45rem,6vw,5.2rem)}.publication-hero h1{max-width:760px;font-size:clamp(2.1rem,5vw,4.25rem)}.lede,.page-head p,.featured p,.post-row p{color:var(--muted)}.lede{max-width:720px;font-size:1.18rem}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.hero-actions a{display:inline-flex;align-items:center;gap:8px;min-height:38px;border:1px solid var(--line);border-radius:8px;padding:7px 12px;background:var(--panel);color:var(--text);font-weight:700;font-size:.94rem;transition:background-color var(--duration-medium) ease,border-color var(--duration-fast) ease,color var(--duration-fast) ease,transform var(--duration-fast) var(--ease-ui)}.hero-actions a:hover{border-color:var(--text);transform:translateY(-1px)}.hero-actions a:active{transform:translateY(0)}.hero-actions svg,.link-list svg,.footer-links svg{width:1rem;height:1rem;flex:0 0 auto;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.hero-panel,.stats div{min-height:118px;border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:18px}.hero-panel strong,.stats strong{display:block;font-size:2.8rem;line-height:1;color:var(--text)}.hero-panel span,.stats span{color:var(--muted)}.featured{border-block:1px solid var(--line);padding-block:24px}.feature-link{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1fr);gap:28px;align-items:center}.feature-link img,.feature-cover{transition:transform var(--duration-medium) var(--ease-ui),opacity var(--duration-medium) ease}.feature-link:hover img,.feature-link:hover .feature-cover{transform:translateY(-2px)}.feature-link img,.feature-cover,.cover{width:100%;border-radius:8px;aspect-ratio:16 / 9;object-fit:cover;background:var(--panel)}.unsplash-cover{position:relative;overflow:hidden;border-radius:8px;background:var(--placeholder-bg)}.unsplash-cover img{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity var(--duration-medium) ease}.unsplash-cover.is-loaded img{opacity:1}.unsplash-cover.is-placeholder:after{content:"Cover image";position:absolute;right:14px;bottom:12px;color:var(--muted);font-size:.76rem;font-weight:800;text-transform:uppercase}.unsplash-cover figcaption{position:absolute;right:10px;bottom:10px;border-radius:6px;padding:3px 7px;background:var(--credit-bg);color:var(--credit-text);font-size:.72rem;line-height:1.3}.unsplash-cover figcaption a{color:inherit;text-decoration:underline;text-underline-offset:2px}.feature-link h2{font-size:clamp(1.9rem,4vw,3.6rem)}.magazine-block{margin-top:28px}.magazine-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--panel)}.magazine-grid.lead,.magazine-grid.archive{grid-template-columns:repeat(3,minmax(0,1fr))}.post-card{min-width:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.post-card:nth-child(2n){border-right:0}.magazine-grid.lead .post-card:nth-child(2n),.magazine-grid.archive .post-card:nth-child(2n){border-right:1px solid var(--line)}.magazine-grid.lead .post-card:nth-child(3n),.magazine-grid.archive .post-card:nth-child(3n){border-right:0}.post-card a{display:flex;min-height:100%;flex-direction:column;background:var(--panel);transition:background-color var(--duration-medium) ease,transform var(--duration-medium) var(--ease-ui)}.post-card a:hover{background:var(--panel-2);transform:translateY(-2px)}.post-card a:active{transform:translateY(-1px)}.card-cover{width:calc(100% - 28px);margin:14px 14px 0;aspect-ratio:800 / 420;border-radius:8px;object-fit:cover;background:var(--panel-2);transition:transform var(--duration-medium) var(--ease-ui),opacity var(--duration-medium) ease}.post-card a:hover .card-cover{transform:scale(1.015)}.card-body{display:flex;min-height:212px;flex:1;flex-direction:column;gap:10px;padding:16px}.card-body h2,.card-body h3{font-size:1.08rem;line-height:1.25}.card-body p{display:-webkit-box;margin:0;overflow:hidden;color:var(--muted);font-size:.92rem;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:3}.card-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;color:var(--muted);font-size:.85rem}.card-meta span+span:before{content:"·";margin-right:8px}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:44px;margin-top:40px}.section-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}.section-heading a,.back-link{color:var(--muted);font-weight:700;transition:color var(--duration-fast) ease}.post-list,.archive-list{display:grid;gap:12px}.post-row a{display:block;border:1px solid var(--line);border-radius:8px;padding:20px;background:var(--panel);transition:background-color var(--duration-medium) ease,border-color var(--duration-fast) ease,transform var(--duration-medium) var(--ease-ui)}.post-row a:hover{border-color:#33d6a6a6;background:var(--panel);transform:translateY(-2px)}.post-row span,.meta{color:var(--muted);font-size:.9rem}.post-row h2,.post-row h3{margin-top:6px;font-size:1.3rem}.post-row p{margin:8px 0 0}.sidebar{align-self:start;position:sticky;top:20px}.side-section+.side-section{margin-top:28px}.side-section h2{margin-bottom:12px}.link-list,.footer-links{display:flex;flex-wrap:wrap;gap:10px}.link-list a,.footer-links a{display:inline-flex;align-items:center;gap:8px;min-height:34px;border:1px solid var(--line);border-radius:8px;padding:6px 10px;background:var(--panel);color:var(--text);font-size:.92rem;transition:background-color var(--duration-medium) ease,border-color var(--duration-fast) ease,color var(--duration-fast) ease,transform var(--duration-fast) var(--ease-ui)}.link-list a:hover,.footer-links a:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.tag-cloud{display:flex;flex-wrap:wrap;gap:10px}.tag-cloud a{display:inline-flex;align-items:center;gap:8px;min-height:34px;border:1px solid var(--line);border-radius:8px;padding:6px 10px;background:var(--panel);color:var(--text);font-size:.92rem;transition:background-color var(--duration-medium) ease,border-color var(--duration-fast) ease,color var(--duration-fast) ease,transform var(--duration-fast) var(--ease-ui)}.tag-cloud a:hover{border-color:var(--accent);transform:translateY(-1px)}.tag-cloud span{color:var(--accent-2)}.tag-cloud.large a{min-height:44px;padding-inline:14px}.tag-cloud.compact{margin-top:18px}.page-head,.article-header{max-width:760px;margin-bottom:30px}.page-head h1,.article-header h1{max-width:720px;font-size:clamp(1.9rem,3.6vw,3.1rem);line-height:1.16;font-weight:800}.article{max-width:920px;margin-inline:auto}.meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.cover{margin-bottom:34px}.prose{font-size:1.06rem}.prose>*{max-width:760px;margin-inline:auto}.prose h2,.prose h3{margin-top:2.1em}.prose a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:color var(--duration-fast) ease,text-decoration-color var(--duration-fast) ease}.prose img.lightbox-image{cursor:zoom-in;transition:opacity var(--duration-medium) ease,transform var(--duration-medium) var(--ease-ui)}.prose img.lightbox-image:hover{transform:scale(1.01)}.prose img.lightbox-image:focus-visible{outline:3px solid var(--accent);outline-offset:4px}body.has-lightbox{overflow:hidden}.image-lightbox{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px;background:var(--lightbox-bg);opacity:0;transition:opacity var(--duration-medium) ease}.image-lightbox[hidden]{display:none}.image-lightbox.is-open{opacity:1}.image-lightbox figure{width:min(1120px,100%);max-height:calc(100vh - 48px);display:grid;gap:12px;margin:0;justify-items:center}.image-lightbox img{max-width:100%;max-height:calc(100vh - 112px);border-radius:8px;object-fit:contain;box-shadow:0 24px 80px #0000006b;opacity:0;transform:scale(.985);transition:opacity var(--duration-medium) ease,transform var(--duration-medium) var(--ease-ui)}.image-lightbox.is-open img{opacity:1;transform:scale(1)}.image-lightbox figcaption{max-width:760px;color:#fff;font-size:.9rem;line-height:1.45;text-align:center;opacity:0;transform:translateY(4px);transition:opacity var(--duration-medium) ease,transform var(--duration-medium) var(--ease-ui)}.image-lightbox.is-open figcaption{opacity:1;transform:translateY(0)}.image-lightbox-close{position:fixed;top:18px;right:18px;width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.24);border-radius:8px;background:#0000006b;color:#fff;cursor:pointer;transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease,transform var(--duration-fast) var(--ease-ui)}.image-lightbox-close:hover,.image-lightbox-close:focus-visible{border-color:#fff;transform:translateY(-1px)}.image-lightbox-close svg{width:1.1rem;height:1.1rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.prose pre,.prose .code-block{max-width:920px}.prose pre{overflow-x:auto;border:1px solid var(--line);border-radius:8px;padding:18px}.prose .code-block{position:relative;margin-inline:auto}.prose .code-block pre{max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:8px;padding:46px 18px 18px}.copy-code-button{position:absolute;top:10px;right:10px;min-height:30px;border:1px solid var(--line);border-radius:6px;padding:4px 10px;background:var(--panel);color:var(--muted);font:inherit;font-size:.78rem;font-weight:800;line-height:1;cursor:pointer;transition:background-color var(--duration-medium) ease,border-color var(--duration-fast) ease,color var(--duration-fast) ease,transform var(--duration-fast) var(--ease-ui)}.copy-code-button:hover,.copy-code-button:focus-visible{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.copy-code-button.is-copied{border-color:var(--success);color:var(--success)}.copy-code-button.is-failed{border-color:var(--danger);color:var(--danger)}.prose code{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.92em}.prose :not(pre)>code{border:1px solid var(--line);border-radius:6px;padding:.12em .36em;background:var(--panel-2)}.prose blockquote{border-left:4px solid var(--accent);padding-left:18px;color:var(--muted)}.prose .embed-frame{max-width:920px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--panel)}.prose .embed-frame iframe{display:block;width:100%;min-height:520px;border:0}.prose table,.issue-table table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}.prose th,.prose td,.issue-table th,.issue-table td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:30px}.issue-table{margin-top:36px}.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:40px}.resource-grid>div{border:1px solid var(--line);border-radius:8px;padding:20px;background:var(--panel)}.resource-grid h2{margin-bottom:14px}.site-footer{border-top:1px solid var(--line);padding-block:34px;color:var(--muted);font-size:.92rem}.site-footer strong{display:block;margin-bottom:10px;color:var(--text)}.site-footer p{margin:0}.footer-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(180px,.8fr) minmax(220px,1fr);gap:28px}@media(max-width:760px){.site-header,.publication-hero,.hero,.feature-link,.content-grid,.stats,.footer-grid,.resource-grid{grid-template-columns:1fr}.site-header{align-items:flex-start;flex-direction:column;padding-block:16px}.site-header nav{justify-content:flex-start}.hero{padding-block:34px}.publication-hero{align-items:start;gap:18px}.publication-logo{width:88px;height:88px}.hero-panel{min-height:112px}.sidebar{position:static}.magazine-grid,.magazine-grid.lead,.magazine-grid.archive{grid-template-columns:1fr}.post-card,.post-card:nth-child(2n),.magazine-grid.lead .post-card:nth-child(2n),.magazine-grid.archive .post-card:nth-child(2n),.magazine-grid.lead .post-card:nth-child(3n),.magazine-grid.archive .post-card:nth-child(3n){border-right:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.brand:hover .brand-mark,.theme-toggle:hover,.theme-toggle:focus-visible,.hero-actions a:hover,.feature-link:hover img,.feature-link:hover .feature-cover,.post-card a:hover,.post-card a:hover .card-cover,.post-row a:hover,.link-list a:hover,.footer-links a:hover,.tag-cloud a:hover,.prose img.lightbox-image:hover,.copy-code-button:hover,.copy-code-button:focus-visible,.image-lightbox-close:hover,.image-lightbox-close:focus-visible{transform:none}}
