:root{--background:#ffffff;--foreground:#172b48;--card:#ffffff;--primary:#2463eb;--primary-foreground:#ffffff;--muted:#edf2fa;--muted-foreground:#5c6e86;--accent:#e3efff;--border:#e1e7ef;--input:#ccd9eb;--ring:#246bfe;--blog-font:"Geist Variable","Pretendard Variable",-apple-system,BlinkMacSystemFont,sans-serif}.dark{--background:#0d1728;--foreground:#e4edfb;--card:#142239;--primary:#88b4ff;--primary-foreground:#102647;--muted:#1b2b43;--muted-foreground:#a5b5ce;--accent:#243f63;--border:#2a3d58;--input:#344c6c;--ring:#88b4ff;color-scheme:dark}.blog-site,body{background:var(--background);color:var(--foreground)}.blog-site{min-height:100vh;line-height:1.6}.blog-site a{text-decoration:none}.blog-nav{max-width:1320px;margin:auto;min-height:82px;gap:30px}.blog-nav,.brand{display:flex;align-items:center}.brand{gap:10px;font-size:24px;white-space:nowrap}.brand b{font-weight:350}.brand-mark{width:34px;height:34px;border-radius:10px;background:var(--primary);color:var(--primary-foreground);display:inline-flex;align-items:center;justify-content:center;font:italic 700 29px Georgia}.language-nav{gap:18px;margin-left:auto;font-size:12px;color:var(--muted-foreground)}.language-nav a[aria-current]{color:var(--primary);font-weight:700}.login-button{border:1px solid var(--border);border-radius:100px;padding:8px 13px;cursor:pointer;white-space:nowrap}.blog-intro{max-width:1260px;margin:auto;padding:76px 32px 38px}.eyebrow{font-size:11px;letter-spacing:3px;font-weight:600}.blog-intro h1{font-size:clamp(30px,3.7vw,50px);font-weight:650;letter-spacing:-2px;line-height:1.3;margin:18px 0}.blog-intro>p{font-size:15px;color:var(--muted-foreground);max-width:680px}.blog-search{margin-top:30px;border-bottom:1px solid var(--border);max-width:460px}.blog-search input{width:100%;background:transparent;padding:12px 0;outline:none;font-size:14px}.blog-search button{font-size:24px;width:40px}.blog-feed{max-width:1260px;margin:auto;padding:0 32px 60px}.topics{display:flex;gap:8px;overflow-x:auto;padding:14px 0 28px;scrollbar-width:thin}.topics>a{white-space:nowrap;font-size:12px;border:1px solid var(--border);border-radius:30px;padding:7px 12px;color:var(--muted-foreground);background:var(--card)}.topics>a[aria-current]{background:var(--primary);color:var(--card);border-color:var(--primary)}.topics small{margin-left:6px;opacity:.55}.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px}.story-card{min-width:0}.story-image{display:block;overflow:hidden}.story-card img,.story-image{aspect-ratio:16/9;border-radius:12px}.story-card img{width:100%;object-fit:cover;transition:transform .3s}.story-card a:hover img{transform:scale(1.025)}.story-text{padding:18px 2px}.story-meta{display:flex;justify-content:space-between;gap:10px;letter-spacing:.2px}.story-meta span{font-weight:600}.story-card h2{font-size:19px;line-height:1.55;letter-spacing:-.6px;font-weight:650;margin:9px 0}.story-card h2 a:hover{color:var(--primary)}.story-text p{line-height:1.8;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.image-placeholder{align-items:center;height:100%;font-size:28px;color:var(--muted-foreground)}.image-placeholder,.pagination{display:flex;justify-content:center}.pagination{gap:8px;margin:50px 0 15px;flex-wrap:wrap}.pagination a{font-size:12px;padding:8px 12px;border-radius:7px}.pagination a[aria-current]{background:var(--primary);color:var(--primary-foreground)}.blog-footer{max-width:1260px;padding:48px 32px;margin:auto;border-top:1px solid var(--border);gap:35px;align-items:flex-start;flex-wrap:wrap;color:var(--muted-foreground)}.blog-footer p{max-width:350px;font-size:12px;margin-top:10px}.blog-footer nav{flex-wrap:wrap;gap:18px}.blog-footer small{width:100%;font-size:11px}.editorial{max-width:1200px;margin:auto;padding:48px 32px}.article-header{max-width:920px;margin:0 auto 36px;text-align:left}.breadcrumbs{display:flex;gap:12px;font-size:12px;color:var(--muted-foreground);margin:8px 0 22px}.article-header h1{font-size:clamp(30px,3.6vw,48px);line-height:1.4;letter-spacing:-1.7px;font-weight:700;text-wrap:balance}.article-deck{font-size:16px;line-height:1.9}.article-byline,.article-deck{margin-top:24px;color:var(--muted-foreground)}.article-byline{display:flex;flex-wrap:wrap;gap:12px 20px;font-size:11px}.article-byline>a{color:var(--primary)}.article-cover{max-width:1060px;margin:36px auto 60px}.article-cover img{width:100%;aspect-ratio:16/9;object-fit:cover}.article-columns{display:grid;grid-template-columns:200px minmax(0,760px);gap:54px;justify-content:center}.article-toc{position:sticky;top:30px;align-self:start;font-size:11px;max-height:85vh;overflow:auto}.article-toc,.article-toc>b{color:var(--muted-foreground)}.article-toc>b{display:block;margin-bottom:16px}.article-toc li{margin-bottom:12px;border-left:1px solid var(--border);padding-left:14px}.article-main{min-width:0}.article-body{line-height:2;overflow-wrap:anywhere}.article-body p{margin:0 0 1.5em}.article-body h2{font-size:26px;font-weight:650;letter-spacing:-.7px;line-height:1.55;margin:2.8em 0 1em;scroll-margin-top:25px}.article-body h3{font-size:21px;font-weight:650;margin:2em 0 .8em}.article-body>h2:first-child{margin-top:0}.article-body ol,.article-body ul{padding-left:1.5em;margin:1em 0 1.7em;list-style:revert}.article-body li{margin:.5em 0}.article-body li::marker{color:var(--muted-foreground)}.article-body strong{font-weight:700}.article-body a{color:var(--primary);text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:3px}.article-body img{display:block;width:100%;height:auto;max-height:700px;object-fit:contain;border-radius:10px;margin:2em auto}.article-body blockquote{border-left:3px solid var(--primary);padding:10px 24px;margin:2em 0;font-size:16px}.article-body table{display:block;overflow-x:auto;border-collapse:collapse;font-size:13px;margin:24px 0;max-width:100%}.article-body td,.article-body th{padding:12px 16px;border:1px solid var(--border);text-align:left}.article-body th{background:var(--muted)}.citation-number{position:relative;top:-.4em;vertical-align:baseline;font-size:.72em;line-height:0;margin-inline:1px;white-space:nowrap}.article-body .citation-number a,.prose .citation-number a{padding:1px 3px;font-weight:600;color:var(--primary);text-decoration:none;border-radius:3px;scroll-margin-top:120px}.citation-number a:hover{background:var(--accent)}.citation-number a:target{background:var(--accent);outline:2px solid var(--primary);outline-offset:2px}.citation-references{margin-top:48px;padding-top:26px;border-top:1px solid var(--border)}.article-body .citation-references h2,.prose .citation-references h2{font-size:21px;margin:0 0 18px;font-weight:650;line-height:1.5}.article-body .citation-references ol,.prose .citation-references ol{list-style:decimal;padding-left:24px;margin:0}.article-body .citation-references li,.prose .citation-references li{position:relative;padding:10px 32px 10px 6px;margin:0;scroll-margin-top:96px;font-size:14px;line-height:1.65;border-radius:6px;overflow-wrap:anywhere}.citation-references li::marker{color:var(--muted-foreground);font-variant-numeric:tabular-nums}.citation-references li:target{background:var(--accent)}.article-body .citation-references a,.prose .citation-references a{color:var(--foreground);font-weight:500;text-decoration:none}.citation-references a:hover{text-decoration:underline}.citation-references small{display:block;font-size:12px;color:var(--muted-foreground);margin-top:3px}.citation-references .citation-back{position:absolute;right:4px;top:10px;min-width:28px;text-align:center;color:var(--muted-foreground)}.article-body :not(pre)>code{background:var(--muted);color:var(--primary);border-radius:4px;padding:2px 5px;font-size:.85em}.editorial-code{margin:28px 0;border:1px solid #2b415f;border-radius:12px;overflow:hidden;background:#101c2e;color:#e2edff;line-height:1.65}.editorial-code>div{display:flex;align-items:center;justify-content:space-between;background:#192b44;border-bottom:1px solid #2b415f;padding:9px 16px;font-size:11px;color:#a8bbd6}.editorial-code button{cursor:pointer;padding:2px 8px;border:1px solid #49617e;border-radius:5px}.editorial-code pre{margin:0;padding:20px;overflow:auto;font-size:13px;color:#e2edff;tab-size:2}.editorial-code code{background:none!important;color:inherit!important;white-space:pre;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.editorial-code .hljs-keyword,.editorial-code .hljs-selector-tag{color:#d8b8f2}.editorial-code .hljs-attr,.editorial-code .hljs-string{color:#a6d5a5}.editorial-code .hljs-literal,.editorial-code .hljs-number{color:#ebc68b}.editorial-code .hljs-comment{color:#97aac6}.editorial-code .hljs-function,.editorial-code .hljs-title{color:#9dd9e1}.editorial-note{margin:50px 0 20px;padding:20px;background:var(--muted);border-radius:10px;font-size:12px;color:var(--muted-foreground);line-height:1.9}.editorial-note a{color:var(--primary)}.article-tags{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;color:var(--muted-foreground)}.related-stories{max-width:1260px;margin:50px auto;padding:0 32px}.related-stories>h2{font-size:22px;font-weight:600;margin-bottom:25px}.related-stories .story-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.related-stories h3{font-size:15px;font-weight:600;margin-top:12px}.community{margin-top:40px;padding-top:30px;border-top:1px solid var(--border);font-size:13px}.community h2{font-size:22px;margin:25px 0}.like-button{gap:10px;border:1px solid var(--border);background:var(--card);padding:10px 18px;border-radius:30px;cursor:pointer}.like-button.liked{background:var(--primary);color:var(--primary-foreground)}.comment{padding:22px 0;border-bottom:1px solid var(--border)}.comment-meta{display:flex;gap:12px;font-size:11px;color:var(--muted-foreground)}.comment-meta b{color:var(--primary)}.comment p{white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0;line-height:1.9}.comment-actions{display:flex;gap:15px;color:var(--muted-foreground);font-size:11px}.comment ul{padding-left:24px}.community form{margin-top:25px}.community label{display:block;margin-bottom:12px;color:var(--muted-foreground)}.community textarea{width:100%;border:1px solid var(--border);border-radius:10px;padding:14px;outline-color:var(--primary);resize:vertical}.community form>div{display:flex;gap:15px;align-items:center;margin-top:10px}.primary-button{background:var(--primary);color:var(--primary-foreground);border-radius:8px;padding:10px 18px;cursor:pointer;font-size:12px}.primary-button:disabled{opacity:.5}.login-prompt{padding:24px;background:var(--card);border:1px solid var(--border);border-radius:12px;margin-top:20px}.login-prompt>p:first-child{margin:0 0 16px;color:var(--foreground);font-size:14px;line-height:1.7}.member-signin{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 16px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--foreground);font:500 14px/1.5 var(--blog-font);white-space:nowrap;cursor:pointer}.member-signin:hover{background:var(--muted);border-color:var(--input)}.member-signin:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.member-signin svg{flex:none;color:var(--muted-foreground)}.login-prompt .comment-identity-note{margin:16px 0 0}.login-prompt .login-legal-links{justify-content:flex-start;margin-top:12px}@media(max-width:600px){.login-prompt{padding:20px}}.form-error{color:#a53c34;margin:10px 0}.account{position:relative}.account-menu{position:absolute;right:0;top:45px;width:270px;padding:20px;border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 40px #203d2520;z-index:50;font-size:12px}.account-menu label,.account-menu small{display:block}.account-menu input{border:1px solid var(--border);padding:8px;margin:8px 0}.account-menu small{color:var(--muted-foreground);margin-bottom:15px}.account-menu button{margin-right:15px;cursor:pointer}.welcome{min-height:100vh;max-width:700px;margin:auto;padding:15vh 30px;color:var(--foreground)}.welcome h1{font-size:56px;letter-spacing:-2px;font-weight:650;margin:25px 0}.welcome h1 span{font-weight:300}.welcome p{line-height:1.9;color:var(--muted-foreground);margin:15px 0}.welcome nav{display:grid;gap:10px;margin:35px 0}.welcome nav>a{display:flex;justify-content:space-between;padding:14px 20px;background:var(--muted);border-radius:8px}.welcome>a{font-size:12px;color:var(--muted-foreground)}.skip-link{position:absolute;left:20px;top:-100px;z-index:100;background:var(--primary);color:var(--card);padding:12px}.skip-link:focus{top:10px}.legal-page{max-width:820px;margin:60px auto;padding:0 30px 70px}.legal-page h1{font-size:35px;margin-bottom:30px;font-weight:650}.legal-page h2{font-size:22px;margin:30px 0 15px}.legal-page li,.legal-page p{line-height:1.9;margin:12px 0;color:var(--muted-foreground)}.search-caption{margin-bottom:20px;font-size:13px}.empty-state,.search-caption{color:var(--muted-foreground)}.empty-state{padding:60px;text-align:center}@media(max-width:1000px){.article-columns{grid-template-columns:minmax(0,760px);gap:30px}.article-toc{position:static;max-height:none;background:var(--muted);padding:20px;border-radius:10px}.article-toc ol{column-count:2}.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.language-nav{gap:10px}.related-stories .story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.blog-nav{padding:16px;gap:12px;flex-wrap:wrap}.brand{font-size:22px}.language-nav{order:3;width:100%;margin-left:0;justify-content:space-between;border-top:1px solid var(--border);padding-top:12px}.blog-nav>.account,.blog-nav>.login-button{margin-left:auto}.blog-intro{padding:40px 20px 20px}.blog-intro h1{letter-spacing:-1px}.blog-feed{padding:0 20px 40px}.story-grid{grid-template-columns:1fr;gap:20px}.story-card h2{font-size:20px}.article-header h1{font-size:29px;letter-spacing:-1px}.editorial{padding:30px 20px}.article-deck{font-size:14px}.article-body{font-size:15px;line-height:2}.article-body h2{font-size:23px}.article-toc ol{column-count:1}.article-cover{margin:24px 0 32px}.article-byline{gap:8px;font-size:10px}.blog-footer{padding:32px 20px}.blog-footer nav{margin-left:0}.related-stories{padding:0 20px}.related-stories .story-grid{gap:22px 14px}.related-stories h3{font-size:13px}.editorial-code pre{padding:16px;font-size:12px}}.blog-site,.welcome{font-family:var(--blog-font)}.blog-site h1,.blog-site h2,.blog-site h3,.welcome h1{font-family:inherit}.editor-manager{padding:35px;max-width:1400px;margin:auto}.editor-manager nav{display:flex;gap:25px;margin-bottom:30px}.editor-manager h1{font-size:30px;margin-bottom:15px}.editor-manager>p{font-size:13px;color:var(--muted-foreground);margin-bottom:20px}.editor-grid{display:grid;grid-template-columns:320px 1fr;gap:35px}.editor-grid aside{max-height:80vh;overflow:auto}.editor-grid aside button{display:block;width:100%;text-align:left;padding:15px;border-bottom:1px solid var(--border);font-size:13px}.editor-grid small{display:block;font-size:10px;color:var(--muted-foreground)}.editor-grid label{display:block;font-size:13px;margin:16px 0}.editor-grid input,.editor-grid select,.editor-grid textarea{display:block;width:100%;padding:10px;border:1px solid var(--border);border-radius:6px;background:var(--card);margin:6px 0}.editor-grid ul{font-size:12px;color:#9a6032;margin:25px 0}@media(max-width:800px){.editor-grid{grid-template-columns:1fr}.editor-grid aside{max-height:250px}.editor-manager{padding:20px}}.blog-site{font-family:var(--blog-font);word-break:keep-all;overflow-wrap:break-word}.admin-gate :focus-visible,.blog-site :focus-visible{outline:2px solid var(--ring);outline-offset:4px}.blog-header{background:var(--card);border-bottom:1px solid var(--border)}.blog-nav{max-width:1200px;min-height:76px;padding:16px 28px;gap:44px}.brand{display:inline-flex;font-family:var(--blog-font);font-size:23px;font-weight:650;letter-spacing:-1px;gap:9px;color:var(--foreground)}.brand-mark{display:block;width:37px;height:30px;border-radius:0;background:none;color:var(--primary)}.brand-suffix{font-size:16px;font-weight:450;letter-spacing:-.3px;color:var(--muted-foreground);margin-left:9px;padding-left:9px;border-left:1px solid var(--border)}.blog-footer a:hover{color:var(--primary)}.nav-actions{display:flex;align-items:center;margin-left:auto}.language-picker{position:relative;font-size:12px}.language-picker summary{cursor:pointer;list-style:none;padding:8px;white-space:nowrap;color:var(--muted-foreground)}.language-picker summary::-webkit-details-marker{display:none}.language-nav{position:absolute;top:38px;right:0;z-index:60;display:flex;flex-direction:column;gap:0;width:145px;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:7px;box-shadow:0 12px 30px #152b4810}.language-nav a{padding:9px 10px;border-radius:5px}.language-nav a:hover{background:var(--muted)}.theme-switch{padding:8px;color:var(--muted-foreground);border-radius:7px;cursor:pointer}.theme-switch:hover{background:var(--muted)}.login-button{display:inline-flex;align-items:center;gap:7px;border-radius:7px;border-color:var(--border);background:var(--card);padding:8px 11px;font-weight:500;font-size:11px}.login-button>span{overflow:hidden;text-overflow:ellipsis;max-width:115px}.login-button:hover{background:var(--muted)}.write-link{display:inline-flex;align-items:center;gap:6px;border-radius:7px;background:var(--primary);color:var(--primary-foreground);padding:8px 11px;font-size:12px;white-space:nowrap}.account-menu{border-radius:10px;background:var(--card);box-shadow:0 12px 35px #152b4820}.account-menu input{border-radius:6px;background:var(--background)}.account-actions{display:flex;gap:15px}.account-admin{margin-top:15px;border-top:1px solid var(--border);padding-top:12px;gap:18px;color:var(--primary)}.blog-intro{max-width:1144px;display:block;padding:48px 0 40px;margin:0 auto;border-bottom:1px solid var(--border)}.eyebrow{display:flex;align-items:center;gap:9px;font-size:12px;line-height:1.5;letter-spacing:0;color:var(--muted-foreground)}.eyebrow>span{width:6px;height:6px;border-radius:50%;background:var(--primary)}.blog-intro h1{font-size:clamp(32px,3.5vw,45px);font-weight:680;line-height:1.35;letter-spacing:-1.6px;white-space:pre-line;margin:20px 0 19px;color:var(--foreground)}.intro-copy>p{max-width:560px;font-size:14px;line-height:1.9;color:var(--muted-foreground)}.blog-content{max-width:1144px;display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:58px;padding:38px 0 72px}.blog-feed{min-width:0;padding:0;width:100%}.feed-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px}.feed-toolbar>div{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.feed-toolbar h1{font-size:19px;font-weight:650;letter-spacing:-.6px}.feed-count{font-size:11px;white-space:nowrap}.blog-search,.feed-count{color:var(--muted-foreground)}.blog-search{display:flex;align-items:center;gap:8px;max-width:280px;width:45%;border:1px solid var(--border);border-radius:8px;background:var(--card);padding:0 10px;margin:0}.blog-search input{min-width:0;font-size:11px;padding:10px 0}.blog-search button{font-size:17px;width:20px}.blog-search:focus-within{border-color:var(--ring)}.topics{padding:23px 0 18px;gap:7px}.topics>a{font-size:11px;padding:6px 11px;border-radius:6px;background:transparent}.topics>a[aria-current]{background:var(--accent);border-color:var(--accent);color:var(--primary)}.story-list .story-card{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:26px;padding:28px 0;border-bottom:1px solid var(--border)}.story-list .story-text{padding:0}.story-meta{justify-content:flex-start;gap:12px;font-size:10px;letter-spacing:0;color:var(--muted-foreground)}.story-meta span{color:var(--primary);font-weight:550}.story-list h2{font-size:21px;font-weight:650;line-height:1.55;letter-spacing:-.6px;margin:10px 0}.story-list h2 a:hover{color:var(--primary)}.story-text p{font-size:12px;line-height:1.85;-webkit-line-clamp:2}.story-signature{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted-foreground);margin-top:13px}.story-signature>span{color:var(--primary)}.story-card img,.story-image{border-radius:9px}.story-image{background:var(--muted);border:1px solid var(--border)}.blog-aside{min-width:0;padding-top:4px}.section-kicker{display:block;font:500 9px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:1px;color:var(--muted-foreground)}.author-card{padding-bottom:28px;border-bottom:1px solid var(--border)}.author-card h2{display:flex;align-items:center;gap:8px;font-size:22px;letter-spacing:-.7px;font-weight:650;margin:0 0 5px}.author-dot{display:inline-block;width:5px;height:5px;background:var(--primary);border-radius:50%}.author-role{font-size:11px;color:var(--muted-foreground)}.author-card p{font-size:12px;line-height:1.85;margin:17px 0}.author-stack{display:flex;gap:5px;flex-wrap:wrap}.author-stack span{font-size:9px;padding:4px 6px;border-radius:4px;background:var(--muted);color:var(--muted-foreground)}.author-links{justify-content:space-between;margin-top:20px;font-size:11px}.author-links a{gap:4px;color:var(--muted-foreground)}.topic-index{margin:28px 0}.topic-index h2{font-size:12px;font-weight:600;margin-bottom:13px}.topic-index nav{max-height:330px;overflow:auto;scrollbar-width:thin;padding-right:5px}.topic-index a{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 0;font-size:11px;color:var(--muted-foreground)}.topic-index a:hover,.topic-index a[aria-current]{color:var(--primary)}.topic-index small{font-size:10px;font-variant-numeric:tabular-nums}.project-card{padding:20px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.project-card>a{display:inline-flex;gap:7px;font-size:16px;font-weight:600;letter-spacing:-.5px;margin:8px 0 4px;color:var(--muted-foreground)}.project-card>a:hover{color:var(--primary)}.project-card p{font-size:11px;line-height:1.8;margin:0}.project-card p,.rss-card{color:var(--muted-foreground)}.rss-card{display:flex;align-items:center;gap:10px;margin-top:25px}.rss-card span{flex:1}.rss-card b{display:block;font-size:11px;font-weight:500}.rss-card small{display:block;font-size:10px;margin-top:5px;line-height:1.7}.rss-card:hover{color:var(--primary)}.blog-footer{padding:36px 0;gap:25px}.blog-footer .brand{font-size:19px}.blog-footer p{font-size:11px;line-height:1.8;max-width:390px}.blog-footer nav{font-size:10px;gap:16px}.blog-footer small{font-size:10px}.article-header h1{font-weight:680}.article-body{font-size:16px;line-height:1.95}.article-body,.article-body h2,.article-body strong{color:var(--foreground)}.article-cover{max-width:960px}.article-cover img{border:1px solid var(--border)}.article-body blockquote{background:var(--muted)}.like-button.liked,.primary-button{color:var(--primary-foreground);background:var(--primary)}.community textarea{background:var(--card)}.legal-page .project-card{max-width:400px;margin-top:35px}.legal-page a{color:var(--primary)}.admin-gate{max-width:520px;margin:12vh auto;padding:32px;font-family:var(--blog-font)}.admin-gate h1{font-size:26px;font-weight:650;margin:40px 0 15px}.admin-gate p{font-size:14px;line-height:1.8;margin-bottom:25px}.admin-gate p,.back-link{color:var(--muted-foreground)}.back-link{display:block;margin-top:22px;font-size:13px}.private-workspace{background:var(--background)!important;color:var(--foreground)!important;font-family:var(--blog-font)}.private-workspace aside,.private-workspace>header{background:var(--card)!important;border-color:var(--border)!important}.private-workspace .bg-gray-900{background:var(--primary);color:var(--primary-foreground)}@media(max-width:1200px){.blog-content,.blog-footer,.blog-intro{margin-left:28px;margin-right:28px}.blog-content{gap:36px}.blog-nav{gap:26px}.story-list .story-card{grid-template-columns:minmax(0,1fr) 175px;gap:22px}}@media(max-width:960px){.blog-content{grid-template-columns:minmax(0,1fr) 210px;gap:28px}.blog-intro{grid-template-columns:1fr 185px;gap:35px}.story-list .story-card{grid-template-columns:minmax(0,1fr) 145px;gap:16px}.story-list h2{font-size:19px}.blog-nav{gap:22px}.nav-actions{gap:5px}.blog-search{max-width:190px}.blog-search input::placeholder{font-size:10px}}@media(max-width:760px){.blog-nav{padding:14px 20px;min-height:68px;gap:20px;flex-wrap:wrap}.nav-actions{width:100%;border-top:1px solid var(--border);padding-top:9px;justify-content:flex-end}.language-nav{order:0;gap:0;margin:0;border:1px solid var(--border);padding:7px;justify-content:normal}.blog-intro{grid-template-columns:1fr;padding:38px 0 30px;margin:0 20px}.blog-intro h1{font-size:35px;margin:18px 0}.intro-copy>p{font-size:13px;max-width:450px}.blog-content{grid-template-columns:1fr;margin:0 20px;padding:28px 0 45px;gap:38px}.blog-aside{display:grid;grid-template-columns:1fr 1fr;column-gap:28px}.author-card{grid-row:span 2}.topic-index{display:none}.project-card{padding-top:0;border-top:0}.rss-card{margin-top:20px}.blog-footer{margin:0 20px;padding:30px 0}.story-list .story-card{grid-template-columns:minmax(0,1fr) 170px;gap:24px}.story-list h2{font-size:19px}.feed-toolbar h1{font-size:18px}.blog-search{width:46%;max-width:230px}.blog-feed{padding:0}.blog-footer nav{margin-left:0}.brand{font-size:23px}.brand-mark{width:34px}.brand-suffix{font-size:15px}.blog-nav>.account{margin-left:0}}@media(max-width:480px){.story-list .story-card{grid-template-columns:minmax(0,1fr) 110px;gap:15px;padding:24px 0}.story-list h2{font-size:17px;letter-spacing:-.4px}.story-text p{font-size:11px}.story-meta{font-size:9px;gap:8px;flex-wrap:wrap}.story-signature{font-size:9px;margin-top:10px}.feed-toolbar{gap:10px}.feed-toolbar>div{gap:4px}.feed-count{font-size:10px}.blog-search{max-width:175px}.blog-search input{font-size:10px}.story-image{align-self:center}.blog-aside{grid-template-columns:1fr}.author-card{padding-bottom:24px}.project-card{padding:23px 0;border-bottom:0}.rss-card{padding-top:20px;border-top:1px solid var(--border)}.blog-intro h1{font-size:33px}.blog-nav{gap:12px}.login-button>span{max-width:100px}.blog-footer .brand{font-size:20px}.blog-footer nav{line-height:2}.account-menu{width:min(270px,calc(100vw - 40px))}.article-header h1{font-size:28px}.editorial{padding:28px 20px}.article-body{font-size:15px}.topics{padding-top:18px}}@media(prefers-reduced-motion:reduce){.story-card img{transition:none}}.story-text p{font-size:13px}.story-meta{font-size:11px}.author-card p{font-size:13px}.author-role{font-size:12px}.author-stack span{font-size:10px}.blog-search input,.login-button,.project-card p,.topic-index a{font-size:12px}.article-body p{max-width:100%}@media(max-width:760px){.language-picker summary,.nav-actions .theme-switch{min-height:40px;min-width:40px;display:flex;align-items:center;justify-content:center}.nav-actions .login-button,.write-link{min-height:40px}.topics>a{min-height:36px;display:flex;align-items:center}.pagination a{min-width:40px;text-align:center}.comment-actions button,.pagination a{min-height:40px}.article-toc a{display:block;padding:4px 0}.blog-search{min-height:40px}}@media(max-width:480px){.story-text p{font-size:12px}.story-meta{font-size:10px}.blog-search input{font-size:11px}}.rss-page{max-width:760px;margin:0 auto;padding:56px 24px 72px}.rss-page h1{font-size:34px;font-weight:650;letter-spacing:-1px}.rss-page header>p{font-size:15px;line-height:1.9;color:var(--muted-foreground);margin:16px 0 28px}.feed-subscribe{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:22px}.feed-subscribe label{display:block;font-size:13px;font-weight:600;margin-bottom:10px}.feed-address{display:flex;gap:10px}.feed-address input{min-width:0;flex:1;border:1px solid var(--input);border-radius:7px;padding:12px;background:var(--background);font-size:13px}.feed-address button{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--primary);color:var(--primary-foreground);border-radius:7px;padding:12px 16px;font-size:13px;cursor:pointer;white-space:nowrap}.feed-subscribe p{font-size:13px;margin-top:12px}.feed-raw{display:inline-block;margin-top:16px;font-size:12px}.feed-languages,.feed-raw{color:var(--muted-foreground)}.feed-languages{display:flex;flex-wrap:wrap;gap:18px;margin:18px 0 40px;font-size:13px}.feed-languages a[aria-current]{color:var(--primary);font-weight:600}.rss-page h2{font-size:21px;font-weight:600;margin-bottom:10px}.feed-preview{list-style:none;padding:0}.feed-preview li{padding:22px 0;border-bottom:1px solid var(--border)}.feed-preview time{font-size:12px;color:var(--muted-foreground)}.feed-preview h3{font-size:18px;font-weight:600;line-height:1.6;margin:8px 0}.feed-preview a:hover{color:var(--primary)}.feed-preview p{font-size:13px;color:var(--muted-foreground);line-height:1.8}.feed-address button:focus-visible,.feed-address input:focus-visible,.rss-page a:focus-visible{outline:2px solid var(--ring);outline-offset:3px}@media(max-width:480px){.rss-page{padding:32px 20px 48px}.rss-page h1{font-size:28px}.feed-subscribe{padding:16px}.feed-address{flex-direction:column}.feed-address button{min-height:44px}.feed-address input{width:100%}.feed-preview h3{font-size:17px}}.feed-toolbar>div{min-width:0}.feed-toolbar h1{overflow-wrap:anywhere}.blog-search{flex-shrink:0}.page-group{display:inline-flex;align-items:center;gap:8px}.page-gap{padding:0 4px;color:var(--muted-foreground)}.empty-state p{margin-bottom:16px}.empty-state a{color:var(--primary);font-size:14px}.all-topics{display:none}.author-dot{flex-shrink:0}@media(max-width:760px){.all-topics{display:block;margin:0 0 8px;font-size:12px;color:var(--muted-foreground)}.all-topics summary{cursor:pointer;padding:8px 0;min-height:36px}.all-topics nav{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px;padding:12px 0;border-bottom:1px solid var(--border)}.all-topics a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px}.all-topics a[aria-current]{color:var(--primary)}.all-topics small{font-variant-numeric:tabular-nums}.pagination{gap:6px;flex-wrap:wrap}.page-group{gap:4px}.blog-footer nav{flex-wrap:wrap}}.status-page{max-width:760px;margin:0 auto;padding:48px 24px;min-height:75vh;font-family:var(--blog-font)}.status-content{margin-top:90px}.status-code{color:var(--muted-foreground);font-size:14px}.status-content h1{font-size:clamp(26px,4vw,36px);font-weight:650;letter-spacing:-1px;line-height:1.4;margin:18px 0}.status-content p{color:var(--muted-foreground);font-size:15px;line-height:1.8}.status-actions{display:flex;align-items:center;gap:24px;margin-top:30px;font-size:14px}.status-actions a{color:var(--primary)}.status-page :focus-visible{outline:2px solid var(--ring);outline-offset:4px}.blog-search{border:1px solid var(--input);transition:border-color .15s,box-shadow .15s;min-height:42px}.blog-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent)}.blog-site .blog-search input:focus-visible{box-shadow:none;border-radius:0}.blog-search input{border:0;min-height:40px;line-height:1.5}.blog-search button{display:flex;min-width:30px;min-height:32px;border-radius:5px;cursor:pointer}.blog-search button,.member-avatar{align-items:center;justify-content:center}.member-avatar{display:inline-flex;flex:0 0 28px;width:28px;height:28px;overflow:hidden;border-radius:50%;background:var(--accent);color:var(--primary);font-size:12px;font-weight:600}.member-avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}.member-avatar.large{width:42px;height:42px;flex-basis:42px;font-size:17px}.login-button.account-trigger{padding:5px 9px 5px 5px;gap:8px}.login-button .member-avatar{max-width:none}.login-button .account-name{max-width:120px}.account-loading{display:block;width:110px;height:38px;border-radius:7px;background:var(--muted)}.account-profile{display:flex;align-items:center;gap:12px;margin-bottom:18px}.account-profile>div{min-width:0}.account-profile strong{display:block;font-size:14px;overflow-wrap:anywhere}.account-profile small{font-size:11px;color:var(--muted-foreground)}.account-menu input{width:100%;min-height:40px;padding:9px 11px;border:1px solid var(--input);margin-top:7px}.account-menu label{font-size:12px}.account-actions button,.profile-sync{min-height:36px;cursor:pointer}.profile-sync{color:var(--primary);font-size:12px;margin:0 0 18px}.post-metrics{display:flex;align-items:center;gap:14px;color:var(--muted-foreground);font-size:12px;font-variant-numeric:tabular-nums}.post-metrics>a,.post-metrics>span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.post-metrics a:hover{color:var(--primary)}.story-footer{gap:12px;margin-top:15px}.article-toolbar,.story-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap}.article-toolbar{gap:16px;margin:22px 0 0}.post-actions{display:flex;align-items:center;gap:12px;font-family:var(--blog-font);font-size:12px;color:var(--muted-foreground)}.post-actions>a,.post-actions>button{gap:5px;min-height:32px;cursor:pointer}.post-actions>a:hover{color:var(--primary)}.comment-delete:hover,.post-actions>button:hover{color:#d23d4f}.related-stories .post-metrics{margin-top:12px}.comment-meta{align-items:center;flex-wrap:wrap}.comment-meta .member-avatar{width:30px;height:30px;flex-basis:30px}.comment-meta time{margin-left:auto}.comment-actions button{display:inline-flex;align-items:center;gap:4px;min-height:36px;cursor:pointer}.comment-delete{color:var(--muted-foreground)}.community form>label{display:flex;align-items:center;gap:9px;margin-bottom:12px}.comment-total{font-size:17px;color:var(--muted-foreground);font-weight:400;margin-left:6px}.comments-empty{font-size:14px;color:var(--muted-foreground);padding:12px 0 24px}.like-button{display:inline-flex;align-items:center;gap:8px}.confirm-dialog{position:fixed;inset:0;margin:auto;width:min(420px,calc(100vw - 40px));padding:26px;border:1px solid var(--border);border-radius:14px;background:var(--card);color:var(--foreground);box-shadow:0 24px 80px #0003;font-family:var(--blog-font)}.confirm-dialog::backdrop{background:#07132280;backdrop-filter:blur(3px)}.confirm-dialog h2{font-size:20px;font-weight:650;margin:0 0 14px}.confirm-dialog p{font-size:14px;line-height:1.8;color:var(--muted-foreground)}.confirm-dialog>div{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.confirm-dialog button{padding:10px 17px;border:1px solid var(--border);border-radius:7px;cursor:pointer;min-height:42px}.confirm-dialog .danger-button{background:#bc2638;border-color:#bc2638;color:#fff}.confirm-dialog button:disabled{opacity:.55;cursor:wait}.confirm-dialog :focus-visible{outline:2px solid var(--ring);outline-offset:3px}@media(max-width:480px){.story-footer{gap:4px;margin-top:10px}.story-footer .post-actions,.story-footer .post-metrics{font-size:11px;gap:10px}.story-footer .post-actions>a,.story-footer .post-actions>button{min-height:36px}.account-trigger .account-name{max-width:88px}.article-toolbar{gap:8px}.article-toolbar .post-actions{margin-left:auto}.comment-meta time{font-size:11px}.post-actions{flex-wrap:wrap}}.confirm-dialog p{display:block;overflow:visible;-webkit-line-clamp:unset}.blog-content{align-items:start}.blog-content>.blog-feed{margin:0;align-self:start}.blog-aside{align-self:start}.article-byline,.feed-count,.story-meta{font-size:13px}.story-text p{font-size:15px;line-height:1.75}.blog-search input,.blog-search input::placeholder{font-size:14px}.author-links{font-size:13px}.topics{padding-bottom:10px}.all-topics,.topics>a{font-size:13px}.all-topics{display:block;margin:0 0 8px;color:var(--muted-foreground)}.all-topics summary{cursor:pointer;padding:8px 0;min-height:38px;width:fit-content}.all-topics nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 22px;padding:12px 0 18px;border-bottom:1px solid var(--border)}.all-topics a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px}.all-topics a:hover,.all-topics a[aria-current]{color:var(--primary)}.all-topics small{font-variant-numeric:tabular-nums}.editorial{padding-top:32px}.article-header{margin-bottom:24px}.breadcrumbs{margin-bottom:16px}.article-header h1{font-size:clamp(28px,3.2vw,42px)}.article-byline{margin-top:18px}.article-toolbar{margin-top:14px}.article-cover{width:fit-content;max-width:100%;margin:24px auto 32px}.article-cover img{display:block;width:auto;max-width:100%;height:auto;max-height:320px;margin-inline:auto;aspect-ratio:auto;object-fit:contain;background:transparent;border:0;border-radius:14px;box-shadow:0 8px 24px #172b4812}.article-body img{max-height:420px;margin:1.5em auto}.article-toc{font-size:13px}.mobile-toc{display:none}@media(max-width:1000px){.article-toc{display:none}.mobile-toc{display:block;border-bottom:1px solid var(--border);padding:0 0 14px;margin-bottom:24px;font-size:13px;color:var(--muted-foreground)}.mobile-toc summary{cursor:pointer;min-height:32px}.mobile-toc ol{padding:10px 0 0 18px;list-style:decimal}.mobile-toc li{padding:6px 0}}@media(max-width:760px){.all-topics nav{grid-template-columns:1fr 1fr}.article-cover{margin:20px auto 24px}.article-cover img{max-height:210px}.article-body img{max-height:340px}.blog-search input{font-size:16px}.blog-search input::placeholder{font-size:14px}}@media(max-width:480px){.story-meta{font-size:12px;gap:6px 10px}.story-text p{font-size:14px}.feed-count,.story-footer .post-metrics{font-size:12px}.article-header h1{font-size:27px}.article-byline{font-size:12px}.article-body img{max-height:300px}}.blog-site{display:flex;flex-direction:column}.blog-site>main{flex:1}.blog-footer{width:calc(100% - 56px);max-width:1144px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:16px;padding:16px 0}.blog-footer small{width:auto;flex-shrink:0;white-space:nowrap;font-size:12px;line-height:1.5}.blog-footer nav{display:flex;align-items:center;flex-wrap:nowrap;gap:20px;margin-left:auto;font-size:12px;line-height:1.5}.blog-footer nav a{display:inline-flex;align-items:center;gap:6px;min-height:32px;white-space:nowrap}.blog-footer nav a:hover{color:var(--primary)}.blog-footer nav svg{flex-shrink:0}.project-card>a{gap:8px}.project-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:var(--accent);color:var(--primary)}.project-card p{margin-top:5px;font-size:13px}.account-admin{flex-wrap:wrap}@font-face{font-family:Google Sans;src:url(/fonts/GoogleSans-Medium-latin.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}.google-signin{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;gap:10px;height:40px;width:fit-content;padding:0 12px;border-radius:4px;color:#1f1f1f;font-family:"Google Sans",var(--blog-font);font-size:14px;font-weight:500;line-height:20px;letter-spacing:.25px;white-space:nowrap;cursor:pointer;transition:background .15s,box-shadow .15s}.google-signin img{display:block;width:20px;height:20px;flex:0 0 20px;object-fit:contain}.google-signin:hover{box-shadow:0 1px 2px #3c404326}.google-signin:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.dark .google-signin{color:#e3e3e3}.dark .google-signin:hover{background:#202124}@media(max-width:760px){.blog-nav{flex-wrap:nowrap}.nav-actions{width:auto;border-top:0;padding-top:0;margin-left:auto}.blog-footer{width:calc(100% - 40px);padding:14px 0}}@media(max-width:600px){.blog-nav{gap:8px;padding:12px 16px;min-height:66px}.blog-nav .brand{font-size:20px;gap:7px}.blog-nav .brand-mark{width:30px}.blog-nav .brand-suffix{font-size:14px;margin-left:7px;padding-left:7px}.nav-actions{gap:2px}.language-picker summary,.nav-actions .theme-switch{padding:6px;min-width:30px;min-height:36px}.account-trigger .account-name,.nav-actions>.write-link{display:none}.login-button.account-trigger{padding:4px 6px 4px 4px;gap:4px}.account-loading{width:40px}.google-signin-header{width:40px;padding:0}.google-signin-header .google-signin-label{display:none}.blog-footer{gap:12px}.blog-footer nav{gap:5px}.blog-footer nav a{width:32px;justify-content:center}.blog-footer nav a>span{display:none}}.editorial{max-width:1280px;padding:40px 32px 56px}.article-layout{display:grid;grid-template-columns:minmax(0,180px) minmax(0,760px) minmax(0,180px);gap:32px;justify-content:center;align-items:start}.article-reading{grid-column:2;min-width:0;width:100%}.article-layout>.article-toc{grid-column:1;grid-row:1;display:block;position:sticky;top:32px;padding-top:4px;max-height:calc(100vh - 64px);font-size:12px;line-height:1.7}.article-toc>b{font-size:12px;font-weight:600;margin:0 0 16px}.article-toc li{margin:0;padding:0;border:0}.article-toc li a{display:block;padding:8px 0 8px 14px;border-left:1px solid var(--border)}.article-toc a:hover{border-color:var(--primary);color:var(--primary)}.article-reading .article-header{max-width:none;width:100%;margin:0 0 26px;text-align:center}.article-header .article-byline,.article-header .article-toolbar,.article-header .breadcrumbs{justify-content:center}.article-header h1{font-size:clamp(28px,3vw,40px);letter-spacing:-1.25px;line-height:1.45}.article-reading .article-cover{margin:0 auto 36px}.article-reading .article-main{width:100%;text-align:left}.article-reading .mobile-toc{display:none}.blog-content{grid-template-columns:minmax(0,1fr) 264px;gap:48px}.blog-aside{display:flex;flex-direction:column;gap:20px;padding-top:0}.author-card{padding:22px;background:var(--card);border:1px solid var(--border);border-radius:16px}.author-card h2{font-size:20px;line-height:1.4;letter-spacing:-.55px;margin:0}.author-card p{margin:14px 0 20px;font-size:14px;line-height:1.8;color:var(--muted-foreground)}.author-links{display:flex;justify-content:flex-start;align-items:center;gap:8px;margin:0;flex-wrap:wrap}.author-links a{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;min-height:34px;border:1px solid var(--border);border-radius:8px;background:var(--background);color:var(--foreground);font-size:12px;font-weight:500}.author-links a:hover{border-color:var(--input);color:var(--primary);background:var(--accent)}.project-card{padding:0;border:0}.project-card>a{display:flex;align-items:center;gap:12px;margin:0;padding:8px 4px;border-radius:10px;font-size:17px;color:var(--foreground)}.project-card>a:hover{background:var(--muted)}.project-card>a>span{flex:1;min-width:0}.project-card strong{display:block;font-size:17px;letter-spacing:-.4px;font-weight:650}.project-card small{display:block;margin-top:4px;font-weight:400;line-height:1.65;letter-spacing:0;color:var(--muted-foreground)}.project-dolphin{width:32px;height:26px;flex:0 0 32px;color:var(--primary)}.project-card>a>svg:last-child{color:var(--muted-foreground);flex-shrink:0}.blog-aside .rss-card{margin:0;padding:16px 4px 0;border-top:1px solid var(--border);gap:10px}.rss-card b{font-size:12px}.rss-card small{font-size:12px;margin-top:2px}.nav-actions{gap:10px}.language-picker summary{display:flex;align-items:center;justify-content:center;gap:4px;min-height:40px;line-height:20px}.nav-actions .theme-switch{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border-radius:50%}.account-loading{width:80px;height:36px;border-radius:999px}.login-button.account-trigger{background:var(--muted);border-radius:999px;min-height:36px}.account-menu{width:260px;padding:18px}.account-profile{margin-bottom:14px}.account-admin{display:flex;flex-direction:column;gap:2px;padding-top:10px;margin-top:12px}.account-admin a{display:flex;align-items:center;gap:9px;padding:8px;border-radius:6px}.account-admin a:hover{background:var(--muted)}.account-signout{display:flex;align-items:center;gap:9px;width:100%;text-align:left;min-height:36px;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:13px;color:var(--muted-foreground)}.account-signout:hover{background:var(--muted);color:var(--foreground)}.google-signin{border-color:transparent;border-radius:999px;background:#f2f2f2}.google-signin:hover{background:#e9eaeb;box-shadow:none}.dark .google-signin{background:#131314;border-color:#8e918f}.login-dialog{position:fixed;inset:0;margin:auto;width:min(380px,calc(100vw - 40px));padding:32px;border:1px solid var(--border);border-radius:20px;background:var(--card);color:var(--foreground);box-shadow:0 24px 90px #07132226;font-family:var(--blog-font)}.login-dialog::backdrop{background:#07132266;backdrop-filter:blur(4px)}.login-dialog h2{font-size:23px;font-weight:650;letter-spacing:-.7px;margin:4px 0 12px}.login-dialog>p{font-size:14px;line-height:1.8;color:var(--muted-foreground);margin:0 0 26px}.login-dialog .google-signin{width:100%}.dialog-close{position:absolute;top:12px;right:12px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--muted-foreground);cursor:pointer}.dialog-close:hover{background:var(--muted)}.login-legal-links{display:flex;align-items:center;justify-content:center;gap:10px;font-size:12px;color:var(--muted-foreground);margin-top:18px;flex-wrap:wrap}.login-legal-links a:hover{color:var(--primary)}.comment-identity-note{font-size:12px;color:var(--muted-foreground);line-height:1.7;margin:16px 0 0}.login-prompt>.google-signin{margin-top:10px}@media(max-width:1200px){.blog-content{gap:32px}}@media(max-width:1100px){.article-layout{display:block}.article-reading{max-width:760px;margin:0 auto}.article-layout>.article-toc{display:none}.article-reading .mobile-toc{display:block}.article-header h1{font-size:clamp(27px,4vw,38px)}}@media(max-width:960px){.blog-content{grid-template-columns:minmax(0,1fr) 240px;gap:28px}.author-card{padding:18px}.author-links a{padding:6px 7px}.author-links{gap:6px}}@media(max-width:760px){.blog-content{grid-template-columns:1fr}.blog-aside{display:flex;max-width:420px;width:100%}.author-card{padding:22px}.author-links a{padding:6px 10px}.editorial{padding:30px 20px 44px}.article-reading .article-cover{margin-bottom:26px}.article-header .article-toolbar{gap:12px}.article-toolbar .post-actions{margin-left:0}}@media(max-width:600px){.nav-actions{gap:4px}.nav-actions .theme-switch{width:32px;height:36px}.language-picker summary{min-width:30px;min-height:36px}.account-loading{width:68px}}@media(max-width:420px){.blog-nav .brand-suffix{display:none}}.legal-page{max-width:888px;width:100%;margin:0 auto;padding:46px 32px 64px}.legal-header{margin-bottom:30px}.legal-back{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--muted-foreground);margin-bottom:24px}.legal-header h1{font-size:36px;line-height:1.4;font-weight:650;letter-spacing:-1.2px;margin:0 0 18px}.legal-header>p{font-size:15px;line-height:1.9;margin:0}.legal-date,.legal-header>p{color:var(--muted-foreground)}.legal-date{display:flex;align-items:center;gap:8px;margin-top:20px;font-size:12px;flex-wrap:wrap}.legal-date>a{display:inline-flex;align-items:center;gap:4px;margin-left:auto;color:var(--primary)}.legal-contents{padding:22px 24px;background:var(--card);border:1px solid var(--border);border-radius:14px;margin-bottom:42px;font-size:13px;line-height:1.7}.legal-contents>b{display:block;font-size:13px;margin-bottom:12px;font-weight:600}.legal-contents ol{display:grid;grid-template-columns:1fr 1fr;gap:8px 32px;list-style:decimal;padding-left:20px;margin:0;color:var(--muted-foreground)}.legal-contents a:hover{color:var(--primary)}.legal-body section{scroll-margin-top:32px;margin:0 0 36px}.legal-body h2{font-size:21px;font-weight:600;letter-spacing:-.4px;line-height:1.5;margin:0 0 15px}.legal-body li,.legal-body p{font-size:15px;line-height:1.9;color:var(--muted-foreground)}.legal-body p{white-space:normal;margin:0 0 15px}.legal-body strong{color:var(--foreground);font-weight:600}.legal-body ul{list-style:disc;padding-left:21px;margin:0 0 16px}.legal-body li{margin:5px 0}.legal-body a{color:var(--primary);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--border)}.legal-body table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;font-size:13px;line-height:1.8;margin:0 0 20px}.legal-body td,.legal-body th{padding:12px 14px;border:1px solid var(--border);min-width:115px;text-align:left;vertical-align:top}.legal-body th{background:var(--muted);font-weight:600}.legal-body td{color:var(--muted-foreground)}.legal-contact{display:flex;align-items:center;gap:14px;padding:22px 24px;border:1px solid var(--border);border-radius:12px;background:var(--card);color:var(--primary)}.legal-contact b{display:block;font-size:13px;color:var(--foreground);margin-bottom:5px}.legal-contact a{font-size:14px;color:var(--muted-foreground)}@media(max-width:600px){.legal-page{padding:30px 20px 44px}.legal-header h1{font-size:29px}.legal-contents{padding:18px 20px}.legal-contents ol{grid-template-columns:1fr}.legal-date>a{margin-left:0;width:100%;margin-top:4px}.legal-body h2{font-size:20px}.legal-contact{padding:18px;gap:12px}.legal-contact a{font-size:13px}}.blog-content{--profile-rail:clamp(220px,18.33vw,264px);max-width:1440px;width:100%;margin:0 auto;padding:38px 24px 72px;grid-template-columns:minmax(0,var(--profile-rail)) minmax(0,760px) minmax(0,var(--profile-rail));column-gap:clamp(24px,2.78vw,40px);justify-content:center}.blog-content>.blog-feed{grid-column:2;grid-row:1;min-width:0}.blog-content>.blog-aside{grid-column:3;grid-row:1;position:sticky;top:28px;width:100%;max-width:none;margin:0;align-self:start}.author-copy{margin:15px 0 20px}.author-card .author-copy p{margin:0;font-size:14px;line-height:1.8}.author-links a{gap:6px}@media(max-width:1360px){.blog-aside .author-card{padding:18px}.blog-aside .author-links{gap:7px}.blog-aside .author-links a{padding:6px 8px}.story-list .story-card{grid-template-columns:minmax(0,1fr) 150px;gap:22px}}@media(max-width:1100px){.blog-content{display:block;max-width:808px;padding:32px 24px 48px}.blog-content>.blog-aside{position:static;max-width:420px;margin:40px 0 0}.blog-aside .author-card{padding:22px}.story-list .story-card{grid-template-columns:minmax(0,1fr) 175px;gap:24px}}@media(max-width:600px){.blog-content{padding:26px 20px 40px}.story-list .story-card{grid-template-columns:minmax(0,1fr) 110px;gap:15px}.blog-content>.blog-aside{margin-top:32px}}@media(max-height:650px){.blog-content>.blog-aside{position:static}}.collection-tabs{display:flex;gap:26px;border-bottom:1px solid var(--border);margin-bottom:28px;overflow-x:auto;white-space:nowrap}.collection-tabs a{padding:2px 0 13px;font-size:14px;color:var(--muted-foreground);border-bottom:2px solid transparent}.collection-tabs a[aria-current=page]{color:var(--primary);border-bottom-color:var(--primary);font-weight:650}.collection-intro{font-size:14px;line-height:1.8;color:var(--muted-foreground);margin:-6px 0 20px}.topics-directory-link{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--muted-foreground);margin:12px 0 6px}.topics-directory-link:hover{color:var(--primary)}.author-card .author-copy .author-statement{color:var(--foreground);font-size:16px;font-weight:550;line-height:1.7;letter-spacing:-.35px;text-wrap:balance}.author-card .author-copy p+p{margin-top:12px;font-size:13px;line-height:1.9}.author-skills{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0 0 22px}.author-skills li{font-size:10px;font-weight:500;letter-spacing:.1px;border-radius:5px;padding:4px 6px;background:var(--muted);color:var(--muted-foreground)}.topic-directory{max-width:808px;margin:auto;padding:40px 24px 64px}.topic-directory h1{font-size:28px;font-weight:650;margin:0 0 28px}.topic-directory nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.topic-directory nav a{padding:17px 20px;border:1px solid var(--border);border-radius:10px;display:flex;justify-content:space-between;gap:12px;font-size:14px;background:var(--card)}.topic-directory nav a:hover{border-color:var(--primary);color:var(--primary)}.article-origin,.topic-directory small{color:var(--muted-foreground)}.article-origin{display:inline-flex;gap:6px;align-items:center;font-size:12px}.article-origin a{color:var(--primary)}.studio-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0}.studio-stats>div{padding:18px;border:1px solid var(--border);border-radius:12px;background:var(--card)}.studio-stats small{display:block;color:var(--muted-foreground);font-size:13px}.studio-stats strong{display:block;font-size:26px;font-weight:600;margin-top:6px}.studio-tools{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:18px}.studio-tools button,.studio-tools select{border:1px solid var(--border);background:var(--card);border-radius:8px;padding:9px 13px;font-size:13px}.studio-tools button:hover{border-color:var(--primary)}.studio-notice{font-size:13px;color:var(--muted-foreground)}.editor-manager .editor-grid aside input{width:100%;box-sizing:border-box;padding:12px;border:1px solid var(--border);border-radius:8px;font-size:14px}.editor-manager .editor-grid aside button[aria-current=true]{border-color:var(--primary);background:var(--muted)}@media(max-width:600px){.collection-tabs{gap:22px;margin-bottom:22px}.topic-directory{padding:30px 20px 44px}.topic-directory nav{grid-template-columns:1fr}.studio-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.article-origin{flex-wrap:wrap;justify-content:center}}.story-list .story-card{padding-block:27px;align-items:center}.story-list .story-meta{gap:8px 12px;flex-wrap:wrap;line-height:1.6}.story-kind{font-size:11px;font-weight:600;letter-spacing:.1px;color:var(--muted-foreground)}.story-kind.kind-dev{color:var(--primary)}.story-list .story-text h2{font-size:21px;line-height:1.55;letter-spacing:-.5px;text-wrap:pretty}.story-list .story-text h2 a:hover{color:var(--primary)}.story-list .story-image{border:1px solid var(--border);border-radius:12px;overflow:hidden}.story-list .story-footer{margin-top:15px}.story-text p{color:var(--muted-foreground)}.project-card>a{padding:18px;background:var(--card);border:1px solid var(--border);border-radius:14px;align-items:flex-start;transition:border-color .15s,background .15s}.project-card>a:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--border));background:var(--card)}.project-card .project-dolphin{margin-top:3px}.project-card b{display:block;font-size:13px;line-height:1.7;font-weight:550;margin-top:10px}.project-card small{font-size:12px;line-height:1.8;margin-top:6px}.project-action{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:550;color:var(--primary);margin-top:14px}.article-main .project-article{margin:32px 0}.project-article>a{padding:22px 26px;gap:20px}.project-article b{margin-top:4px}.project-article .project-action{margin-top:10px}.project-article .project-dolphin{width:40px;flex-basis:40px}.mcp-settings{scroll-margin-top:24px;margin-top:48px;border-top:1px solid var(--border);padding-top:28px}.mcp-settings h2{display:flex;align-items:center;gap:9px;font-size:21px}.mcp-settings p{font-size:14px;line-height:1.8;color:var(--muted-foreground)}.mcp-endpoint{display:flex;gap:12px;flex-wrap:wrap;padding:14px 18px;background:var(--muted);border-radius:10px;font-size:13px;overflow-wrap:anywhere}.mcp-endpoint>span{color:var(--muted-foreground)}.mcp-settings form{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin:22px 0}.mcp-settings label{display:flex;flex-direction:column;gap:6px;font-size:13px}.mcp-settings input:not([type=checkbox]),.mcp-settings select{padding:10px 12px;background:var(--card);border:1px solid var(--border);border-radius:8px;color:var(--foreground);font-size:14px}.mcp-settings .mcp-publish{display:block;line-height:1.8}.mcp-publish small{display:block;font-size:12px;color:var(--muted-foreground)}.mcp-settings button{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border-radius:8px;cursor:pointer}.mcp-settings button:disabled{opacity:.5;cursor:wait}.mcp-settings details{border:1px solid var(--border);padding:16px;border-radius:12px;margin:20px 0}.mcp-settings summary{font-size:14px;cursor:pointer}.mcp-settings pre{overflow-x:auto;line-height:1.7;padding:15px;border-radius:8px;background:var(--muted);font-size:13px}.mcp-secret{display:flex;align-items:end;gap:12px;padding:16px;background:var(--muted);border-radius:10px}.mcp-secret label{flex:1;min-width:0}.mcp-secret input{width:100%;min-width:0}.mcp-key-list{padding:0;list-style:none}.mcp-key-list li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--border)}.mcp-key-list strong{font-size:14px}.mcp-key-list small{display:block;font-size:12px;color:var(--muted-foreground);margin-top:5px}@media(max-width:600px){.story-list .story-text h2{font-size:18px;line-height:1.55}.story-list .story-card{padding-block:23px}.story-list .story-meta{font-size:12px;gap:5px 9px}.story-kind{font-size:10px}.project-article>a{padding:20px}.mcp-settings form{align-items:stretch}.mcp-secret{flex-wrap:wrap}.mcp-settings form>label{flex:1;min-width:150px}.mcp-settings .mcp-publish{flex-basis:100%}}.studio-preview{max-width:none!important;width:100%;padding:20px;border:1px solid var(--border);border-radius:10px;background:var(--card)}.studio-tools button[aria-pressed=true]{border-color:var(--primary);color:var(--primary)}:root{--control-radius:8px;--button-ink:#20334c;--button-text:#fff}.dark{--button-ink:#e4edfb;--button-text:#172b48}.blog-nav{max-width:1344px;min-height:80px;padding:16px 32px;gap:40px}.header-sections{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:500;white-space:nowrap}.header-sections a{color:var(--muted-foreground);padding:8px 0;border-bottom:2px solid transparent}.header-sections a:hover,.header-sections a[aria-current]{color:var(--foreground)}.header-sections a[aria-current]{border-bottom-color:var(--primary)}.blog-content.magazine-layout{--feed-width:min(800px,calc(100vw - 608px));display:grid;grid-template-columns:minmax(0,1fr) minmax(0,var(--feed-width)) minmax(0,1fr);column-gap:40px;align-items:start;width:100%;max-width:1664px;margin:0 auto;padding:48px 32px 64px}.magazine-layout>.blog-feed{grid-column:2;grid-row:1;max-width:none;min-width:0;margin:0}.magazine-layout>.blog-aside{grid-column:3;grid-row:1;position:static;display:flex;flex-direction:column;gap:32px;width:100%;max-width:256px;margin:0;padding:0;border:0}.magazine-layout .feed-toolbar{gap:20px;min-height:44px;padding-bottom:28px;margin-bottom:24px;border-bottom:1px solid var(--border)}.magazine-layout .feed-toolbar h1{margin:0;font-size:28px;font-weight:600;letter-spacing:-.7px}.magazine-layout .feed-count{font-size:12px;color:var(--muted-foreground)}.magazine-layout .blog-search{width:240px;max-width:40%;min-width:160px;min-height:40px;padding:0 4px 0 12px;border-color:var(--border);border-radius:8px;box-shadow:none}.magazine-layout .blog-search input{font-size:14px;min-height:38px;padding:8px 0}.magazine-layout .blog-search button{width:32px;min-width:32px;min-height:32px;border-radius:6px}.magazine-layout .blog-search button:hover{background:var(--muted);color:var(--foreground)}.topic-sidebar{grid-column:1;grid-row:1;justify-self:end;width:100%;max-width:200px;min-width:0;padding-right:8px}.blog-stats h2,.mobile-topics h2,.recent-comments h2,.topic-sidebar h2{margin:0 0 16px;font-size:14px;font-weight:600;letter-spacing:0}.category-navigation ul{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;list-style:none;padding:0;margin:0}.category-navigation li{max-width:100%;margin:0}.category-navigation li:first-child{flex-basis:100%;margin-bottom:4px}.category-navigation li a{display:inline-flex;align-items:center;gap:6px;max-width:100%;min-height:32px;padding:5px 8px;border:1px solid var(--border);border-radius:6px;font-size:13px;line-height:1.6;color:var(--muted-foreground);transition:background-color .15s,border-color .15s,color .15s}.category-navigation li a>span{overflow-wrap:anywhere}.category-navigation li a:hover{background:var(--muted);border-color:var(--input);color:var(--foreground)}.category-navigation li a[aria-current]{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 30%,var(--border));background:color-mix(in srgb,var(--primary) 6%,var(--background));font-weight:500}.category-navigation small{font-size:11px;font-weight:400;font-variant-numeric:tabular-nums;opacity:.8;flex-shrink:0}.rail-empty{font-size:13px;line-height:1.7;color:var(--muted-foreground);margin:0}.mobile-topics{display:none}.blog-stats,.recent-comments{padding-top:24px;border-top:1px solid var(--border)}.blog-stats dl{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0}.blog-stats dl>div+div{border-left:1px solid var(--border);padding-left:16px}.blog-stats dt{font-size:12px;line-height:1.5;color:var(--muted-foreground)}.blog-stats dd{font-size:24px;font-weight:500;line-height:1.5;font-variant-numeric:tabular-nums;letter-spacing:-.4px;margin:4px 0 0}.recent-comments ol{list-style:none;margin:0;padding:0}.recent-comments li+li{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.recent-comments a{display:block}.recent-comments a:hover p{color:var(--primary)}.recent-comments p:not(.rail-empty){margin:0 0 8px;font-size:14px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.recent-comment-meta{display:flex;gap:12px;justify-content:space-between;align-items:baseline;font-size:12px;color:var(--muted-foreground)}.recent-comment-meta b{font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-comment-meta time{flex-shrink:0}.recent-comment-post{display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.7;color:var(--muted-foreground)}.comment{scroll-margin-top:24px}.comment:target{background:var(--muted);outline:1px solid var(--border);outline-offset:8px;border-radius:4px}.editorial-list .story-card{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:32px;align-items:center;padding:28px 0;border-bottom:1px solid var(--border)}.editorial-list .story-card:first-child{padding-top:4px}.editorial-list .story-image{grid-column:2;grid-row:1;aspect-ratio:16/9;border-radius:8px;border:0}.editorial-list .story-image img{display:block;width:100%;height:100%;object-fit:contain;border-radius:8px;transition:none}.editorial-list .story-image:hover img{transform:none}.editorial-list .story-text{grid-column:1;grid-row:1;min-width:0;padding:0}.editorial-list .story-meta{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:6px 12px;font-size:12px;line-height:1.7;letter-spacing:0}.editorial-list .story-meta span{font-weight:400;color:var(--muted-foreground)}.editorial-list .story-kind{font-size:12px}.editorial-list .story-kind.kind-dev{color:var(--primary)}.editorial-list h2{margin:10px 0;font-size:22px;font-weight:600;line-height:1.55;letter-spacing:-.4px;text-wrap:pretty}.editorial-list .story-text p{margin:0;font-size:14px;line-height:1.8;-webkit-line-clamp:2}.editorial-list .story-footer{display:flex;align-items:center;gap:12px;margin-top:16px;min-height:32px}.editorial-list .post-metrics{font-size:12px;gap:14px}.magazine-layout .empty-state{min-height:160px;padding:32px 0}.rail-heading{justify-content:space-between;gap:12px}.rail-heading,.rail-heading h2{display:flex;align-items:center}.rail-heading h2{gap:8px;margin:0;font-size:16px;font-weight:600}.rail-heading>a{display:flex;padding:8px;color:var(--muted-foreground);border-radius:6px}.rail-heading>a:hover{background:var(--muted);color:var(--foreground)}.rail-description{margin:8px 0;font-size:13px;line-height:1.7;color:var(--muted-foreground)}.digest-rail ol{list-style:none;padding:0;margin:0}.digest-rail li{border-bottom:1px solid var(--border)}.digest-rail li:last-child{border:0}.digest-story{display:flex;align-items:flex-start;gap:12px;padding:16px 0}.digest-story img{width:48px;height:48px;object-fit:cover;border-radius:6px;flex-shrink:0}.digest-story>span{min-width:0}.digest-story h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:0;font-size:13px;font-weight:500;line-height:1.6}.digest-story:hover h3{color:var(--primary)}.digest-excerpt{display:none}.digest-story time{display:block;margin-top:6px;font-size:12px;line-height:1.6;color:var(--muted-foreground)}:is(.magazine-layout,.article-aside) .author-card{padding:0;border:0;background:transparent;border-radius:0}:is(.magazine-layout,.article-aside) .author-card h2{font-size:18px;font-weight:600;letter-spacing:-.3px}:is(.magazine-layout,.article-aside) .author-copy{margin:12px 0 16px}:is(.magazine-layout,.article-aside) .author-card p{font-size:14px;line-height:1.85;margin:0;color:var(--muted-foreground)}:is(.magazine-layout,.article-aside) .author-links{margin:0;gap:20px}:is(.magazine-layout,.article-aside) .author-links a{padding:4px 0;min-height:36px;border:0;border-radius:0;background:transparent;font-size:13px;color:var(--muted-foreground)}:is(.magazine-layout,.article-aside) .author-links a:hover{color:var(--foreground);background:transparent;text-decoration:underline;text-underline-offset:4px}:is(.magazine-layout,.article-aside) .project-card>a{padding:24px 0 0;border:0;border-top:1px solid var(--border);border-radius:0;background:transparent;gap:12px}:is(.magazine-layout,.article-aside) .project-card>a:hover{background:transparent}:is(.magazine-layout,.article-aside) .project-card b{font-size:13px;font-weight:500;margin-top:8px}:is(.magazine-layout,.article-aside) .project-card small{display:none}:is(.magazine-layout,.article-aside) .project-action{color:var(--muted-foreground);font-size:12px;margin-top:12px}.magazine-layout .digest-rail{padding-top:24px;border-top:1px solid var(--border)}.editorial{max-width:1664px;padding-inline:32px}.article-layout{grid-template-columns:minmax(0,1fr) minmax(0,760px) minmax(0,1fr);gap:40px}.article-layout>.article-toc{max-width:224px;justify-self:end}.article-aside{grid-column:3;grid-row:1;max-width:256px;display:flex;flex-direction:column;gap:28px;padding-top:8px}.like-button,.primary-button,.studio-button,.write-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 16px;border:1px solid var(--border);border-radius:var(--control-radius);font:500 14px/1.5 var(--blog-font);background:var(--card);color:var(--foreground);cursor:pointer;white-space:nowrap;transition:background-color .16s,border-color .16s,color .16s}.primary-button,.studio-button-primary{border-color:var(--button-ink);background:var(--button-ink);color:var(--button-text)}.primary-button:hover,.studio-button-primary:hover{background:color-mix(in srgb,var(--button-ink) 88%,var(--card));color:var(--button-text)}.like-button:hover,.studio-button:not(.studio-button-primary):hover,.write-link:hover{border-color:var(--input);background:var(--muted)}.write-link{min-height:40px;padding:8px 12px;font-size:13px}.nav-actions{gap:8px}.language-picker summary,.nav-actions .theme-switch{min-width:40px;min-height:40px;border-radius:8px}.login-button.account-trigger{min-height:40px;border-radius:8px;border-color:transparent;background:transparent;padding:4px 8px 4px 4px;font-size:13px}.login-button.account-trigger:hover{background:var(--muted)}.account-trigger .member-avatar{width:32px;height:32px;flex-basis:32px}.google-signin{border:1px solid #747775;border-radius:8px;background:#fff;letter-spacing:0;box-shadow:0 1px 2px #3c404308;transition:background-color .15s,border-color .15s,box-shadow .15s}.google-signin:hover{background:#f8fafd;border-color:#b9bec5;box-shadow:0 1px 3px #3c40431a}.google-signin:active{background:#eef3fa;box-shadow:none}.google-signin-header{width:auto;padding:0 14px;gap:10px;min-height:40px}.google-signin-header .google-signin-label{display:inline}.post-actions{gap:8px}.post-actions>a,.post-actions>button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--card);font-size:12px;color:var(--muted-foreground)}.post-actions>a:hover{color:var(--foreground);border-color:var(--input);background:var(--muted)}.post-actions>button:hover{color:#b42338;border-color:color-mix(in srgb,#b42338 25%,var(--border))}.post-actions-compact{gap:4px;margin-left:auto}.post-actions-compact>a,.post-actions-compact>button{width:32px;min-height:32px;padding:6px;border-color:transparent;background:transparent}.post-actions-compact>a:hover,.post-actions-compact>button:hover{background:var(--muted);border-color:transparent}.like-button.liked{background:var(--accent);color:var(--primary);border-color:color-mix(in srgb,var(--primary) 30%,var(--border))}.blog-site button:disabled,.editor-manager button:disabled{opacity:.45;cursor:not-allowed}.blog-site :is(a,button,input,summary,textarea,select):focus-visible,.editor-manager :is(a,button,input,textarea,select,summary):focus-visible{outline:2px solid var(--ring);outline-offset:3px}.blog-site .blog-search input:focus-visible{outline:none}.nav-actions svg,.pagination svg,.post-actions svg,.studio-button svg{stroke-width:1.5;flex-shrink:0}.magazine-layout .pagination{display:grid;grid-template-columns:auto auto auto;justify-content:center;align-items:center;gap:12px;width:100%;margin:48px 0 0;padding-top:24px;border-top:1px solid var(--border)}.pagination .page-group,.pagination-pages{display:flex;align-items:center;gap:4px}.pagination .page-group{margin:0}.pagination .page-current,.pagination .pagination-pages a{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;padding:8px;border:1px solid transparent;border-radius:8px;font-size:14px;font-variant-numeric:tabular-nums}.pagination .page-current{color:var(--button-text);background:var(--button-ink);font-weight:500}.pagination .pagination-pages a:hover{border-color:var(--border);background:var(--card)}.pagination-edge{display:flex;align-items:center;gap:4px}.pagination-previous{justify-content:flex-start}.pagination-next{justify-content:flex-end}.pagination-disabled,.pagination-edge>a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:8px;border:1px solid transparent;border-radius:8px;color:var(--muted-foreground)}.pagination-edge>a:hover{background:var(--muted);border-color:var(--border);color:var(--foreground)}.pagination-disabled{opacity:.35;cursor:default}@media(max-width:1199px){.blog-nav{max-width:864px}.topic-sidebar{display:none}.mobile-topics{display:block;margin:0 0 28px;border-bottom:1px solid var(--border)}.mobile-topics>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;cursor:pointer;padding:0 0 20px;font-size:13px;color:var(--muted-foreground)}.mobile-topics>summary::-webkit-details-marker{display:none}.mobile-topics[open]>summary svg{transform:rotate(180deg)}.mobile-topics-content{padding:8px 12px 28px}.mobile-topics .category-navigation h2{display:none}.mobile-topics .category-navigation li a{min-height:36px;padding:7px 10px}.blog-content.magazine-layout{display:block;max-width:864px;padding-inline:32px}.magazine-layout>.blog-aside{display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:none;margin:48px 0 0;padding-top:32px;border-top:1px solid var(--border)}.magazine-layout .digest-rail{grid-row:span 3;padding:0;border:0}.magazine-layout .project-card{padding:0}.blog-nav{gap:24px}.header-sections{gap:20px}.article-layout{display:block}.article-reading{max-width:760px;margin:auto}.article-aside,.article-layout>.article-toc{display:none}.article-reading .mobile-toc{display:block}}@media(max-width:820px){.blog-nav{flex-wrap:wrap;gap:12px;padding:12px 24px}.header-sections{order:3;width:100%;border-top:1px solid var(--border);padding-top:8px;gap:24px;font-size:13px}.blog-content.magazine-layout{padding:32px 24px 48px}.magazine-layout .topics{gap:20px}}@media(max-width:560px){.blog-nav{padding-inline:20px}.nav-actions{gap:2px}.language-picker summary,.nav-actions .theme-switch{min-width:36px;width:36px}.nav-actions>.write-link{display:none}.blog-content.magazine-layout{padding:28px 20px 40px}.magazine-layout .feed-toolbar{flex-wrap:wrap;gap:12px}.magazine-layout .feed-toolbar h1{font-size:24px}.magazine-layout .blog-search{width:100%;max-width:none}.magazine-layout .blog-search input{font-size:16px}.magazine-layout .topics{margin-bottom:20px;padding-block:16px;gap:20px}.magazine-layout>.blog-aside{display:flex;margin-top:36px;gap:28px}.magazine-layout .pagination{margin-top:32px}}@media(prefers-reduced-motion:reduce){.like-button,.primary-button,.studio-button,.write-link{transition:none}}@media(max-width:1399px) and (min-width:1200px){.editorial-list .story-card{grid-template-columns:minmax(0,1fr) 192px;gap:24px}.editorial-list h2{font-size:20px}}@media(max-width:760px){.editorial-list .story-card{grid-template-columns:minmax(0,1fr) 144px;gap:24px}.editorial-list h2{font-size:20px}.editorial{padding-inline:24px}}@media(max-width:560px){.editorial-list .story-card{grid-template-columns:minmax(0,1fr) 96px;gap:16px;padding:24px 0}.editorial-list h2{font-size:18px;letter-spacing:-.3px}.editorial-list .story-meta{gap:4px 8px}.editorial-list .story-meta time{width:100%}.editorial-list .story-text p{font-size:14px}.editorial-list .story-image{align-self:start;margin-top:38px;aspect-ratio:1}.editorial-list .story-footer{margin-top:12px;flex-wrap:wrap}.editorial-list .post-actions-compact{margin-left:0}.editorial{padding-inline:20px}.magazine-layout .topics{scrollbar-width:none}}@media(max-width:560px){.magazine-layout .topics::-webkit-scrollbar{display:none}.editorial-list .story-card{grid-template-columns:minmax(0,1fr) 120px;gap:12px 16px}.editorial-list .story-text{display:contents}.editorial-list .story-meta{grid-column:1/-1;grid-row:1}.editorial-list .story-meta time{width:auto}.editorial-list h2{grid-column:1/-1;grid-row:2;margin:0;font-size:20px}.editorial-list .story-text p{grid-column:1;grid-row:3;align-self:start;-webkit-line-clamp:3}.editorial-list .story-image{grid-column:2;grid-row:3;margin:0;aspect-ratio:16/9;align-self:center}.editorial-list .story-footer{grid-column:1/-1;grid-row:4;margin:0;flex-wrap:nowrap}.editorial-list .post-actions-compact{margin-left:auto}}@media(min-width:761px) and (max-width:1399px){.pagination .page-current,.pagination .pagination-pages a,.pagination-disabled,.pagination-edge>a{min-width:36px;width:36px;padding:6px}}@media(max-width:760px){.magazine-layout .pagination{grid-template-columns:auto auto auto;gap:4px}.pagination .pagination-pages,.pagination-edge{gap:2px;flex-wrap:nowrap}.pagination .page-desktop-only{display:none}.pagination .page-current,.pagination .pagination-pages a,.pagination-disabled,.pagination-edge>a{width:32px;min-width:32px;height:40px;min-height:40px;padding:6px}}@media(max-width:360px){.pagination .pagination-pages,.pagination-edge{gap:1px}.pagination .page-current,.pagination .pagination-pages a,.pagination-disabled,.pagination-edge>a{width:28px;min-width:28px;padding:4px}}@media(max-width:600px){.google-signin-header{width:40px;padding:0;gap:0}.google-signin-header .google-signin-label{display:none}}@media(prefers-reduced-motion:reduce){.google-signin{transition:none}}.article-engagement{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 0 32px}.article-engagement .like-button{margin:0;min-height:44px}.article-share{position:relative}.share-trigger{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 16px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--foreground);font-size:14px;cursor:pointer}.share-trigger:hover,.share-trigger[aria-expanded=true]{background:var(--muted)}.share-panel{position:fixed;z-index:80;width:320px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--card);box-shadow:0 8px 24px #0d17281a;text-align:left}.share-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.share-heading strong{font-size:14px;font-weight:600}.share-heading button{display:grid;place-items:center;width:32px;height:32px;border:0;background:transparent;border-radius:6px;color:var(--muted-foreground);cursor:pointer}.share-platforms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.share-platforms a,.share-platforms button{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--foreground);font-size:14px;cursor:pointer}.share-panel a:hover,.share-panel button:hover{background:var(--muted)}.share-panel :is(a,button,input):focus-visible,.share-trigger:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.share-hint{margin:12px 0;color:var(--muted-foreground);font-size:12px;line-height:1.6}.share-tools{display:flex;gap:8px;border-top:1px solid var(--border);padding-top:12px}.share-tools button{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:1;min-height:40px;border:0;border-radius:6px;background:var(--muted);color:var(--foreground);font-size:13px;cursor:pointer}.share-panel input{width:100%;margin-top:12px;padding:8px;border:1px solid var(--input);border-radius:6px;background:var(--background);font-size:12px}.share-notice{margin:8px 0 0;font-size:12px;color:var(--muted-foreground);line-height:1.5}.share-notice:empty{display:none}@media(max-width:480px){.share-panel{width:296px}}.article-body .reaction-media{display:block;width:min(100%,420px);margin:1.5rem auto}.article-body .reaction-media>img,.article-body .reaction-media>video{display:block;width:100%;height:auto;max-height:320px;object-fit:contain;margin:0;border-radius:8px}.reaction-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px;font-size:12px}.reaction-caption button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:4px 10px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--muted-foreground);cursor:pointer}.article-body .reaction-caption a{font-size:12px;color:var(--muted-foreground);text-decoration:none}.reaction-caption button:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.home-collection+.home-collection{margin-top:48px;padding-top:32px;border-top:1px solid var(--border)}.home-collection-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin:0 0 16px}.home-collection-heading h2{font-size:22px;line-height:1.4;letter-spacing:-.4px;margin:0 0 8px;font-weight:600}.home-collection-heading p{font-size:14px;line-height:1.65;color:var(--muted-foreground);margin:0}.home-collection-heading>a{display:inline-flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap;color:var(--primary)}.home-collection .story-card:last-child{border-bottom:0}@media(max-width:600px){.home-collection-heading{gap:12px}.home-collection-heading p{font-size:13px}.home-collection+.home-collection{margin-top:32px;padding-top:24px}}