:root{--c-primary-50:#EFF5FF;--c-primary-100:#D9E6FB;--c-primary-300:#8FB6EE;--c-primary-500:#2A6BD4;--c-primary-600:#1C56B5;--c-primary-700:#14418C;--c-primary-900:#0B2752;--c-neutral-0:#FFFFFF;--c-neutral-50:#F7F8FA;--c-neutral-100:#EFF1F5;--c-neutral-200:#E1E5EB;--c-neutral-400:#9AA3AF;--c-neutral-600:#5A6472;--c-neutral-900:#1F2937;--c-success:#15803D;--c-success-bg:#ECFDF3;--c-warning:#B45309;--c-warning-bg:#FFFBEB;--c-danger:#B91C1C;--c-danger-bg:#FEF2F2;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-6:24px;--sp-8:32px;--sp-12:48px;--sp-16:64px;--sp-20:80px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-pill:999px;--shadow-sm:0 1px 2px rgba(16,24,40,.05);--shadow-md:0 4px 12px rgba(16,24,40,.06);--shadow-lg:0 12px 32px rgba(11,39,82,.1);--container:1200px;--header-h:72px;--font-sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--c-neutral-0);color:var(--c-neutral-900);font-family:var(--font-sans);font-size:16px;line-height:1.6;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;overflow-x:hidden}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}ul{margin:0;padding:0;list-style:none}h1,h2,h3,h4,p{margin:0}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}:focus-visible{outline:3px solid var(--c-primary-500);outline-offset:2px;border-radius:var(--r-sm)}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--sp-6)}.skip-link{position:absolute;left:var(--sp-4);top:-60px;z-index:100;background:var(--c-primary-600);color:#fff;padding:10px 16px;border-radius:var(--r-md);transition:top .2s ease}.skip-link:focus{top:var(--sp-3)}.icon{width:20px;height:20px;flex:none;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.icon-sm{width:16px;height:16px}.icon-lg{width:24px;height:24px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);height:44px;padding:0 20px;border-radius:var(--r-md);font-size:15px;font-weight:500;line-height:1;white-space:nowrap;transition:transform .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease}.btn:hover{transform:scale(1.03)}.btn:active{transform:scale(.97)}.btn-outline{background:transparent;color:var(--c-primary-700);border:1px solid var(--c-primary-300)}.btn-outline:hover{background:var(--c-primary-50);border-color:var(--c-primary-500)}.btn-ghost{background:var(--c-neutral-100);color:var(--c-neutral-900)}.btn-ghost:hover{background:var(--c-neutral-200)}.btn-sm{height:38px;padding:0 16px;font-size:14px}.btn[disabled]{opacity:.6;cursor:not-allowed;transform:none}.btn-block{width:100%}.btn.is-error{background:var(--c-danger)}.text-link{display:inline-flex;align-items:center;gap:6px;color:var(--c-primary-700);font-size:14px;font-weight:500;transition:transform .2s ease,color .2s ease}.text-link .icon{width:16px;height:16px;transition:transform .2s ease}.text-link:hover{color:var(--c-primary-500)}.text-link:hover .icon{transform:translate(3px)}.site-header{position:sticky;top:0;z-index:50;background:#ffffffdb;border-bottom:1px solid transparent;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease;backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px)}.site-header.is-scrolled{background:#fffffff0;border-bottom-color:var(--c-neutral-200);box-shadow:var(--shadow-sm)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-6);height:var(--header-h)}.brand{display:flex;align-items:center;gap:10px;flex:none}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:var(--r-md);background:var(--c-primary-600);color:#fff;box-shadow:var(--shadow-sm)}.brand-mark svg{width:23px;height:23px;display:block}.brand-text{display:flex;flex-direction:column;line-height:1.15}.brand-text strong{font-size:18px;font-weight:600;letter-spacing:.5px}.brand-text small{font-size:10px;letter-spacing:1.2px;color:var(--c-neutral-400);font-weight:400}.nav ul{display:flex;align-items:center;gap:var(--sp-2)}.nav a{display:block;padding:8px 14px;border-radius:var(--r-sm);font-size:15px;color:var(--c-neutral-900);transition:background-color .2s ease,color .2s ease}.nav a:hover{background:var(--c-primary-50);color:var(--c-primary-700)}.header-actions{display:flex;align-items:center;gap:var(--sp-2)}.nav-toggle{display:none;place-items:center;width:44px;height:44px;border-radius:var(--r-md);border:1px solid var(--c-neutral-200);color:var(--c-neutral-900)}.nav-toggle:hover{background:var(--c-neutral-50)}.nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:58;background:#0b275259;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}.nav-panel{position:fixed;z-index:60;left:0;right:0;top:0;background:#fff;padding:var(--sp-4) var(--sp-6) var(--sp-6);transform:translateY(-100%);transition:transform .25s ease;box-shadow:var(--shadow-lg)}body.nav-open .nav-backdrop{opacity:1;visibility:visible}body.nav-open .nav-panel{transform:translateY(0)}.nav-panel-head{display:flex;align-items:center;justify-content:space-between;height:56px}.nav-panel ul{display:flex;flex-direction:column;padding:var(--sp-2) 0 var(--sp-4)}.nav-panel a{display:block;padding:14px 4px;font-size:16px;border-bottom:1px solid var(--c-neutral-100)}.nav-panel .btn{width:100%;margin-top:var(--sp-3)}.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#f2f6fd,#fff);padding:var(--sp-12) 0 var(--sp-16)}.hero-grid{display:grid;gap:var(--sp-12);align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:var(--r-pill);background:#fff;border:1px solid var(--c-primary-100);color:var(--c-primary-700);font-size:13px;box-shadow:var(--shadow-sm)}.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--c-primary-500)}.hero h1{margin-top:var(--sp-6);font-size:30px;line-height:1.3;font-weight:600;letter-spacing:-.5px}.hero h1 em{font-style:normal;color:var(--c-primary-600)}.hero-sub{margin-top:var(--sp-4);max-width:34em;font-size:16px;color:var(--c-neutral-600)}.hero-cta{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-8)}.hero-facts{display:flex;flex-wrap:wrap;gap:var(--sp-6);margin-top:var(--sp-8);padding-top:var(--sp-6);border-top:1px solid var(--c-neutral-200)}.hero-fact{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--c-neutral-600)}.hero-fact .icon{width:18px;height:18px;color:var(--c-primary-500)}.hero-visual,.carousel{position:relative}.carousel-viewport{overflow:hidden;border:1px solid var(--c-neutral-200);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);background:#fff}.carousel-track{display:flex;margin:0;padding:0;list-style:none;transition:transform .45s cubic-bezier(.22,.61,.36,1)}.slide{flex:0 0 100%;min-width:100%}.slide-link{position:relative;display:block;aspect-ratio:16/10;color:var(--c-neutral-900)}.slide-art{position:absolute;top:0;right:0;bottom:0;left:0}.slide-art svg{display:block;width:100%;height:100%}.slide-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.slide-copy{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:5px;padding:var(--sp-8) var(--sp-6) var(--sp-4);background:linear-gradient(180deg,#fff0,#ffffffed 44%,#fff)}.slide-tag{align-self:flex-start;padding:3px 10px;border-radius:var(--r-pill);font-size:12px;font-weight:500;background:var(--c-primary-50);color:var(--c-primary-700)}.slide-tag-warn{background:var(--c-warning-bg);color:var(--c-warning)}.slide-copy strong{font-size:clamp(15px,1.3vw,17px);font-weight:600;line-height:1.45;letter-spacing:-.2px}.slide-copy time{font-size:12px;color:var(--c-neutral-400)}.slide-link:hover .slide-copy strong{color:var(--c-primary-700)}.slide-link:focus-visible{outline:2px solid var(--c-primary-600);outline-offset:-2px;border-radius:var(--r-lg)}.carousel-btn{position:absolute;top:34%;z-index:3;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--c-neutral-200);background:#fffffff0;color:var(--c-primary-700);cursor:pointer;box-shadow:var(--shadow-md);transition:transform .2s ease,background-color .2s ease}.carousel-btn:hover{background:#fff;transform:scale(1.05)}.carousel-btn:active{transform:scale(.95)}.carousel-btn .icon{width:18px;height:18px}.carousel-prev{left:var(--sp-3)}.carousel-next{right:var(--sp-3)}.carousel-dots{display:flex;justify-content:center;gap:2px;margin-top:var(--sp-4)}.carousel-dot{display:grid;place-items:center;width:26px;height:26px;padding:0;border:0;background:none;cursor:pointer}.carousel-dot i{display:block;width:8px;height:8px;border-radius:var(--r-pill);background:var(--c-neutral-400);transition:width .25s ease,background-color .25s ease}.carousel-dot:hover i{background:var(--c-primary-500)}.carousel-dot[aria-current=true] i{width:22px;background:var(--c-primary-600)}.section{padding:var(--sp-16) 0}.section-alt{background:var(--c-neutral-50)}.section-head{max-width:640px}.section-head .label{font-size:13px;font-weight:500;color:var(--c-primary-600);letter-spacing:1px}.section-head h2{margin-top:var(--sp-2);font-size:24px;font-weight:600;letter-spacing:-.3px}.section-head p{margin-top:var(--sp-3);font-size:15px;color:var(--c-neutral-600)}.section-head-row{display:flex;flex-wrap:wrap;gap:var(--sp-4);align-items:flex-end;justify-content:space-between}.grid-cards{display:grid;gap:var(--sp-6);margin-top:var(--sp-8)}.grid-3,.grid-2{grid-template-columns:1fr}.news-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--c-neutral-200);border-radius:var(--r-lg);overflow:hidden;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.news-card:hover{transform:translateY(-2px);border-color:var(--c-primary-300);box-shadow:var(--shadow-md)}.news-cover{position:relative;height:158px;overflow:hidden;background:var(--c-primary-50);display:grid;place-items:center}.news-cover svg{width:100%;height:100%}.news-cover img{width:100%;height:100%;object-fit:cover;object-position:center}.news-body{display:flex;flex-direction:column;flex:1;padding:var(--sp-4) var(--sp-6) var(--sp-6)}.tag{align-self:flex-start;padding:3px 10px;border-radius:var(--r-pill);font-size:12px;font-weight:500;background:var(--c-primary-50);color:var(--c-primary-700)}.tag-neutral{background:var(--c-neutral-100);color:var(--c-neutral-600)}.tag-warn{background:var(--c-warning-bg);color:var(--c-warning)}.news-card h3{margin-top:var(--sp-3);font-size:17px;font-weight:600;line-height:1.45}.news-card p{margin-top:var(--sp-2);font-size:14px;color:var(--c-neutral-600);flex:1}.news-meta{display:flex;align-items:center;gap:8px;margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:1px solid var(--c-neutral-100);font-size:13px;color:var(--c-neutral-400)}.empty-state{margin-top:var(--sp-8);padding:var(--sp-12) var(--sp-6);text-align:center;border:1px dashed var(--c-neutral-200);border-radius:var(--r-lg);background:#fff;color:var(--c-neutral-600)}.empty-state .icon{width:32px;height:32px;margin:0 auto var(--sp-3);color:var(--c-neutral-400)}.empty-state strong{display:block;font-size:16px;font-weight:500;color:var(--c-neutral-900)}.empty-state span{display:block;margin-top:6px;font-size:14px}.soft-card{display:grid;grid-template-columns:auto 1fr;gap:var(--sp-4);padding:var(--sp-6);background:#fff;border:1px solid var(--c-neutral-200);border-radius:var(--r-lg);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.soft-card:hover{transform:translateY(-2px);border-color:var(--c-primary-300);box-shadow:var(--shadow-md)}.soft-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:var(--r-md);overflow:hidden;background:var(--c-primary-50);color:var(--c-primary-600)}.soft-icon .icon{width:26px;height:26px}.soft-icon img{display:block;width:100%;height:100%;object-fit:cover}.soft-main{min-width:0}.soft-main h3{font-size:17px;font-weight:600}.soft-main>p{margin-top:6px;font-size:14px;color:var(--c-neutral-600)}.soft-meta{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--c-neutral-100)}.soft-meta li{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--c-neutral-600)}.soft-meta .icon{width:15px;height:15px;color:var(--c-neutral-400)}.soft-actions{grid-column:1/-1;display:flex;align-items:center;gap:var(--sp-4);margin-top:var(--sp-2)}.news-card{position:relative}.news-card .card-link:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.news-card:hover h3{color:var(--c-primary-700)}.news-card:focus-within{outline:3px solid var(--c-primary-500);outline-offset:2px}.soft-unavailable{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:13px;color:var(--c-neutral-600)}.soft-unavailable .icon{width:15px;height:15px;color:var(--c-warning)}.about-grid{display:grid;gap:40px;margin-top:var(--sp-8)}.about-copy{display:flex;flex-direction:column}.about-copy .label{font-size:13px;font-weight:500;color:var(--c-primary-600);letter-spacing:1px}.about-copy h2{margin-top:var(--sp-2);font-size:24px;font-weight:600}.about-copy p{margin-top:var(--sp-4);font-size:15px;color:var(--c-neutral-600)}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4);margin-top:var(--sp-8);padding:var(--sp-6) 0;border-top:1px solid var(--c-neutral-200);border-bottom:1px solid var(--c-neutral-200)}.fact strong{display:block;font-size:24px;font-weight:600;color:var(--c-primary-700);line-height:1.2}.fact span{display:block;margin-top:6px;font-size:13px;color:var(--c-neutral-600)}.contact-card{background:#fff;border:1px solid var(--c-neutral-200);border-radius:var(--r-lg);padding:var(--sp-6);box-shadow:var(--shadow-sm)}.contact-card h3{font-size:17px;font-weight:600}.contact-list{margin-top:var(--sp-4);display:grid;gap:var(--sp-4)}.contact-item{display:flex;gap:12px;font-size:14px}.contact-item .icon{width:18px;height:18px;margin-top:3px;color:var(--c-primary-600)}.contact-item dt{font-size:13px;color:var(--c-neutral-400)}.contact-item dd{margin:2px 0 0;color:var(--c-neutral-900)}.contact-link{color:var(--c-primary-700);text-decoration:none;border-bottom:1px solid var(--c-primary-300);transition:color .2s ease,border-color .2s ease}.contact-link:hover{color:var(--c-primary-600);border-color:var(--c-primary-600)}.site-footer{background:var(--c-primary-900);color:#c7d6ec;padding:var(--sp-16) 0 0}.footer-grid{display:grid;gap:var(--sp-8)}.footer-brand .brand-text strong{color:#fff}.footer-brand .brand-text small{color:#7e96bc}.footer-brand p{margin-top:var(--sp-4);max-width:30em;font-size:13px;line-height:1.7;color:#a8bedc}.site-footer h4{font-size:14px;font-weight:600;color:#fff;margin-bottom:var(--sp-4)}.site-footer li+li{margin-top:10px}.site-footer a,.site-footer .footer-text{font-size:13px;color:#a8bedc;transition:color .2s ease}.site-footer a:hover{color:#fff}.footer-bottom{display:flex;flex-wrap:wrap;gap:var(--sp-4);align-items:center;margin-top:var(--sp-12);padding:var(--sp-4) 0 var(--sp-6);border-top:1px solid rgba(255,255,255,.12);font-size:13px;color:#a8bedc}.footer-bottom .meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-4)}.footer-bottom .icp-no{color:#c7d6ec}.footer-bottom .icp-no b{font-weight:500}.footer-bottom .icp-link{color:#a8bedc;text-decoration:none;border-bottom:1px solid rgba(168,190,220,.35)}.footer-bottom .icp-link:hover{color:#fff;border-bottom-color:currentColor}.site-footer :focus-visible{outline-color:#8fb6ee}.breadcrumb{padding:var(--sp-6) 0 0;font-size:13px;color:var(--c-neutral-400)}.breadcrumb ol,.breadcrumb li{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}.breadcrumb li{min-width:0}.breadcrumb a{color:var(--c-neutral-600);transition:color .2s ease}.breadcrumb a:hover{color:var(--c-primary-600)}.breadcrumb .icon{width:14px;height:14px;color:var(--c-neutral-400)}.breadcrumb [aria-current=page]{color:var(--c-neutral-900);max-width:20em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.article{max-width:760px;margin:0 auto;padding:var(--sp-8) 0 var(--sp-16)}.article-head h1{margin-top:var(--sp-3);font-size:26px;line-height:1.35;font-weight:600;letter-spacing:-.3px}.article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-6);margin-top:var(--sp-4);padding-bottom:var(--sp-6);border-bottom:1px solid var(--c-neutral-200);font-size:13px;color:var(--c-neutral-400)}.article-meta .meta-item{display:flex;align-items:center;gap:6px}.article-meta .icon{width:15px;height:15px;color:var(--c-neutral-400)}.article-cover{margin-top:var(--sp-8);aspect-ratio:16/9;display:grid;place-items:center;border:1px solid var(--c-neutral-200);border-radius:var(--r-lg);overflow:hidden;background:var(--c-primary-50)}.article-cover svg{width:100%;height:100%}.article-cover img{width:100%;height:100%;object-fit:cover}.article-lede{margin-top:var(--sp-8);padding:var(--sp-4) var(--sp-6);border-left:3px solid var(--c-primary-300);border-radius:0 var(--r-md) var(--r-md) 0;background:var(--c-neutral-50);font-size:15px;color:var(--c-neutral-600)}.prose{margin-top:var(--sp-8);font-size:16px;line-height:1.85;color:var(--c-neutral-900)}.prose>*+*{margin-top:var(--sp-6)}.prose>:first-child{margin-top:0}.prose h2{margin-top:var(--sp-12);font-size:20px;font-weight:600;line-height:1.45}.prose h3{margin-top:var(--sp-8);font-size:17px;font-weight:600;line-height:1.5}.prose h4{margin-top:var(--sp-6);font-size:16px;font-weight:600;line-height:1.5}.prose h2+*,.prose h3+*,.prose h4+*{margin-top:var(--sp-3)}.prose ul{list-style:disc;padding-left:1.4em}.prose ol{list-style:decimal;padding-left:1.5em}.prose li+li{margin-top:var(--sp-2)}.prose code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em;padding:2px 6px;border-radius:var(--r-sm);background:var(--c-neutral-100);color:var(--c-primary-700)}.prose pre{margin:0;padding:var(--sp-4) var(--sp-6);border:1px solid var(--c-neutral-200);border-radius:var(--r-md);background:var(--c-neutral-50);overflow-x:auto}.prose pre code{padding:0;background:none;color:var(--c-neutral-900);font-size:13px;line-height:1.7}.prose blockquote{margin:0;padding:var(--sp-3) var(--sp-6);border-left:3px solid var(--c-primary-300);border-radius:0 var(--r-md) var(--r-md) 0;background:var(--c-primary-50);color:var(--c-neutral-600)}.prose blockquote>*+*{margin-top:var(--sp-3)}.prose hr{border:0;border-top:1px solid var(--c-neutral-200)}.prose a{color:var(--c-primary-700);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--c-primary-300);transition:color .2s ease,text-decoration-color .2s ease}.prose a:hover{color:var(--c-primary-600);text-decoration-color:var(--c-primary-600)}.pager{display:grid;gap:var(--sp-4);margin-top:var(--sp-12);padding-top:var(--sp-8);border-top:1px solid var(--c-neutral-200)}.pager-item{display:flex;flex-direction:column;gap:6px;padding:var(--sp-4) var(--sp-6);border:1px solid var(--c-neutral-200);border-radius:var(--r-md);background:#fff;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.pager-item:hover{transform:translateY(-2px);border-color:var(--c-primary-300);box-shadow:var(--shadow-md)}.pager-item .label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--c-neutral-400)}.pager-item .label .icon{width:14px;height:14px}.pager-item strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:15px;font-weight:500;line-height:1.5}.pager-item:hover strong{color:var(--c-primary-700)}.article-cta{margin-top:var(--sp-12);padding:var(--sp-8);text-align:center;border:1px solid var(--c-primary-100);border-radius:var(--r-lg);background:var(--c-primary-50)}.article-cta strong{display:block;font-size:17px;font-weight:600}.article-cta p{margin-top:var(--sp-2);font-size:14px;color:var(--c-neutral-600)}.article-cta .btn{margin-top:var(--sp-6)}.error-page{min-height:100vh;display:grid;place-items:center;padding:var(--sp-16) var(--sp-6);background:linear-gradient(180deg,#f2f6fd,#fff)}.error-box{width:100%;max-width:520px;text-align:center}.error-mark{display:inline-grid;place-items:center;width:48px;height:48px;margin-bottom:var(--sp-6);border-radius:var(--r-md);background:var(--c-primary-600);color:#fff}.error-mark svg{width:28px;height:28px}.error-code{font-size:64px;font-weight:600;line-height:1;letter-spacing:-2px;color:var(--c-primary-600)}.error-box h1{margin-top:var(--sp-4);font-size:22px;font-weight:600}.error-box p{margin-top:var(--sp-3);font-size:15px;color:var(--c-neutral-600)}.error-actions{display:flex;flex-wrap:wrap;gap:var(--sp-3);justify-content:center;margin-top:var(--sp-8)}@media(min-width:768px){.article-head h1{font-size:30px}.pager{grid-template-columns:1fr 1fr}.pager-item.is-next{grid-column:2;text-align:right;align-items:flex-end}.pager-item.is-next .label{flex-direction:row-reverse}}@media(max-width:575px){.article{padding:var(--sp-6) 0 var(--sp-12)}.article-head h1{font-size:22px}.article-lede{padding:var(--sp-3) var(--sp-4)}.prose{font-size:15px;line-height:1.8}.prose pre{padding:var(--sp-3) var(--sp-4)}.error-code{font-size:52px}}@media(min-width:576px){.hero h1{font-size:30px}}@media(min-width:768px){.section{padding:var(--sp-20) 0}.hero{padding:var(--sp-16) 0 var(--sp-20)}.grid-3,.grid-2{grid-template-columns:repeat(2,1fr)}.section-head h2{font-size:30px}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}}@media(min-width:992px){.nav-toggle{display:none}.hero-grid{grid-template-columns:1.05fr .95fr;gap:var(--sp-16)}.hero h1{font-size:38px}.grid-3{grid-template-columns:repeat(3,1fr)}.about-grid{grid-template-columns:1fr 1fr;gap:var(--sp-12)}.footer-grid{grid-template-columns:1.6fr 1fr 1.3fr;gap:var(--sp-12)}}@media(max-width:991px){.nav{display:none}.nav-toggle{display:grid}.header-actions .btn{display:none}}@media(max-width:575px){.container{padding:0 var(--sp-4)}.section{padding:var(--sp-12) 0}.carousel-btn{width:34px;height:34px}.carousel-btn .icon{width:16px;height:16px}.slide-copy{padding:var(--sp-6) var(--sp-4) var(--sp-3)}.soft-card{grid-template-columns:1fr}.soft-icon{width:48px;height:48px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}:root{--c-primary-50: #EFF5FF;--c-primary-100: #D9E6FB;--c-primary-300: #8FB6EE;--c-primary-500: #2A6BD4;--c-primary-600: #1C56B5;--c-primary-700: #14418C;--c-primary-900: #0B2752;--c-neutral-0: #FFFFFF;--c-neutral-50: #F7F8FA;--c-neutral-100: #EFF1F5;--c-neutral-200: #E1E5EB;--c-neutral-300: #CBD2DB;--c-neutral-400: #9AA3AF;--c-neutral-600: #5A6472;--c-neutral-900: #1F2937;--c-success: #15803D;--c-success-bg: #ECFDF3;--c-warning: #B45309;--c-warning-bg: #FFFBEB;--c-danger: #B91C1C;--c-danger-bg: #FEF2F2;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--sidebar-w: 232px;--topbar-h: 60px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--shadow-md: 0 4px 12px rgba(16, 24, 40, .08);--shadow-lg: 0 12px 32px rgba(16, 24, 40, .18);--font: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans CJK SC", sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);font-size:14px;line-height:1.6;color:var(--c-neutral-900);background:var(--c-neutral-50)}h1,h2,h3,h4{margin:0;font-weight:600;line-height:1.35}p{margin:0}a{color:var(--c-primary-600);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--c-primary-600);outline-offset:2px;border-radius:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.admin-shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh}.admin-sidebar{background:var(--c-primary-900);color:#dce6f5;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.admin-brand{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.12);min-height:var(--topbar-h)}.admin-brand .mark{width:30px;height:30px;flex:none;border-radius:8px;background:var(--c-primary-600);display:grid;place-items:center;color:#fff}.admin-brand .mark svg{width:21px;height:21px;display:block}.admin-brand .text strong{display:block;font-size:15px;color:#fff;letter-spacing:.02em}.admin-brand .text small{display:block;font-size:10px;letter-spacing:.12em;color:#8fb6ee}.admin-nav{padding:12px 10px;overflow-y:auto;flex:1}.admin-nav ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}.admin-nav a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius-sm);color:#c7d6ec;font-size:14px}.admin-nav a:hover{background:#ffffff14;color:#fff;text-decoration:none}.admin-nav a[aria-current=page]{background:var(--c-primary-600);color:#fff;font-weight:500}.admin-nav a svg{width:17px;height:17px;flex:none}.admin-nav .nav-group{padding:14px 12px 6px;font-size:11px;letter-spacing:.1em;color:#7c93b5}.admin-sidebar-foot{padding:12px 16px;border-top:1px solid rgba(255,255,255,.12);font-size:12px;color:#8fb6ee}.admin-main{display:flex;flex-direction:column;min-width:0}.admin-topbar{display:flex;align-items:center;gap:12px;padding:0 20px;min-height:var(--topbar-h);background:var(--c-neutral-0);border-bottom:1px solid var(--c-neutral-200);position:sticky;top:0;z-index:20}.admin-topbar h1{font-size:17px}.admin-topbar .spacer{flex:1}.admin-topbar .who{font-size:13px;color:var(--c-neutral-600)}.admin-topbar .who b{color:var(--c-neutral-900);font-weight:600}.admin-content{padding:20px;display:grid;gap:16px;align-content:start}.admin-toggle{display:none;width:36px;height:36px;border:1px solid var(--c-neutral-200);background:var(--c-neutral-0);border-radius:var(--radius-sm);color:var(--c-neutral-900);cursor:pointer;place-items:center}.admin-toggle svg{width:19px;height:19px}.card{background:var(--c-neutral-0);border:1px solid var(--c-neutral-200);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.card-head{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--c-neutral-100)}.card-head h2{font-size:15px}.card-head .spacer{flex:1}.card-head .hint{font-size:12px;color:var(--c-neutral-600)}.card-body{padding:18px}.card-foot{padding:12px 18px;border-top:1px solid var(--c-neutral-100);display:flex;align-items:center;gap:12px}.stat-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.stat{background:var(--c-neutral-0);border:1px solid var(--c-neutral-200);border-radius:var(--radius-md);padding:16px;box-shadow:var(--shadow-sm)}.stat .label{font-size:12px;color:var(--c-neutral-600)}.stat .value{font-size:26px;font-weight:600;letter-spacing:-.01em;margin-top:4px;color:var(--c-primary-900)}.stat .sub{font-size:12px;color:var(--c-neutral-600);margin-top:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:14px;font-weight:500;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;background:var(--c-neutral-100);color:var(--c-neutral-900);text-decoration:none;transition:transform .18s ease,background-color .18s ease,border-color .18s ease}.btn:hover{text-decoration:none}.btn:active{transform:scale(.98)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:var(--c-primary-600);color:#fff}.btn-primary:hover{background:var(--c-primary-700)}.btn-outline{background:var(--c-neutral-0);border-color:var(--c-neutral-300);color:var(--c-neutral-900)}.btn-outline:hover{border-color:var(--c-primary-600);color:var(--c-primary-700)}.btn-danger{background:var(--c-danger);color:#fff}.btn-danger:hover{background:#991b1b}.btn-ghost{background:transparent;color:var(--c-primary-600)}.btn-ghost:hover{background:var(--c-primary-50)}.btn-sm{padding:5px 10px;font-size:13px}.btn svg{width:15px;height:15px;flex:none}.row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.row-actions form{display:inline}.form-grid{display:grid;gap:16px}.form-grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.field{display:grid;gap:6px}.field>label{font-size:13px;font-weight:500;color:var(--c-neutral-900)}.field .help{font-size:12px;color:var(--c-neutral-600)}.field .required{color:var(--c-danger);margin-left:2px}.input,.select,.textarea{width:100%;padding:8px 10px;font-family:inherit;font-size:14px;line-height:1.5;color:var(--c-neutral-900);background:var(--c-neutral-0);border:1px solid var(--c-neutral-300);border-radius:var(--radius-sm)}.input:focus,.select:focus,.textarea:focus{border-color:var(--c-primary-600);outline:2px solid var(--c-primary-100);outline-offset:0}.textarea{min-height:96px;resize:vertical}.field.has-error .input,.field.has-error .select,.field.has-error .textarea{border-color:var(--c-danger)}.field-error{font-size:12px;color:var(--c-danger);display:flex;align-items:center;gap:4px}.field-error svg{width:13px;height:13px;flex:none}.checkbox-row{display:flex;align-items:center;gap:8px}.checkbox-row input{width:16px;height:16px}.fieldset-plain{border:1px solid var(--c-neutral-200);border-radius:var(--radius-md);padding:16px;margin:0}.fieldset-plain legend{padding:0 6px;font-size:13px;font-weight:600;color:var(--c-neutral-600)}.readonly-list{display:grid;gap:10px;margin:0}.readonly-item{display:grid;gap:2px}.readonly-item dt{font-size:12px;color:var(--c-neutral-600)}.readonly-item dd{margin:0;font-size:13px;color:var(--c-neutral-900);background:var(--c-neutral-50);border:1px dashed var(--c-neutral-300);border-radius:var(--radius-sm);padding:7px 10px}.table-wrap{width:100%}table.data{width:100%;border-collapse:collapse;font-size:13px}table.data caption{text-align:left;padding:0 0 10px;font-size:12px;color:var(--c-neutral-600)}table.data th,table.data td{padding:10px 12px;border-bottom:1px solid var(--c-neutral-100);text-align:left;vertical-align:middle}table.data th{font-size:12px;font-weight:600;color:var(--c-neutral-600);background:var(--c-neutral-50);white-space:nowrap}table.data tbody tr:hover{background:var(--c-neutral-50)}table.data .num{text-align:right;font-variant-numeric:tabular-nums}table.data .nowrap{white-space:nowrap}table.data .title-cell{min-width:220px}table.data .title-cell strong{display:block;font-weight:500}table.data .title-cell small{color:var(--c-neutral-600)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:12px;border-radius:999px;border:1px solid transparent;white-space:nowrap}.badge-on{background:var(--c-success-bg);color:var(--c-success);border-color:#a7f3d0}.badge-off{background:var(--c-warning-bg);color:var(--c-warning);border-color:#fde68a}.badge-info{background:var(--c-primary-50);color:var(--c-primary-700);border-color:var(--c-primary-100)}.badge-muted{background:var(--c-neutral-100);color:var(--c-neutral-600);border-color:var(--c-neutral-200)}.flash{display:flex;align-items:flex-start;gap:8px;padding:11px 14px;border-radius:var(--radius-sm);font-size:13px;border:1px solid}.flash svg{width:16px;height:16px;flex:none;margin-top:2px}.flash-success{background:var(--c-success-bg);border-color:#a7f3d0;color:#14532d}.flash-error{background:var(--c-danger-bg);border-color:#fecaca;color:#7f1d1d}.flash-warn{background:var(--c-warning-bg);border-color:#fde68a;color:#78350f}.flash-info{background:var(--c-primary-50);border-color:var(--c-primary-100);color:var(--c-primary-900)}.empty-state{display:grid;justify-items:center;gap:6px;padding:40px 20px;text-align:center;color:var(--c-neutral-600)}.empty-state svg{width:34px;height:34px;color:var(--c-neutral-400)}.empty-state strong{color:var(--c-neutral-900);font-size:15px}.empty-state span{font-size:13px}.pager{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pager .spacer{flex:1}.pager .info{font-size:13px;color:var(--c-neutral-600)}.pager .pages{display:flex;align-items:center;gap:6px}dialog.confirm{border:none;border-radius:var(--radius-lg);padding:0;max-width:440px;width:calc(100% - 32px);box-shadow:var(--shadow-lg)}dialog.confirm::backdrop{background:#0f172a73}dialog.confirm .dlg-head{padding:18px 20px 0}dialog.confirm .dlg-head h2{font-size:16px}dialog.confirm .dlg-body{padding:10px 20px 18px;color:var(--c-neutral-600);font-size:14px}dialog.confirm .dlg-foot{padding:14px 20px;background:var(--c-neutral-50);border-top:1px solid var(--c-neutral-200);display:flex;justify-content:flex-end;gap:10px;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.uploader{display:grid;gap:8px}.uploader-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.uploader input[type=file]{font-family:inherit;font-size:13px;max-width:100%}.uploader .up-status{font-size:12px;color:var(--c-neutral-600)}.uploader .up-status.is-error{color:var(--c-danger)}.uploader .up-status.is-ok{color:var(--c-success)}.cover-preview{width:180px;height:108px;border:1px solid var(--c-neutral-200);border-radius:var(--radius-sm);background:var(--c-neutral-50);object-fit:cover;display:block}.md-editor{display:grid;gap:8px}.md-toolbar{display:flex;flex-wrap:wrap;gap:4px}.md-toolbar button{font-family:inherit;font-size:12px;padding:4px 9px;border:1px solid var(--c-neutral-300);background:var(--c-neutral-0);color:var(--c-neutral-900);border-radius:var(--radius-sm);cursor:pointer}.md-toolbar button:hover{border-color:var(--c-primary-600);color:var(--c-primary-700)}.md-editor textarea{min-height:260px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.7}.md-preview{border:1px solid var(--c-neutral-200);border-radius:var(--radius-sm);background:var(--c-neutral-0);padding:14px 16px;max-height:360px;overflow-y:auto}.md-preview[hidden]{display:none}.md-help{font-size:12px;color:var(--c-neutral-600)}.md-help code{background:var(--c-neutral-100);padding:1px 4px;border-radius:4px;font-size:12px}.md-body>:first-child{margin-top:0}.md-body>:last-child{margin-bottom:0}.md-body h2{font-size:17px;margin:20px 0 8px}.md-body h3{font-size:15px;margin:16px 0 6px}.md-body h4{font-size:14px;margin:14px 0 6px}.md-body p{margin:10px 0}.md-body ul,.md-body ol{margin:10px 0;padding-left:22px}.md-body li{margin:4px 0}.md-body blockquote{margin:12px 0;padding:10px 14px;background:var(--c-primary-50);border-left:3px solid var(--c-primary-300);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--c-neutral-600)}.md-body blockquote p{margin:0}.md-body code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;background:var(--c-neutral-100);padding:1px 5px;border-radius:4px}.md-body pre{background:var(--c-neutral-900);color:#e5e7eb;padding:12px 14px;border-radius:var(--radius-sm);overflow-x:auto}.md-body pre code{background:none;color:inherit;padding:0}.md-body hr{border:none;border-top:1px solid var(--c-neutral-200);margin:18px 0}.md-body a{text-decoration:underline}.md-empty{color:var(--c-neutral-400);font-style:normal}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(160deg,var(--c-primary-900),var(--c-primary-700))}.login-card{width:100%;max-width:380px;background:var(--c-neutral-0);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:28px 26px;display:grid;gap:18px}.login-brand{display:flex;align-items:center;gap:12px}.login-brand .mark{width:42px;height:42px;flex:none;border-radius:11px;background:var(--c-primary-600);display:grid;place-items:center;color:#fff}.login-brand .mark svg{width:29px;height:29px;display:block}.login-brand .text strong{display:block;font-size:17px}.login-brand .text small{display:block;font-size:12px;color:var(--c-neutral-600)}.login-card .field input{padding:10px 12px}.login-card .btn{width:100%;padding:11px}.login-foot{font-size:12px;color:var(--c-neutral-600);text-align:center}@media(max-width:991px){.admin-shell{grid-template-columns:minmax(0,1fr)}.admin-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);z-index:60;transform:translate(-100%);transition:transform .22s ease;box-shadow:var(--shadow-lg)}.admin-shell.nav-open .admin-sidebar{transform:none}.admin-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:55;border:0}.admin-backdrop[hidden]{display:none}.admin-toggle{display:grid}}@media(max-width:767px){.admin-content{padding:14px}.admin-topbar{padding:0 14px;gap:8px}.admin-topbar h1{font-size:15px}.admin-topbar .who{display:none}.card-body,.card-head,.card-foot{padding-left:14px;padding-right:14px}table.data thead{display:none}table.data,table.data tbody,table.data tr,table.data td{display:block;width:100%}table.data tr{border:1px solid var(--c-neutral-200);border-radius:var(--radius-md);margin-bottom:10px;padding:6px 2px;background:var(--c-neutral-0)}table.data td{border:none;padding:6px 12px;display:grid;grid-template-columns:82px minmax(0,1fr);gap:8px;align-items:start;text-align:left}table.data td:before{content:attr(data-label);font-size:12px;color:var(--c-neutral-600);padding-top:2px}table.data td.num{text-align:left}table.data td.full{grid-template-columns:minmax(0,1fr)}table.data td.full:before{padding-top:0}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat .value{font-size:22px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
