/*
Theme Name: VeloNet Journal
Description: VeloNet 博客的 GeneratePress 子主题，使用原生区块编辑器。
Template: generatepress
Version: 1.1.1
Text Domain: velonet-journal
*/
:root{--vn-ink:#172635;--vn-muted:#687581;--vn-blue:#335eea;--vn-pale:#eef3ff;--vn-line:#e5eaf0;--vn-paper:#fff;--vn-surface:#f7f9fc;--vn-max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--vn-paper);color:var(--vn-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--vn-blue);text-decoration:none}a:hover{color:#2449c2}button,input,textarea,select{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #90a8ff;outline-offset:5px;border-radius:4px}.site.grid-container{max-width:var(--vn-max);padding:0 24px}.site-content{display:block}.content-area{width:100%}.inside-article,.inside-page-header{padding:0!important;background:transparent!important}.site-main{margin:0!important}.vn-wrap{max-width:var(--vn-max);margin:auto;padding:0 24px}
.vn-header{border-bottom:1px solid var(--vn-line);background:rgba(255,255,255,.96);position:relative;z-index:20}.vn-header-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:30px}.vn-brand{display:flex;gap:11px;align-items:center;color:var(--vn-ink);white-space:nowrap}.vn-brand-mark{display:grid;place-items:center;width:35px;height:37px}.vn-brand-mark svg{width:35px;height:37px}.vn-brand-word{font-size:23px;font-weight:800;letter-spacing:-.7px}.vn-brand-sep{height:17px;width:1px;background:#dce1e8;margin:0 2px}.vn-brand-note{font-size:12px;color:var(--vn-muted);letter-spacing:1.5px}.vn-nav{display:flex;align-items:center;gap:28px}.vn-nav>a{color:#5d6874;font-size:14px;font-weight:550;padding:10px 0;position:relative}.vn-nav>a:hover,.vn-nav>a[aria-current=page]{color:var(--vn-ink)}.vn-nav>a[aria-current=page]:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--vn-blue)}.vn-nav .vn-panel-link{padding:10px 17px;border:1px solid #dce3ec;border-radius:7px;color:var(--vn-ink);margin-left:8px}.vn-mobile-menu{display:none}.vn-mobile-menu summary{list-style:none;cursor:pointer;width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--vn-line);border-radius:7px;font-size:22px}.vn-mobile-menu summary::-webkit-details-marker{display:none}.vn-mobile-menu nav{position:absolute;left:20px;right:20px;top:76px;padding:16px;border:1px solid var(--vn-line);border-radius:12px;box-shadow:0 15px 40px #10203a13;background:white}.vn-mobile-menu nav a{display:block;padding:12px 10px;color:var(--vn-ink)}
.home .entry-header,.home .entry-meta,.home .post-image,.home .entry-footer{display:none}.home .site.grid-container{max-width:none;padding:0}.home .entry-content{margin:0!important}.home .page{margin-bottom:0}.vn-home{margin:0!important}.vn-hero{position:relative;background:linear-gradient(110deg,#f8faff 0%,#fff 62%,#f6f8ff 100%);border-bottom:1px solid var(--vn-line);overflow:hidden}.vn-hero-inner{max-width:var(--vn-max);margin:auto;padding:78px 24px 74px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:45px}.vn-eyebrow{display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:2.6px;color:#748397;font-weight:650;margin:0 0 23px!important}.vn-eyebrow:before{content:"";height:6px;width:6px;border-radius:50%;background:var(--vn-blue)}.vn-hero h1{font-size:58px;font-weight:750;line-height:1.32;letter-spacing:-2.5px;margin:0 0 24px!important;color:var(--vn-ink)}.vn-hero h1 em{font-style:normal;color:var(--vn-blue)}.vn-hero-copy{font-size:16px;color:var(--vn-muted);line-height:1.95;max-width:420px;margin:0 0 29px!important}.vn-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px}.vn-button{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:45px;padding:11px 19px;background:var(--vn-blue);color:#fff!important;border-radius:7px;font-size:14px;font-weight:600;box-shadow:0 5px 12px #335eea15}.vn-button:hover{background:#244bc7;color:#fff}.vn-button.vn-button-soft{background:transparent;color:var(--vn-ink)!important;border:1px solid #dce3ed;box-shadow:none}.vn-hero-footnote{font-size:11px;color:#98a1ad;margin:22px 0 0!important;letter-spacing:.6px}
.vn-visual{width:100%;max-width:400px;aspect-ratio:1.22;margin:auto;position:relative;display:grid;place-items:center;isolation:isolate}.vn-visual:before{content:"";position:absolute;inset:15px;background-image:radial-gradient(#c4cfe6 1px,transparent 1px);background-size:18px 18px;mask-image:radial-gradient(ellipse,#000 20%,transparent 72%);z-index:-2}.vn-orbit{position:absolute;width:270px;height:270px;border:1px solid #dce4fa;border-radius:50%;transform:rotate(-20deg) scaleY(.66)}.vn-orbit:after{content:"";position:absolute;width:200px;height:200px;top:34px;left:34px;border:1px dashed #cedaf5;border-radius:50%}.vn-orbit-two{transform:rotate(45deg) scaleY(.66);border-color:#e7e7f4}.vn-center-mark{width:102px;height:102px;border:1px solid #e0e7ff;border-radius:27px;background:linear-gradient(145deg,#fff,#edf2ff);box-shadow:0 22px 55px #2f54ab14;display:grid;place-items:center;position:relative;z-index:2;transform:rotate(-7deg)}.vn-center-mark svg{width:58px;height:58px;transform:rotate(7deg)}.vn-node{position:absolute;display:flex;align-items:center;gap:8px;border:1px solid #e5eaf4;background:rgba(255,255,255,.96);padding:10px 13px;border-radius:9px;box-shadow:0 8px 22px #27416e08;font-size:11px;color:#627287;white-space:nowrap}.vn-node:before{content:"";width:6px;height:6px;border-radius:50%;background:#6d8ef6}.vn-node-one{left:3%;top:17%}.vn-node-two{right:2%;top:25%}.vn-node-three{left:8%;bottom:18%}.vn-node-four{right:4%;bottom:10%}.vn-visual-label{position:absolute;top:0;right:14%;font-size:9px;letter-spacing:2.3px;color:#a1adbf}.vn-visual-caption{position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:2.8px;color:#8d9aaf;white-space:nowrap}
.vn-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;margin:32px auto 0;max-width:var(--vn-max);padding:0 24px}.vn-path-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 23px;border:1px solid var(--vn-line);border-radius:10px;color:var(--vn-ink);transition:transform .15s,border-color .15s}.vn-path-card:hover{transform:translateY(-2px);border-color:#b9c9f7;color:var(--vn-ink)}.vn-path-kicker{display:block;font-size:10px;color:#92a0b1;letter-spacing:1.5px;margin-bottom:6px}.vn-path-title{display:block;font-size:15px;font-weight:650}.vn-path-arrow{color:var(--vn-blue);font-size:21px}.vn-editorial{max-width:var(--vn-max);margin:0 auto;padding:58px 24px 65px}.vn-section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:27px;gap:20px}.vn-section-label{font-size:10px;letter-spacing:2.4px;color:#9aa6b7;margin:0 0 9px!important}.vn-section-head h2{font-size:27px;font-weight:700;letter-spacing:-.6px;margin:0!important}.vn-section-head>a{font-size:13px;color:#6a798a;white-space:nowrap}.vn-article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.vn-story{border:1px solid var(--vn-line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;background:#fff;transition:box-shadow .15s,transform .15s}.vn-story:hover{box-shadow:0 10px 25px #16365c09;transform:translateY(-2px)}.vn-story-art{height:154px;padding:22px;position:relative;overflow:hidden;display:flex;align-items:flex-end;background:var(--vn-pale);color:#6e8bd6}.vn-story-art:before,.vn-story-art:after{content:"";position:absolute;border:1px solid currentColor;opacity:.2;border-radius:50%;width:160px;height:160px;right:-13px;top:-49px}.vn-story-art:after{width:220px;height:220px;right:-43px;top:-79px}.vn-story-symbol{position:absolute;right:28px;bottom:22px;font-size:48px;font-weight:500;letter-spacing:-4px;line-height:1;opacity:.45}.vn-story-art-label{font-size:10px;letter-spacing:2.1px;font-weight:650}.vn-tone-1{background:#eff5f2;color:#65937d}.vn-tone-2{background:#f5f0fa;color:#9a82b8}.vn-tone-3{background:#fcf4e9;color:#b99a64}.vn-story-body{padding:22px 22px 18px;display:flex;flex-direction:column;flex:1}.vn-story-category{font-size:10px;color:var(--vn-blue);font-weight:650;letter-spacing:.7px;margin-bottom:10px}.vn-story h3{font-size:17px;font-weight:650;line-height:1.6;margin:0 0 10px}.vn-story h3 a{color:var(--vn-ink)}.vn-story-description{font-size:13px;line-height:1.85;color:var(--vn-muted);margin:0 0 23px;flex:1}.vn-story-meta{border-top:1px solid #edf0f4;padding-top:14px;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#9aa4af}.vn-story-meta a{color:#607394;font-size:12px}.vn-notice{max-width:calc(var(--vn-max) - 48px);margin:0 auto 70px;border-radius:12px;padding:31px 35px;display:flex;justify-content:space-between;align-items:center;gap:24px;background:#f6f8fc;border:1px solid var(--vn-line)}.vn-notice h2{margin:0 0 7px!important;font-size:21px}.vn-notice p{margin:0!important;font-size:13px;color:var(--vn-muted);line-height:1.8}
.vn-footer{border-top:1px solid var(--vn-line);padding:38px 0 26px;background:#fbfcfe}.vn-footer-top{display:flex;justify-content:space-between;gap:35px;align-items:flex-start}.vn-footer-name{font-size:18px;font-weight:800;margin-bottom:9px;color:var(--vn-ink)}.vn-footer-tagline{font-size:12px;color:#8b97a6;line-height:1.8}.vn-footer-nav{display:flex;flex-wrap:wrap;gap:24px;font-size:12px;padding-top:7px}.vn-footer-nav a{color:#6e7a88}.vn-footer-bottom{border-top:1px solid var(--vn-line);margin-top:29px;padding-top:19px;display:flex;justify-content:space-between;gap:14px;font-size:10px;color:#99a3af;letter-spacing:.3px}
body:not(.home) .site-main{padding-top:55px;padding-bottom:65px}.single-post .site.grid-container,.page:not(.home) .site.grid-container{max-width:860px}.entry-title{font-size:36px;line-height:1.45;letter-spacing:-1px;color:var(--vn-ink)}.entry-meta{color:#8c97a5;font-size:12px;margin-top:15px}.entry-meta a{color:#7e8c9d}.entry-content{font-size:16px;line-height:1.95;margin-top:30px!important}.entry-content h2{font-size:24px;margin:35px 0 15px}.entry-content h3{font-size:19px;margin:25px 0 12px}.entry-content p{margin-bottom:20px}.entry-content ul,.entry-content ol{margin:0 0 22px 22px}.entry-content blockquote{border:0;border-left:3px solid var(--vn-blue);background:#f4f7fd;padding:16px 23px;font-size:15px;font-style:normal;color:#5d6c80}.entry-content blockquote p:last-child{margin:0}.entry-content .wp-block-button__link{border-radius:7px;background:var(--vn-blue);padding:11px 19px;font-size:14px}.entry-content table{font-size:14px}.entry-content th,.entry-content td{padding:12px;border-color:var(--vn-line)}.entry-footer{font-size:12px;color:var(--vn-muted);padding-top:24px;border-top:1px solid var(--vn-line)}.post-navigation{margin-top:35px;font-size:13px}.inside-right-sidebar{display:none}.archive .page-header,.blog .page-header{margin-bottom:32px}.archive .page-title,.blog .page-title{font-size:32px}.archive .site-main>article,.blog .site-main>article{padding:27px 0;border-bottom:1px solid var(--vn-line);margin:0}.archive .entry-title,.blog .entry-title{font-size:24px}.archive .entry-summary,.blog .entry-summary{font-size:14px;color:var(--vn-muted);line-height:1.9}.archive .entry-summary p,.blog .entry-summary p{margin-bottom:0}.archive .entry-footer,.blog .entry-footer{display:none}.wp-block-separator{border-color:var(--vn-line)}.vn-page-lead{font-size:18px;color:#738193}.vn-screenreader{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1500px){.vn-hero-inner{padding-top:88px;padding-bottom:83px}}@media(max-width:900px){.vn-nav{gap:19px}.vn-brand-note,.vn-brand-sep{display:none}.vn-hero-inner{padding:58px 24px;gap:15px}.vn-hero h1{font-size:47px}.vn-visual{transform:scale(.88)}.vn-path-card{padding:19px 17px}.vn-story-body{padding:19px 17px}.vn-story h3{font-size:16px}.vn-story-art{height:135px}}@media(max-width:680px){.vn-header-inner{height:74px}.vn-brand-word{font-size:21px}.vn-nav{display:none}.vn-mobile-menu{display:block}.vn-wrap,.site.grid-container{padding-left:20px;padding-right:20px}.vn-hero-inner{grid-template-columns:1fr;padding:47px 22px 42px}.vn-hero h1{font-size:43px;letter-spacing:-1.8px}.vn-hero-copy{font-size:14px;max-width:330px;line-height:1.95}.vn-eyebrow{font-size:9px;letter-spacing:2px;margin-bottom:20px!important}.vn-hero-footnote{font-size:10px}.vn-visual{display:none}.vn-actions{gap:10px}.vn-button{font-size:13px;padding:11px 16px}.vn-paths{padding:0 20px;margin-top:24px;grid-template-columns:1fr;gap:10px}.vn-path-card{padding:17px 19px}.vn-path-kicker{font-size:9px;margin-bottom:4px}.vn-path-title{font-size:14px}.vn-editorial{padding:40px 20px 37px}.vn-section-head{margin-bottom:21px}.vn-section-head h2{font-size:24px}.vn-article-grid{grid-template-columns:1fr;gap:18px}.vn-story{display:grid;grid-template-columns:1fr}.vn-story-art{height:125px}.vn-story-body{padding:20px}.vn-story h3{font-size:18px}.vn-story-description{font-size:13px;margin-bottom:18px}.vn-notice{margin:0 20px 42px;padding:24px;display:block}.vn-notice h2{font-size:20px}.vn-notice .vn-button{margin-top:19px}.vn-footer{padding-top:28px}.vn-footer-top{display:block}.vn-footer-nav{margin-top:20px;gap:20px}.vn-footer-bottom{flex-direction:column;gap:7px;font-size:10px}body:not(.home) .site-main{padding-top:35px;padding-bottom:40px}.entry-title{font-size:29px;letter-spacing:-.6px}.entry-content{font-size:15px;line-height:1.95}.entry-content h2{font-size:22px}.entry-content .wp-block-buttons{gap:10px}.archive .entry-title,.blog .entry-title{font-size:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Neutralize GeneratePress spacing inside the block-based landing page. */
.home .site-content{padding:0!important}.home .vn-home>.wp-block-group__inner-container,.home .vn-editorial>.wp-block-group__inner-container{padding:0!important}.home .site-main>.page{margin:0!important}

/* Article illustrations and navigation. Preserve the existing three-column grid. */
.vn-story-art.vn-story-has-image{padding:0;background:#f4f7ff;height:auto;aspect-ratio:1280/840}
.vn-story-has-image:before,.vn-story-has-image:after{display:none}
.vn-story-img{display:block;width:100%;height:100%;object-fit:contain}
.single-post .site-content,.page:not(.home) .site-content{padding:0}
.vn-breadcrumbs{font-size:12px;line-height:1.8;color:var(--vn-muted);margin-bottom:23px}
.vn-breadcrumbs a{color:#61738b}.vn-breadcrumbs .breadcrumb_last{color:#8190a2}
.entry-content .vn-answer{padding:18px 22px;background:#f4f7ff;border-left:3px solid var(--vn-blue);border-radius:0 8px 8px 0;font-size:16px;line-height:1.9}
.entry-content .vn-figure{margin:28px 0 34px}.vn-figure img{display:block;width:100%;height:auto;border-radius:12px}
.vn-figure figcaption{font-size:12px;line-height:1.8;color:var(--vn-muted);margin-top:10px;text-align:left}
.entry-content details{margin:24px 0;padding:16px 20px;border:1px solid var(--vn-line);border-radius:8px}
.entry-content summary{cursor:pointer;font-size:15px;font-weight:600;line-height:1.8}
.entry-content details[open] summary{margin-bottom:12px}.entry-content details p:last-child{margin-bottom:0}
.vn-table-wrap{overflow-x:auto;margin:22px 0}.vn-table-wrap table{margin:0;min-width:450px}.vn-table-wrap th{background:#f7f9fd;text-align:left}
.vn-related{margin:36px 0 26px;padding:22px 24px;background:#f7f9fc;border-radius:10px}
.entry-content .vn-related h2{font-size:20px;margin:0 0 13px}.entry-content .vn-related ul{margin-bottom:0}
.entry-content .vn-sources{font-size:13px;color:var(--vn-muted)}.entry-content .vn-sources summary{font-size:13px}
.archive .post-image,.blog .post-image{max-width:420px}.archive .post-image img,.blog .post-image img{width:100%;height:auto;border-radius:10px}
@media(max-width:680px){.entry-content .vn-answer{font-size:15px;padding:15px 17px}.vn-related{padding:19px}.entry-content details{padding:14px 16px}.vn-figure figcaption{font-size:11px}}
