:root{--bg:#F5FAFE;--bg-deep:#E7F2FA;--surface:#FFFFFF;--surface-2:#D7EAF6;--title:#16324A;--text:#2A4156;--muted:#4E6A80;--soft:#6E8899;--blue:#4AA3E0;--blue-bright:#6BB8EC;--blue-deep:#1B4A6E;--mist:#EAF5FC;--border:rgba(74,163,224,.16);--border-strong:rgba(74,163,224,.42);--shadow:0 12px 28px rgba(27,74,110,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;font-size:15px;line-height:1.7;overflow-x:hidden}body.panel-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}.shell{width:min(1120px,calc(100% - 32px));margin:0 auto}.skip-link{position:fixed;left:16px;top:-60px;background:var(--surface);color:var(--blue-deep);padding:10px 14px;border:1px solid var(--border-strong);border-radius:8px;z-index:999}.skip-link:focus{top:8px}.top-strip{position:fixed;z-index:90;top:0;left:0;right:0;height:22px;background:var(--blue-deep);color:#fff;font-size:12px}.strip-inner{height:22px;display:flex;align-items:center;justify-content:space-between}.strip-search{border:0;background:transparent;color:#fff;min-height:22px;padding:0 4px;cursor:pointer;font:inherit}.masthead{position:fixed;z-index:89;top:22px;left:0;right:0;height:60px;background:#fff;border-bottom:1px solid var(--border)}.mast-inner{height:60px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.brand-link{justify-self:start;min-width:72px;min-height:44px;display:flex;align-items:center}.brand-logo,.footer-logo,.drawer-brand img{height:28px;width:auto;object-fit:contain}.brand-fallback{font-size:16px;font-weight:800;color:var(--title);letter-spacing:.08em}.drawer-trigger,.app-link,.btn,.icon-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;font-size:14px;white-space:nowrap}.drawer-trigger{justify-self:center;border:1px solid var(--border-strong);background:var(--surface);color:var(--blue-deep);padding:0 18px;cursor:pointer}.app-link{justify-self:end;color:#fff;background:linear-gradient(135deg,#6BB8EC 0%,#4AA3E0 55%,#1B4A6E 100%);padding:0 18px}.section-tabs{position:fixed;z-index:88;top:82px;left:0;right:0;height:40px;background:var(--mist);border-bottom:1px solid var(--border)}.tab-inner{height:40px;display:flex;align-items:center;justify-content:center;gap:8px}.tab-link{font-size:13px;color:var(--blue-deep);padding:4px 18px;border-radius:999px}.tab-link.is-current{background:var(--blue);color:#fff}.site-main{padding-top:122px;min-height:70vh}.page-hero{padding:38px 0 18px}.kicker{font-size:12px;color:var(--blue);font-weight:800;letter-spacing:.16em;text-transform:uppercase}.page-hero h1,.cover-copy h1{font-size:24px;line-height:1.3;color:var(--title);margin:8px 0 12px}.page-hero p,.cover-copy p{margin:0;max-width:820px;color:var(--muted)}.section{padding:22px 0}.section-title{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px}.section-title h2{font-size:20px;line-height:1.35;margin:0;color:var(--title)}.section-title p{margin:0;color:var(--soft);font-size:13px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:20px}.card h3{margin:0 0 8px;font-size:16px;color:var(--title)}.card p{margin:0 0 10px}.card p:last-child{margin-bottom:0}.grid-2,.grid-3,.grid-4{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.image-slot{width:100%;height:200px;background:var(--mist);border:1px solid var(--border);border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:hidden}.image-slot img{width:100%;height:100%;object-fit:contain;object-position:center}.image-slot.banner{height:260px}.image-slot.tile{height:180px}.image-slot.app-shot{height:min(360px,70vw)}.cover{padding:26px 0 20px}.cover-copy{text-align:left;padding-top:16px}.cover-copy .lede{max-width:900px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.btn{padding:0 18px;border:1px solid transparent}.btn-primary{color:#fff;background:linear-gradient(135deg,#6BB8EC 0%,#4AA3E0 55%,#1B4A6E 100%)}.btn-secondary{background:#fff;border-color:var(--border-strong);color:var(--blue-deep)}.number-list{display:grid;gap:10px;counter-reset:item}.number-row{display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:start;background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px}.number{width:34px;height:34px;border-radius:10px;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}.number-row h3{margin:2px 0 5px;color:var(--title);font-size:16px}.number-row p{margin:0;color:var(--muted)}.shelf{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.shelf a,.index-link{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px;display:block}.shelf a:hover,.index-link:hover{border-color:var(--border-strong);transform:translateY(-1px)}.shelf strong,.index-link strong{display:block;color:var(--title);margin-bottom:4px}.shelf span,.index-link span{display:block;color:var(--muted);font-size:13px}.timeline{position:relative;margin-left:12px}.timeline:before{content:"";position:absolute;left:11px;top:8px;bottom:8px;width:1px;background:var(--border-strong)}.timeline-item{position:relative;padding-left:48px;margin-bottom:18px}.timeline-dot{position:absolute;left:0;top:2px;width:24px;height:24px;border-radius:50%;background:var(--surface);border:6px solid var(--blue)}.status{display:inline-flex;min-height:28px;align-items:center;padding:0 10px;border-radius:999px;background:var(--mist);color:var(--blue-deep);font-size:12px;font-weight:700}.prose{background:#fff;border:1px solid var(--border);border-radius:12px;padding:24px}.prose h2{font-size:20px;color:var(--title);margin:24px 0 8px}.prose h2:first-child{margin-top:0}.prose h3{font-size:16px;color:var(--title);margin:18px 0 6px}.prose p{margin:0 0 12px}.prose ul{padding-left:20px;margin:8px 0 16px}.prose li{margin:5px 0}.note{background:var(--mist);border-left:3px solid var(--blue);padding:14px 16px;border-radius:0 10px 10px 0}.faq-list{display:grid;gap:12px}.faq-item{background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px}.faq-item h2{font-size:16px;margin:0 0 8px;color:var(--title)}.faq-item p{margin:0}.site-footer{margin-top:42px;background:var(--blue-deep);color:#E7F2FA;border-top:1px solid rgba(234,245,252,.35);padding:30px 0 calc(24px + env(safe-area-inset-bottom))}.footer-brand{padding-bottom:18px;border-bottom:1px solid rgba(234,245,252,.18)}.footer-logo-wrap{display:flex;align-items:center;gap:12px}.footer-logo-wrap div{display:flex;flex-direction:column}.footer-logo-wrap strong{font-size:16px}.footer-logo-wrap span{font-size:12px;opacity:.8}.footer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding:20px 0}.footer-grid h2{font-size:13px;margin:0 0 8px;color:#fff}.footer-grid a{display:block;font-size:13px;padding:3px 0;color:#E7F2FA}.footer-note{font-size:13px;color:#E7F2FA;border-top:1px solid rgba(234,245,252,.18);padding-top:14px}.footer-note p{margin:3px 0}.overlay{position:fixed;inset:0;background:rgba(22,50,74,.28);z-index:120;opacity:0;visibility:hidden;pointer-events:none;transition:.2s}.overlay.is-open{opacity:1;visibility:visible;pointer-events:auto}.drawer{position:fixed;right:0;top:0;bottom:0;width:min(400px,86vw);background:#fff;z-index:130;transform:translateX(104%);visibility:hidden;pointer-events:none;transition:transform .24s ease,visibility .24s}.drawer.is-open{transform:translateX(0);visibility:visible;pointer-events:auto}.drawer-head{height:68px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:0 16px}.drawer-brand{display:flex;align-items:center;gap:10px;color:var(--title)}.icon-button{border:1px solid var(--border-strong);background:#fff;color:var(--blue-deep);padding:0 14px;cursor:pointer}.drawer-scroll{height:calc(100% - 68px);overflow:auto;padding:14px 16px 26px}.drawer-group{padding:10px 0 16px;border-bottom:1px solid var(--border)}.drawer-group h2{font-size:13px;color:var(--soft);margin:0 0 6px}.drawer-group a{display:block;padding:10px;border-radius:10px}.drawer-group a:hover,.drawer-group a:focus-visible{background:var(--mist)}.drawer-group span{display:block;color:var(--title);font-weight:700}.drawer-group small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.search-panel{position:fixed;z-index:128;top:82px;left:0;right:0;visibility:hidden;pointer-events:none;opacity:0;transition:.2s}.search-panel.is-open{visibility:visible;pointer-events:auto;opacity:1}.search-card{width:min(760px,calc(100% - 32px));margin:12px auto;background:#fff;border:1px solid var(--border-strong);border-radius:14px;box-shadow:var(--shadow);padding:18px}.search-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--title)}.search-card p{margin:6px 0 12px;color:var(--muted)}.search-label{display:block;font-size:12px;color:var(--soft);margin-bottom:5px}.search-card input{width:100%;height:44px;border:1px solid var(--border-strong);border-radius:10px;padding:0 12px;font:inherit;color:var(--text);background:#fff}.search-presets{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.search-presets a{min-height:40px;display:flex;align-items:center;padding:0 14px;border-radius:10px;background:var(--mist);color:var(--blue-deep)}.mobile-bar{display:none}.btn:hover,.drawer-trigger:hover,.app-link:hover{filter:brightness(.98);transform:translateY(-1px)}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid rgba(74,163,224,.3);outline-offset:2px}.meta-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.pill{font-size:12px;background:var(--mist);color:var(--blue-deep);padding:5px 9px;border-radius:999px}.split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:18px;align-items:start}.toc-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.toc-list a{background:#fff;border:1px solid var(--border);border-radius:10px;padding:14px;min-height:90px}.toc-list strong{color:var(--title);display:block}.toc-list span{font-size:13px;color:var(--muted)}@media(max-width:820px){.section-tabs{display:none}.site-main{padding-top:82px;padding-bottom:64px}.mast-inner{grid-template-columns:minmax(64px,1fr) auto minmax(64px,1fr)}.app-link,.drawer-trigger{padding:0 12px}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3,.grid-2,.split,.shelf,.toc-list{grid-template-columns:1fr}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-bar{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:0;right:0;bottom:0;z-index:100;height:calc(48px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid var(--border)}.mobile-bar a{min-width:0;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--blue-deep)}.mobile-bar a.is-current{background:var(--blue);color:#fff}.search-panel{top:0;bottom:0;background:var(--blue-deep)}.search-panel .search-card{width:100%;height:100%;margin:0;border:0;border-radius:0;background:var(--blue-deep);color:#fff;padding:22px 16px}.search-panel .search-head,.search-panel .search-card p,.search-panel .search-label{color:#fff}.search-panel .icon-button{border-color:rgba(255,255,255,.4);color:#fff;background:transparent}.search-panel .search-presets a{background:#fff;color:var(--blue-deep)}.image-slot.banner{height:220px}.page-hero{padding-top:28px}.cover{padding-top:20px}}@media(max-width:520px){.shell{width:calc(100% - 32px)}.grid-4{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.image-slot.tile{height:170px}.card,.prose{padding:18px}.section{padding:18px 0}.page-hero h1,.cover-copy h1{font-size:24px}.section-title{align-items:flex-start;flex-direction:column;gap:4px}.number-row{grid-template-columns:36px 1fr;padding:14px}.number{width:32px;height:32px}.footer-note{padding-bottom:48px}}

.app-heading-row{display:flex;gap:12px;align-items:center;margin-bottom:10px}.app-heading-row h2{margin:2px 0}.app-icon,.app-card-icon{width:48px;height:48px;object-fit:contain}.app-card-icon{margin-bottom:12px}
