/* DAQI V1.6.25 | single consistent shell for the five top-level pages */
:root{--daqi-shell:1140px;--daqi-teal:#09b9ac;--daqi-deep:#087f79;--daqi-text:#102f40}
html{scrollbar-gutter:stable;scroll-padding-top:82px}
body{min-height:100vh;display:flex;flex-direction:column;color:var(--daqi-text);font-family:"Microsoft YaHei UI","Microsoft YaHei","PingFang SC","Noto Sans CJK SC",Arial,sans-serif}
body > main{flex:1 0 auto}
body > .hero{flex:0 0 auto}
body > footer.footer-new{flex-shrink:0}
/* Global top bar: identical dimensions, centered container and grid placement */
body>.site-header{box-sizing:border-box;position:sticky;top:0;z-index:60;height:70px;min-height:70px;background:rgba(255,255,255,.97);border-bottom:1px solid #e4eeed;box-shadow:none;backdrop-filter:blur(14px)}
body>.site-header .nav-wrap{box-sizing:border-box;width:100%;max-width:var(--daqi-shell);height:70px;min-height:70px;padding:0 20px;margin:0 auto;display:grid;grid-template-columns:240px minmax(0,1fr) 273px;align-items:center;gap:12px}
body>.site-header .brand{display:inline-flex;align-items:center;gap:10px;min-width:0;max-width:240px;text-decoration:none;font-weight:800;white-space:nowrap}
body>.site-header .brand img{display:block;flex:none;width:43px;height:43px;object-fit:contain}
body>.site-header .brand span{display:block}
body>.site-header .brand-title{display:block;color:#0c2b3a!important;font-size:19px!important;line-height:1.2!important;font-weight:830!important;letter-spacing:-.025em!important}
body>.site-header .brand-sub{display:block;color:#748f97!important;font-size:10px!important;line-height:1.4!important;font-weight:500!important;white-space:nowrap}
body>.site-header .nav{display:flex;justify-content:center;align-items:stretch;gap:23px;height:70px;min-height:70px;min-width:0;position:static;background:transparent;box-shadow:none;border:0;padding:0;flex-direction:row}
body>.site-header .nav a{display:inline-flex;align-items:center;justify-content:center;position:relative;box-sizing:border-box;height:70px;min-height:70px;padding:0 2px;text-decoration:none;white-space:nowrap;color:#193a4b!important;font-size:13px!important;font-weight:700!important;letter-spacing:0}
body>.site-header .nav a:is(:hover,.active){color:#087f79!important}
body>.site-header .nav a.active::after{content:"";position:absolute;height:2px;bottom:0;left:0;right:0;border-radius:2px;background:#08b8ac}
body>.site-header .header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;width:273px;min-width:0;flex-shrink:0}
body>.site-header .search-pill{width:230px;min-width:0;max-width:230px;height:36px;min-height:36px;padding:0 12px;display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;border-radius:25px;border:1px solid #dfebe9;background:#f9fcfc;color:#8198a2;cursor:pointer;font-size:12px;box-shadow:none}
body>.site-header .search-pill svg{width:16px;height:16px;flex:0 0 16px;color:#088b84}
body>.site-header .search-pill span{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:11.5px}
body>.site-header .round-action{display:inline-flex;align-items:center;justify-content:center;flex:0 0 35px;width:35px;height:35px;min-width:35px;min-height:35px;border:1px solid #e0eeec;border-radius:50%;color:#087f79;background:#fff;cursor:pointer;padding:7px}
body>.site-header .round-action svg{width:18px;height:18px}
body>.site-header #menu-toggle{display:none}
/* Shared first/last sections, page gutters and catalog cards */
body>.site-header~main .wrap,body>.site-header~.hero .wrap,body>.site-header~.library-top .wrap{max-width:var(--daqi-shell);padding-left:20px;padding-right:20px;margin-left:auto;margin-right:auto}
body>.site-header~main .page-hero{background:linear-gradient(115deg,#effaf7 0%,#f6fbfa 75%,#eef9f5 100%);border-bottom:1px solid #e1f0ec;padding:56px 0 44px}
body>.site-header~main .page-hero .wrap{max-width:var(--daqi-shell)}
body>.site-header~main .page-hero .kicker{color:#088b84;font-size:12px;font-weight:800;letter-spacing:.1em}
body>.site-header~main .page-hero h1{color:#0c2a3b;font-size:clamp(30px,3.3vw,42px);line-height:1.28;margin:12px 0 10px;font-weight:850}
body>.site-header~main .page-hero p{color:#67838b;line-height:1.8;font-size:15px;margin:0;max-width:850px}
.daqi-breadcrumb{font-size:12px;color:#8aa1a8;margin-bottom:18px}
.daqi-breadcrumb a{color:#0b837d;text-decoration:none;font-weight:700}
body>.site-header~main .page-body{padding-top:38px;padding-bottom:68px}
body>.site-header~main .tool-card,body>.site-header~main .about-card{border-color:#dfebe8;background:#fff;box-shadow:0 8px 26px rgba(5,90,86,.035)}
body>.site-header~main .tool-card:hover{border-color:#74cfc2;box-shadow:0 13px 24px rgba(7,98,86,.08)}
body>.site-header~main .tool-card .card-arrow,body>.site-header~main .tool-icon.green{background:#dff5ef;color:#07867f}
body>.site-header~main .filter-btn.active,body>.site-header~main .filter-btn:hover{background:#e5f8f3;border-color:#a0dfd7;color:#07897e}
body>.site-header~main .pill-links a{color:#087f79;border-color:#d5eae5;background:#f2fbf8}
body>.site-header~main .project-card{background:#f2fbf8;border-color:#d9eae8;color:#102e41}
body>.site-header~main .project-card:nth-child(2){background:#e2f6ed}
body>.site-header~main .project-card:nth-child(3){background:#f0eef9}
body>.site-header~main .project-card .linkline{color:#087f79}
body>.site-header~main .about-grid{gap:20px}
body>.site-header~main .about-card p{color:#647c85}
body>.site-header~main .notice{background:#eff9f5;border-color:#d8eee8;color:#527781}
body>.site-header~main .section-head .bar{background:#0ac1b5}
/* Uniform legal footer, shared actual official police seal. */
body>footer.footer-new{width:100%;margin-top:0!important}
body>footer.footer-new .footer-grid,body>footer.footer-new .legal-inner{width:100%;max-width:var(--daqi-shell);padding-left:20px;padding-right:20px;margin:0 auto}
body>footer.footer-new .legal-link .official-police-icon{display:inline-block!important;max-width:18px;width:18px;height:20px;object-fit:contain;vertical-align:middle;flex:none;margin-right:7px}
/* Articles retains its own content layout but shares global page shell. */
body.articles-page>.hero{background:linear-gradient(115deg,#effaf7 0%,#f6fbfa 75%,#eef9f5 100%)}
body.articles-page>.hero>.wrap,body.articles-page>main.wrap{box-sizing:border-box;width:100%;max-width:var(--daqi-shell);padding-left:20px;padding-right:20px}
body.articles-page>.hero h1{font-size:clamp(30px,3.3vw,42px)}
body.articles-page>main.wrap{flex:1 0 auto}
body.articles-page .article-find{max-width:415px}
/* Global search is the SAME on every page, category search remains separate. */
body .modal-layer{z-index:140}
body .search-modal{max-height:calc(100vh - 20vh);overflow:auto}
[data-theme=dark] body>.site-header{background:rgba(13,33,44,.97);border-bottom-color:#31545b}
[data-theme=dark] body>.site-header .brand-title{color:#f5fffc!important}
[data-theme=dark] body>.site-header .brand-sub{color:#a4c8c4!important}
[data-theme=dark] body>.site-header .nav a{color:#c6dedc!important}
[data-theme=dark] body>.site-header .nav a:is(:hover,.active){color:#7cf0e4!important}
[data-theme=dark] body>.site-header .search-pill,[data-theme=dark] body>.site-header .round-action{background:#173841;border-color:#345960;color:#a6e9e0}
[data-theme=dark] body>.site-header~main .page-hero{background:linear-gradient(110deg,#12373a,#173842);border-bottom-color:#345960}
[data-theme=dark] body>.site-header~main .page-hero h1{color:#effffb}
[data-theme=dark] body>.site-header~main .page-hero p{color:#c1d8d6}
[data-theme=dark] body>.site-header~main .tool-card,[data-theme=dark] body>.site-header~main .about-card{background:#132e38;border-color:#34515a}
[data-theme=dark] body>.site-header~main .about-card p{color:#c8dadc}
@media(max-width:1070px){
 body>.site-header .nav-wrap{grid-template-columns:190px minmax(0,1fr) 210px}
 body>.site-header .nav{gap:14px}
 body>.site-header .header-actions{width:210px}
 body>.site-header .search-pill{width:165px;max-width:165px}
}
@media(max-width:800px){
 body>.site-header{height:66px;min-height:66px}
 body>.site-header .nav-wrap{height:66px;min-height:66px;display:flex;justify-content:space-between;gap:8px;padding:0 18px}
 body>.site-header .brand{margin-right:auto;max-width:none}
 body>.site-header .brand img{width:39px;height:39px}
 body>.site-header .brand-title{font-size:17px!important}
 body>.site-header .brand-sub{font-size:9.5px!important}
 body>.site-header .header-actions{width:auto;gap:7px;margin-left:auto}
 body>.site-header .search-pill{display:inline-flex!important;width:35px;max-width:35px;min-width:35px;height:35px;padding:0;justify-content:center}
 body>.site-header .search-pill span{display:none}
 body>.site-header #menu-toggle{display:flex}
 body>.site-header .nav{display:none;position:absolute;left:14px;right:14px;top:calc(100% - 1px);height:auto;min-height:0;padding:8px 12px;background:#fff;border:1px solid #d9ebe6;border-radius:0 0 12px 12px;box-shadow:0 16px 32px rgba(0,45,45,.11);flex-direction:column;gap:0;z-index:90}
 body>.site-header .nav.open{display:flex}
 body>.site-header .nav a{display:flex;justify-content:flex-start;width:100%;height:43px;min-height:43px;padding:0 12px}
 body>.site-header .nav a.active:after{bottom:3px;left:12px;right:auto;width:30px}
 [data-theme=dark] body>.site-header .nav{background:#153740;border-color:#345960}
}
@media(max-width:550px){
 body>.site-header~main .wrap,body>.site-header~.hero .wrap,body>.site-header~.library-top .wrap{padding-left:18px;padding-right:18px}
 body>.site-header~main .page-hero{padding:43px 0 36px}
 body>.site-header~main .page-hero h1{font-size:30px}
 body>.site-header~main .about-grid{display:grid;grid-template-columns:1fr}
 body>.site-header~main .cards-3{grid-template-columns:1fr}
 body>.site-header~main .page-body{padding-top:26px}
 body.articles-page>.hero>.wrap,body.articles-page>main.wrap{padding-left:18px;padding-right:18px}
 body>footer.footer-new .footer-grid,body>footer.footer-new .legal-inner{padding-left:18px;padding-right:18px}
}


/* V1.6.25.1 · Full-height page shell and footer correction
   Header + main + footer follow natural flow. No fixed footer or artificial spacing. */
html{min-height:100%;}
body{min-height:100vh!important;min-height:100dvh!important;display:flex!important;flex-direction:column!important;}
body > .site-header{flex:0 0 auto;}
body > main{flex:1 0 auto!important;min-height:0;}
body > footer.footer-new{flex:0 0 auto!important;margin-top:auto!important;}
/* Non-visual modal and templates must never occupy space after the footer. */
body > .modal-layer[aria-hidden="true"]{display:none!important;}
body > .modal-layer{position:fixed!important;inset:0;z-index:140;}
body > .modal-layer.open{display:flex;}
/* Article listing has its own page styles; bring its search modal into the shared shell. */
body.articles-page > .modal-layer{
  display:none;align-items:flex-start;justify-content:center;
  background:rgba(9,23,44,.53);padding:12vh 16px;
}
body.articles-page > .modal-layer.open{display:flex;}
body.articles-page > .modal-layer .search-modal{
  box-sizing:border-box;width:min(670px,100%);max-height:77vh;
  display:flex;flex-direction:column;gap:10px;overflow:auto;
  background:#fff;border-radius:17px;padding:22px;
  box-shadow:0 30px 100px rgba(0,24,77,.24);color:#102f40;
}
body.articles-page > .modal-layer .modal-header{display:flex;align-items:center;justify-content:space-between;gap:14px;}
body.articles-page > .modal-layer .modal-header b{font-size:18px;}
body.articles-page > .modal-layer .modal-close{width:32px;height:32px;border:0;border-radius:50%;background:#e9f6f3;color:#087f79;cursor:pointer;}
body.articles-page > .modal-layer .input-search{box-sizing:border-box;min-height:44px;width:100%;padding:10px 14px;border:1px solid #cfe5e0;border-radius:10px;font:inherit;}
body.articles-page > .modal-layer .help{font-size:12px;color:#607f88;}
body.articles-page > .modal-layer .search-results{overflow:auto;}
body.articles-page > .modal-layer .search-hit{display:flex;flex-direction:column;gap:3px;padding:11px 8px;border-bottom:1px solid #e5f0ee;text-decoration:none;color:#123541;}
body.articles-page > .modal-layer .search-hit span{font-size:11px;color:#64838b;}
body.articles-page > .modal-layer .no-results{padding:20px;color:#69848b;text-align:center;}
[data-theme="dark"] body.articles-page > .modal-layer{background:rgba(0,0,0,.68);}
[data-theme="dark"] body.articles-page > .modal-layer .search-modal{background:#142e37;color:#e6f7f2;}
[data-theme="dark"] body.articles-page > .modal-layer .search-hit{color:#e2f5f1;border-color:#36585b;}

/* V1.8.6 fluid layouts and managed icons; appended, leaving existing styling intact */
/* DAQI V1.8.6: fluid shell across 1280/1440/1920/2560 and mobile.
   Detail article prose retains its original measure. */
:root {--daqi-shell: min(1660px, calc(100vw - 48px));}
@media(min-width:1500px){
  body:not(.daqi-detail-page) .site-header .nav-wrap,
  body:not(.daqi-detail-page) > main .wrap,
  body:not(.daqi-detail-page) > main.wrap,
  body:not(.daqi-detail-page) > .hero .wrap,
  body:not(.daqi-detail-page) > .library-top .wrap,
  body:not(.daqi-detail-page) > .page-hero .wrap,
  body:not(.daqi-detail-page) footer .wrap {max-width:1660px!important;width:calc(100% - 48px);margin-left:auto;margin-right:auto;}
  body:not(.daqi-detail-page) .cards-3 {grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(min-width:1920px){
 body:not(.daqi-detail-page) .cards-3 {grid-template-columns:repeat(4,minmax(0,1fr));}
 body:not(.daqi-detail-page) .v161-featured-layout{max-width:none;}
}
@media(max-width:820px){
 :root{--daqi-shell:100%;}
 body:not(.daqi-detail-page) .cards-3 {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:600px){
 body:not(.daqi-detail-page) .cards-3 {grid-template-columns:minmax(0,1fr);}
 body .wrap{max-width:100%;min-width:0;}
}
img,svg,iframe{max-width:100%;}

/* Scoped managed icons. Stable across reordering. */
.tool-icon.dq186-icon{display:grid;place-items:center;font-size:25px;line-height:1;font-weight:750;color:#fff;background:#0c9f94;flex-shrink:0}
.tool-icon.dq186-icon[data-tone="sky"]{background:#287f9c}.tool-icon.dq186-icon[data-tone="violet"]{background:#8375a7}
.tool-icon.dq186-icon[data-tone="amber"]{background:#b98133}.tool-icon.dq186-icon[data-tone="mint"]{background:#147e71}
.tool-icon.dq186-icon[data-tone="slate"]{background:#657f88}.tool-icon.dq186-icon[data-tone="indigo"]{background:#5a75b0}
.tool-icon.dq186-icon[data-tone="coral"]{background:#ad6967}
.tool-icon.dq186-icon img{width:100%;height:100%;object-fit:contain;padding:4px}

/* V1.8.7: adaptive page width with a limited reader line length. */
@media(min-width:1220px){
 :root{--daqi-shell:min(1580px, calc(100vw - 56px));}
 body>.site-header .nav-wrap,body>.site-header~main .wrap,
 body>.site-header~.hero .wrap,body>.site-header~.library-top .wrap,
 body>.site-header~main.wrap,body>.site-header~main .page-hero .wrap,
 body.articles-page>.hero>.wrap,body.articles-page>main.wrap,
 body>footer.footer-new .wrap{width:calc(100% - 56px);max-width:1580px!important;margin-left:auto;margin-right:auto;}
 body>.site-header .nav-wrap{width:calc(100% - 56px);}
}
@media(min-width:1800px){body:not(.daqi-detail-page) .cards-3{grid-template-columns:repeat(4,minmax(0,1fr));}}
/* Keep human-readable article paragraphs from stretching across an entire wide desktop. */
@media(min-width:1600px){.daqi-detail-page .reader .prose>p,.daqi-detail-page .reader .prose>ul,.daqi-detail-page .reader .prose>ol,.daqi-detail-page .reader .prose>blockquote{max-width:82ch;}}
/* Inline vector icons never depend on the fonts or a specific prior CSS bundle. */
.tool-card .tool-main{display:flex;align-items:center;gap:13px;min-width:0}
.tool-card .tool-main h3{min-width:0;flex:1;text-align:left}
.tool-card .tool-icon.dq187-managed-icon{display:inline-grid!important;place-items:center!important;flex:0 0 44px!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;font-size:0!important;opacity:1!important;visibility:visible!important}
.tool-card .tool-icon.dq187-managed-icon svg{width:24px!important;height:24px!important;stroke:#fff!important;display:block!important}
.tool-card .tool-icon.dq187-managed-icon img{height:100%;width:100%;object-fit:contain;padding:3px}
@media(max-width:600px){.tool-card .tool-icon.dq187-managed-icon{flex-basis:38px!important;width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important}}

/* DAQI V1.8.7.1 – Responsive three-project layouts.
   Do not apply the global four-column cards-3 rule to exactly three projects.
   Home: 我的项目与品牌; About: 我的项目.
   Keep tool/product cards on their independent responsive grid. */
body > main section.projects.v16-projects > .cards-3,
body > main .page-body > section.section > .cards-3 {
  display: grid;
  width: 100%;
  max-width: none;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch;
  gap: clamp(12px, 1.35vw, 24px);
}
body > main section.projects.v16-projects > .cards-3 > .project-card,
body > main .page-body > section.section > .cards-3 > .project-card {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: none;
  height: 100%;
}
@media (min-width: 681px) and (max-width: 1099px) {
  body > main section.projects.v16-projects > .cards-3,
  body > main .page-body > section.section > .cards-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 680px) {
  body > main section.projects.v16-projects > .cards-3,
  body > main .page-body > section.section > .cards-3 {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* V1.8.8 mobile knowledge shelf. This only affects the /knowledge/ listing. */
/* DAQI V1.8.8: mobile knowledge shelf -- accessible one-column horizontal books */
@media (max-width: 620px) {
  #bookshelf-grid.bookshelf-grid {display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;}
  #bookshelf-grid .stage-shelf-card {display:grid!important;grid-template-columns:104px minmax(0,1fr)!important;align-items:stretch;min-width:0;width:100%;min-height:154px!important;padding:14px!important;gap:14px!important;border-radius:16px;box-sizing:border-box;overflow:hidden;}
  #bookshelf-grid .stage-shelf-cover {width:104px!important;height:145px!important;min-height:0;align-self:center;padding:13px 10px 11px 12px!important;box-sizing:border-box;overflow:hidden;border-radius:5px 9px 9px 5px;box-shadow:-2px 2px 0 rgba(25,66,89,.12),0 8px 15px rgba(23,69,89,.12);}
  #bookshelf-grid .stage-shelf-cover small {font-size:8px!important;line-height:1.35;letter-spacing:.06em;}
  #bookshelf-grid .stage-shelf-cover strong {font-size:12px!important;line-height:1.5;overflow:hidden;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow-wrap:anywhere;}
  #bookshelf-grid .stage-shelf-detail {min-width:0;display:flex!important;flex-direction:column!important;align-items:flex-start;justify-content:center;padding:0!important;gap:8px!important;}
  #bookshelf-grid .stage-shelf-detail h3 {margin:0;font-size:17px!important;line-height:1.5!important;overflow-wrap:anywhere;word-break:normal;-webkit-line-clamp:3;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;}
  #bookshelf-grid .stage-shelf-detail p {font-size:12px!important;line-height:1.65;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:0;}
  #bookshelf-grid .stage-shelf-detail .tags {gap:5px;}
  #bookshelf-grid .stage-shelf-detail .tag {font-size:10px;}
  #bookshelf-grid .stage-shelf-detail .stage-readmore {margin-top:auto;font-size:12px!important;}
  .library-shelf .library-toolbar {display:flex;align-items:center;gap:10px;}
  .library-shelf .library-tabs {order:2;width:100%;flex-basis:100%;min-width:0;overflow-x:auto;}
  .library-shelf .library-toolbar select {order:1;margin-left:auto;min-height:40px;}
}
@media(max-width:360px){#bookshelf-grid .stage-shelf-card{grid-template-columns:92px minmax(0,1fr)!important;gap:11px!important;padding:12px!important;}#bookshelf-grid .stage-shelf-cover{width:92px!important;height:135px!important;}#bookshelf-grid .stage-shelf-detail h3{font-size:15px!important;}}
