:root{
--bg:#F7F6F1; --surface:#FFFFFF; --surface-2:#FBFAF6;
--ink:#12211C; --ink2:#46564F; --mut:#7C8A83;
--line:#E6E4D8; --line-2:#EFEDE3;
--forest:#0B4A3C; --forest-d:#07322A; --forest-l:#12604E;
--mint:#E8F0E6; --mint-2:#D6E7DA; --lime:#CBEA72; --clay:#BE7550;
--r:18px; --r-sm:12px;
--sh-1:0 1px 2px rgba(18,33,28,.05);
--sh-2:0 12px 30px -12px rgba(11,74,60,.18);
--sh-3:0 26px 60px -24px rgba(11,74,60,.28);
--sans:"Microsoft YaHei","微软雅黑",sans-serif;
--serif:"Microsoft YaHei","微软雅黑",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.6;font-size:14px}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
img{max-width:100%;display:block}
::selection{background:var(--lime);color:var(--forest-d)}
h1,h2,h3,h4{font-weight:650;letter-spacing:-.03em;line-height:1.18}
.wrap{width:min(1200px,92vw);margin:0 auto}
.mono{font-variant-numeric:tabular-nums}
.hide{display:none!important}
.muted{color:var(--mut)}
.center{text-align:center}
.serif{font-family:var(--serif)}
.btn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 18px;border-radius:999px;font-size:13.5px;font-weight:600;border:1px solid transparent;transition:.18s;white-space:nowrap;letter-spacing:.01em}
.btn svg{width:15px;height:15px}
.btn-primary{background:var(--forest);color:#fff}
.btn-primary:hover{background:var(--forest-d);transform:translateY(-1px);box-shadow:var(--sh-2)}
.btn-lime{background:var(--lime);color:var(--forest-d)}
.btn-lime:hover{filter:brightness(.96);transform:translateY(-1px)}
.btn-ghost{border-color:var(--line);background:var(--surface);color:var(--ink)}
.btn-ghost:hover{border-color:var(--forest);color:var(--forest)}
.btn-quiet{color:var(--ink2);padding:0 10px}
.btn-quiet:hover{color:var(--forest)}
.btn-sm{height:32px;padding:0 12px;font-size:12.5px}
.btn-danger{background:#FBEDE9;color:#A6432B;border-color:#F3D8D0}
.btn-danger:hover{background:#F7E0D9}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.btn-block{width:100%;justify-content:center}
.inp,.sel,.ta{width:100%;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:13.5px;outline:none;transition:.15s}
.ta{height:auto;padding:10px 12px;min-height:88px;resize:vertical;line-height:1.6}
.inp:focus,.sel:focus,.ta:focus{border-color:var(--forest-l);box-shadow:0 0 0 3px rgba(18,96,78,.1)}
.inp::placeholder,.ta::placeholder{color:#A9B4AE}
.sel{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%237C8A83' stroke-width='1.6'><path d='M2 4.5 6 8.5 10 4.5'/></svg>");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.field>label{font-size:12px;font-weight:600;color:var(--ink2);letter-spacing:.02em}
.field .hint{font-size:11.5px;color:var(--mut)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.row-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.chk{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink2);cursor:pointer}
.chk input{accent-color:var(--forest);width:15px;height:15px}
.pill{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border-radius:6px;font-size:11.5px;font-weight:600;letter-spacing:.01em;white-space:nowrap}
.pill:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}
.pill.ok{background:#E9F3EC;color:#1B6B4F}
.pill.warn{background:#FBF1E2;color:#9C6520}
.pill.info{background:#EAF0F5;color:#3A6482}
.pill.bad{background:#FBEAE6;color:#A6432B}
.pill.neutral{background:#F0EFE8;color:#6B7772}
.tag{display:inline-block;padding:3px 8px;border-radius:5px;background:var(--mint);color:var(--forest);font-size:11px;font-weight:600}
.kicker{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--forest-l)}
.topstrip{background:var(--forest-d);color:#CFE3D9;font-size:12px;letter-spacing:.02em}
.topstrip .wrap{display:flex;align-items:center;justify-content:space-between;height:34px}
.topstrip .t-right{display:flex;gap:18px;opacity:.85}
header.site{position:sticky;top:0;z-index:50;background:var(--forest-d);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 8px 20px -12px rgba(7,50,42,.5)}
header.site .logo b{color:#fff}
header.site .logo small{color:#7FA094}
header.site .logo .mark{background:rgba(255,255,255,.1);color:var(--lime)}
header.site nav.main a{color:#AECBBF}
header.site nav.main a:hover{color:#fff;background:rgba(255,255,255,.08)}
header.site nav.main a.on{color:#fff;background:rgba(255,255,255,.14)}
header.site .wrap{display:flex;align-items:center;height:74px;gap:34px}
.logo{display:flex;align-items:center;gap:10px;flex:none}
.logo .mark{width:34px;height:34px;border-radius:10px;background:var(--forest);display:grid;place-items:center;color:var(--lime)}
.logo b{display:block;font-size:16px;letter-spacing:.12em;line-height:1.1;font-weight:700}
.logo small{display:block;font-size:8.5px;letter-spacing:.22em;color:var(--mut);font-weight:600}
nav.main{display:flex;gap:2px;margin-left:6px}
nav.main a{padding:9px 13px;border-radius:8px;font-size:13.5px;color:var(--ink2);font-weight:500;transition:.15s}
nav.main a:hover{color:var(--forest);background:var(--mint)}
nav.main a.on{color:var(--forest);font-weight:600;background:var(--mint)}
.site-actions{margin-left:auto;display:flex;align-items:center;gap:10px}
.lang{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;font-size:11.5px;font-weight:600}
.lang button{padding:5px 9px;color:var(--mut)}
.lang button.on{background:var(--forest);color:#fff}
.site-actions .admin-link{display:none}
.sec{position:relative}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:34px}
.sec-head h2{font-size:32px}
.sec-head p{color:var(--ink2);margin-top:8px;max-width:520px;font-size:14px}
.sec-head .link{font-size:13px;font-weight:600;color:var(--forest);display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding-bottom:4px;border-bottom:1px solid var(--mint-2)}
.hero{display:grid;grid-template-columns:1.02fr .98fr;gap:54px;align-items:center;padding:56px 0 64px}
.hero .eyebrow{display:flex;align-items:center;gap:10px;font-size:10.5px;letter-spacing:.2em;font-weight:700;color:var(--forest-l);margin-bottom:22px}
.hero .eyebrow:before{content:"";width:26px;height:1px;background:var(--forest-l)}
.hero h1{font-size:clamp(34px,4.1vw,54px);letter-spacing:-.04em;line-height:1.1}
.hero h1 em{font-style:normal;white-space:nowrap;background:linear-gradient(transparent 64%,var(--lime) 64%,var(--lime) 92%,transparent 92%)}
.hero .lede{margin-top:22px;font-size:15px;line-height:1.9;color:var(--ink2);max-width:470px}
.hero .cta{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}
.hero .pulse{display:flex;align-items:center;gap:10px;margin-top:26px;font-size:12px;color:var(--mut)}
.hero .pulse .dot{width:7px;height:7px;border-radius:50%;background:#3E9B6B;box-shadow:0 0 0 4px rgba(62,155,107,.15)}
.hero-stats{display:flex;gap:0;margin-top:34px;border-top:1px solid var(--line);padding-top:20px;max-width:470px}
.hero-stats div{flex:1}
.hero-stats b{display:block;font-size:24px;letter-spacing:-.03em;font-weight:650}
.hero-stats b i{font-style:normal;font-size:12px;color:var(--mut);margin-left:3px;font-weight:500}
.hero-stats span{font-size:11.5px;color:var(--mut)}
.hero-art{position:relative;height:460px}
.hero-art .panel{position:absolute;inset:0;border-radius:28px;background:
radial-gradient(120% 90% at 78% 12%,#F3F8E9 0%,transparent 55%),
radial-gradient(100% 100% at 18% 88%,#D8E9DA 0%,transparent 60%),
linear-gradient(150deg,#E3EFDF 0%,#F0F5E8 46%,#DCEBDF 100%);
overflow:hidden;border:1px solid #DDE7D5}
.hero-art .panel:after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(11,74,60,.16) 1px,transparent 1px);background-size:18px 18px;opacity:.35;mask-image:linear-gradient(160deg,#000,transparent 70%)}
.hero-art .bird{position:absolute;inset:0;display:grid;place-items:center;z-index:1}
.hero-art .bird svg{width:82%;height:auto;filter:drop-shadow(0 20px 30px rgba(11,74,60,.12))}
.float-card{position:absolute;z-index:3;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.9);border-radius:14px;padding:13px 15px;box-shadow:0 16px 34px -16px rgba(11,74,60,.35)}
.float-card .fc-top{display:flex;align-items:center;gap:7px;font-size:10.5px;letter-spacing:.08em;color:var(--mut);font-weight:600;text-transform:uppercase}
.float-card .fc-top .dot{width:6px;height:6px;border-radius:50%;background:#3E9B6B}
.float-card b{display:block;font-size:13.5px;margin-top:5px;letter-spacing:-.01em}
.float-card small{font-size:11px;color:var(--mut)}
.fc-1{left:-22px;top:52px}
.fc-2{right:-14px;bottom:74px}
.fc-3{left:36px;bottom:-14px;display:flex;align-items:center;gap:10px}
.fc-3 .ring{width:38px;height:38px;border-radius:50%;background:conic-gradient(var(--forest) 0 78%,#E4E9DE 78% 100%);display:grid;place-items:center}
.fc-3 .ring:after{content:"78%";width:28px;height:28px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:9px;font-weight:700;color:var(--forest)}
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.cat-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px 20px 20px;position:relative;transition:.22s;overflow:hidden}
.cat-card:hover{transform:translateY(-4px);box-shadow:var(--sh-2);border-color:#CFDECF}
.cat-card .idx{font-size:10.5px;font-weight:700;color:var(--mut);letter-spacing:.1em}
.cat-card .ico{width:42px;height:42px;border-radius:12px;background:var(--mint);color:var(--forest);display:grid;place-items:center;margin:14px 0 16px}
.cat-card h3{font-size:17px;margin-bottom:6px}
.cat-card p{font-size:12.5px;color:var(--mut);line-height:1.7;min-height:42px}
.cat-card .go{margin-top:16px;font-size:12px;font-weight:600;color:var(--forest);display:flex;align-items:center;gap:5px}
.cat-card:after{content:"";position:absolute;right:-40px;top:-40px;width:110px;height:110px;border-radius:50%;background:var(--mint);opacity:0;transition:.25s}
.cat-card:hover:after{opacity:.5}
.pkg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pkg{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:26px 24px;display:flex;flex-direction:column;position:relative;transition:.22s}
.pkg:hover{box-shadow:var(--sh-2);transform:translateY(-3px)}
.pkg.dark{background:var(--forest);border-color:var(--forest);color:#fff}
.pkg.dark .pkg-desc,.pkg.dark li{color:#C6DBD1}
.pkg.dark .price small,.pkg.dark .pkg-meta{color:#9DBAB0}
.pkg .ribbon{position:absolute;top:18px;right:18px;font-size:10.5px;font-weight:700;padding:4px 9px;border-radius:999px;background:var(--lime);color:var(--forest-d);letter-spacing:.04em}
.pkg.dark .ribbon{background:rgba(203,234,114,.16);color:var(--lime)}
.pkg h3{font-size:19px;margin-bottom:6px}
.pkg-desc{font-size:12.5px;color:var(--mut);line-height:1.7;min-height:40px}
.pkg .price{display:flex;align-items:flex-end;gap:8px;margin:16px 0 4px}
.pkg .price b{font-size:34px;letter-spacing:-.04em;line-height:1;font-weight:650}
.pkg .price small{font-size:12px;color:var(--mut);text-decoration:line-through;padding-bottom:4px}
.pkg .pkg-meta{font-size:11px;color:var(--mut);margin-bottom:18px}
.pkg ul{list-style:none;display:flex;flex-direction:column;gap:9px;font-size:12.5px;color:var(--ink2);flex:1;margin-bottom:22px;padding-top:16px;border-top:1px dashed var(--line)}
.pkg.dark ul{border-color:rgba(255,255,255,.16)}
.pkg li{display:flex;gap:8px;align-items:flex-start}
.pkg li svg{flex:none;margin-top:3px;color:#3E9B6B}
.flow{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:8px}
.step{position:relative;padding:0 18px 0 0}
.step:before{content:"";position:absolute;left:30px;right:6px;top:17px;height:1px;background:repeating-linear-gradient(90deg,var(--line) 0 5px,transparent 5px 10px)}
.step:last-child:before{display:none}
.step .n{width:34px;height:34px;border-radius:50%;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--forest);position:relative;z-index:1;margin-bottom:16px}
.step:first-child .n{background:var(--forest);color:var(--lime);border-color:var(--forest)}
.step h4{font-size:14px;margin-bottom:6px}
.step p{font-size:11.5px;color:var(--mut);line-height:1.65;max-width:150px}
.step .d{font-size:10.5px;color:var(--forest-l);font-weight:600;margin-top:8px;letter-spacing:.02em}
.band{background:var(--forest);border-radius:26px;color:#fff;position:relative;overflow:hidden;container-type:inline-size}
.band-in{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(18px,4cqw,44px);padding:clamp(20px,5cqw,44px) clamp(16px,5cqw,46px)}
.band-in>*{flex:1 1 min(320px,100%);min-width:0}
.band:after{content:"";position:absolute;right:-60px;bottom:-90px;width:260px;height:260px;border-radius:50%;border:1px solid rgba(203,234,114,.18)}
.band h2{font-size:29px;color:#fff;line-height:1.25}
.band p{color:#B9D2C8;font-size:13px;margin-top:12px;line-height:1.8;max-width:360px}
.band .kicker{color:var(--lime)}
.band .form{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:20px;backdrop-filter:blur(6px)}
.band .form .inp{background:rgba(255,255,255,.94);border-color:transparent}
.band .form .btn{margin-top:4px}
.band .demo{font-size:10.5px;color:#8FB0A4;margin-top:10px;letter-spacing:.02em}
/* 报告查询模块底部支持文案（与上方品牌头图深绿模块衔接） */
.band-foot{position:relative;z-index:1;margin:0;padding:0 clamp(16px,5cqw,46px) clamp(16px,3.5cqw,26px);text-align:center;font-size:11px;letter-spacing:.04em;color:rgba(185,210,200,.75)}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.about-art{position:relative;height:390px;border-radius:24px;background:linear-gradient(155deg,#E9F0E2,#D9E7DA 60%,#CFE0D2);overflow:hidden;border:1px solid #DAE4D6}
.about-art .grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(11,74,60,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(11,74,60,.06) 1px,transparent 1px);background-size:40px 40px}
.about-art .lab-card{position:absolute;left:24px;right:24px;bottom:24px;background:rgba(255,255,255,.9);border-radius:14px;padding:16px 18px;backdrop-filter:blur(6px);display:flex;gap:18px}
.about-art .lab-card div{flex:1}
.about-art .lab-card b{display:block;font-size:20px;letter-spacing:-.03em}
.about-art .lab-card span{font-size:10.5px;color:var(--mut)}
.about-art .dish{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:180px;height:180px;border-radius:50%;border:1px solid rgba(11,74,60,.15);display:grid;place-items:center}
.about-art .dish:before,.about-art .dish:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(11,74,60,.1)}
.about-art .dish:before{inset:18px}.about-art .dish:after{inset:42px}
.about-art .dish svg{width:168px;height:auto;opacity:.92}
.bullets{list-style:none;display:flex;flex-direction:column;gap:14px;margin-top:24px}
.bullets li{display:flex;gap:12px;font-size:13px;color:var(--ink2);line-height:1.7}
.bullets .tick{flex:none;width:20px;height:20px;border-radius:6px;background:var(--mint);color:var(--forest);display:grid;place-items:center;margin-top:2px}
.page-head{padding:52px 0 34px;border-bottom:1px solid var(--line)}
.page-head .kicker{margin-bottom:12px;display:block}
.page-head h1{font-size:40px;letter-spacing:-.04em}
.page-head p{color:var(--ink2);margin-top:14px;max-width:600px;font-size:14px}
.filters{display:flex;gap:8px;padding:22px 0;flex-wrap:wrap;align-items:center}
.filters button{padding:7px 14px;border-radius:999px;border:1px solid var(--line);font-size:12.5px;color:var(--ink2);background:var(--surface);transition:.15s}
.filters button:hover{border-color:var(--forest);color:var(--forest)}
.filters button.on{background:var(--forest);color:#fff;border-color:var(--forest)}
.item-list{display:flex;flex-direction:column;border-top:1px solid var(--line);margin-bottom:60px}
.item-row{display:grid;grid-template-columns:52px 1.5fr 1fr 110px 130px;gap:18px;align-items:center;padding:20px 4px;border-bottom:1px solid var(--line);transition:.15s}
.item-row:hover{background:var(--surface);padding-left:12px;padding-right:12px}
.item-row .no{font-size:11px;color:var(--mut);font-weight:700;letter-spacing:.06em}
.item-row h4{font-size:15px}
.item-row .code{font-size:11px;color:var(--mut);letter-spacing:.04em;margin-top:2px}
.item-row .brief{font-size:12px;color:var(--ink2);line-height:1.65}
.item-row .price{font-size:17px;font-weight:650;letter-spacing:-.02em}
.item-row .price small{font-size:11px;color:var(--mut);font-weight:400}
.item-row .act{text-align:right}
.query-wrap{max-width:780px;margin:0 auto;padding:56px 0 80px}
.query-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:30px;box-shadow:var(--sh-1)}
.query-card h2{font-size:22px;margin-bottom:6px}
.query-card .sub{font-size:12.5px;color:var(--mut);margin-bottom:22px}
.query-note{display:flex;gap:10px;background:#FFF9EC;border:1px solid #F1E3C4;border-radius:10px;padding:11px 13px;font-size:11.5px;color:#8A6A22;line-height:1.65;margin-top:16px}
.report-doc{background:#fff;border:1px solid var(--line);border-radius:6px;padding:52px 56px;margin-top:26px;box-shadow:var(--sh-2)}
.rd-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid var(--forest);padding-bottom:18px}
.rd-head h2{font-size:22px;letter-spacing:.02em}
.rd-head .brandline{font-size:10.5px;letter-spacing:.18em;color:var(--mut);margin-top:4px}
.rd-no{text-align:right;font-size:11px;color:var(--mut);line-height:1.9}
.rd-no b{display:block;font-size:13px;color:var(--ink);letter-spacing:.04em}
.rd-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 24px;padding:22px 0;border-bottom:1px solid var(--line)}
.rd-meta div{font-size:12px}
.rd-meta span{display:block;color:var(--mut);font-size:10.5px;letter-spacing:.04em;margin-bottom:3px}
.rd-table{width:100%;border-collapse:collapse;margin:22px 0;font-size:12.5px}
.rd-table th{background:var(--mint);color:var(--forest);font-size:10.5px;letter-spacing:.06em;text-align:left;padding:9px 12px;font-weight:700}
.rd-table td{padding:11px 12px;border-bottom:1px solid var(--line-2)}
.rd-sign{display:flex;justify-content:space-between;gap:20px;margin-top:34px;padding-top:18px;border-top:1px dashed var(--line)}
.rd-sign div{font-size:11px;color:var(--mut)}
.rd-sign b{display:block;font-size:13px;color:var(--ink);margin-top:4px;font-weight:600}
.rd-foot{margin-top:26px;font-size:10.5px;color:var(--mut);line-height:1.8;border-top:1px solid var(--line-2);padding-top:14px}
footer.site{background:var(--forest-d);color:#B8CFC4;margin-top:40px}
footer.site .ft-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding:56px 0 40px}
footer.site h5{color:#fff;font-size:12px;letter-spacing:.1em;margin-bottom:16px;font-weight:600}
footer.site a,footer.site p{font-size:12.5px;line-height:2;color:#9FBCB0;display:block}
footer.site a:hover{color:var(--lime)}
footer.site .logo b{color:#fff}footer.site .logo small{color:#7FA094}
footer.site .logo .mark{background:rgba(255,255,255,.1);color:var(--lime)}
footer.site .desc{font-size:12.5px;line-height:1.9;max-width:300px;margin-top:16px}
footer.site .bottom{border-top:1px solid rgba(255,255,255,.1);padding:18px 0;display:flex;justify-content:space-between;font-size:11px;color:#7FA094;letter-spacing:.02em}
.admin{display:flex;min-height:100vh;background:#F4F5F1}
.side{width:236px;flex:none;background:var(--forest-d);color:#CFE0D8;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:40}
.side .brand{padding:20px 20px 18px;display:flex;align-items:center;gap:9px;border-bottom:1px solid rgba(255,255,255,.08)}
.side .brand .mark{width:30px;height:30px;border-radius:9px;background:rgba(255,255,255,.08);display:grid;place-items:center;color:var(--lime)}
.side .brand b{color:#fff;font-size:14px;letter-spacing:.1em;line-height:1.2;display:block}
.side .brand small{font-size:8px;letter-spacing:.18em;color:#7FA094}
.side .nav{flex:1;overflow:auto;padding:14px 10px}
.side .grp{font-size:9.5px;letter-spacing:.16em;color:#6C8C80;padding:12px 10px 6px;font-weight:700}
.side a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;font-size:12.5px;color:#B9D1C6;margin-bottom:1px;transition:.15s;position:relative}
.side a svg{width:15px;height:15px;opacity:.8}
.side a:hover{background:rgba(255,255,255,.06);color:#fff}
.side a.on{background:rgba(203,234,114,.14);color:#fff;font-weight:600}
.side a.on:before{content:"";position:absolute;left:-10px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--lime)}
.side a .off{margin-left:auto;font-size:9px;padding:1px 5px;border-radius:4px;background:rgba(255,255,255,.1);color:#9FBCB0}
.side .u{border-top:1px solid rgba(255,255,255,.08);padding:12px 14px;display:flex;align-items:center;gap:10px}
.side .u .av{width:28px;height:28px;border-radius:50%;background:var(--mint);color:var(--forest);display:grid;place-items:center;font-size:11px;font-weight:700}
.side .u b{display:block;font-size:11.5px;color:#fff;line-height:1.3}
.side .u span{font-size:9.5px;color:#7FA094}
.main{margin-left:236px;flex:1;min-width:0}
.top{height:58px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 26px;gap:14px;position:sticky;top:0;z-index:30}
.crumb{font-size:12.5px;color:var(--mut);display:flex;align-items:center;gap:7px}
.crumb b{color:var(--ink);font-weight:600}
.top .right{margin-left:auto;display:flex;align-items:center;gap:10px}
.env{font-size:10px;letter-spacing:.08em;padding:3px 7px;border-radius:5px;background:#FBF1E2;color:#9C6520;font-weight:700}
.content{padding:24px 26px 48px;max-width:1480px}
.page-title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}
.page-title h1{font-size:22px;letter-spacing:-.03em}
.page-title p{font-size:12px;color:var(--mut);margin-top:5px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh-1)}
.card-h{padding:15px 18px;border-bottom:1px solid var(--line-2);display:flex;align-items:center;justify-content:space-between;gap:12px}
.card-h h3{font-size:13.5px;letter-spacing:0}
.card-h .sub{font-size:11px;color:var(--mut);margin-top:2px}
.card-b{padding:18px}
.card-b.tight{padding:0}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:16px 18px}
.stat .l{font-size:11.5px;color:var(--mut);display:flex;align-items:center;gap:6px}
.stat b{display:block;font-size:27px;letter-spacing:-.04em;margin:6px 0 2px;font-weight:650}
.stat .t{font-size:10.5px;color:#3E9B6B}
.stat .t.dn{color:#A6432B}
.grid-2{display:grid;grid-template-columns:1.5fr 1fr;gap:14px}
.grid-2e{display:grid;grid-template-columns:1fr 1fr;gap:14px}
table.tb{width:100%;border-collapse:collapse;font-size:12.5px}
table.tb th{text-align:left;font-size:10px;letter-spacing:.08em;color:var(--mut);font-weight:700;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--surface-2);white-space:nowrap}
table.tb td{padding:12px 14px;border-bottom:1px solid var(--line-2);vertical-align:middle}
table.tb tr:last-child td{border-bottom:0}
table.tb tbody tr:hover{background:#FCFCF8}
table.tb td .nm{font-weight:600}
table.tb td .sm{font-size:10.5px;color:var(--mut);margin-top:2px}
table.tb .num{font-variant-numeric:tabular-nums}
.tb-wrap{overflow:auto}
.empty{padding:44px;text-align:center;color:var(--mut);font-size:12.5px}
.mod-row{display:flex;align-items:center;gap:14px;padding:15px 18px;border-bottom:1px solid var(--line-2)}
.mod-row:last-child{border-bottom:0}
.mod-row .mi{width:36px;height:36px;border-radius:10px;background:var(--mint);color:var(--forest);display:grid;place-items:center;flex:none}
.mod-row .mname{font-size:13px;font-weight:600;display:flex;align-items:center;gap:7px}
.mod-row .mmeta{font-size:10.5px;color:var(--mut);margin-top:2px;display:flex;gap:10px}
.mod-row .mact{margin-left:auto;display:flex;align-items:center;gap:6px}
.switch{width:34px;height:19px;border-radius:999px;background:#D9DED6;position:relative;transition:.18s;flex:none}
.switch:after{content:"";position:absolute;top:2px;left:2px;width:15px;height:15px;border-radius:50%;background:#fff;transition:.18s;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.switch.on{background:var(--forest)}
.switch.on:after{left:17px}
.builder{height:100vh;display:flex;flex-direction:column;background:#EEEFE9;overflow:hidden}
.b-top{height:54px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;padding:0 14px;flex:none;z-index:20}
.b-top .pg{font-size:12.5px;font-weight:600;display:flex;align-items:center;gap:7px}
.b-top .pg span{color:var(--mut);font-weight:400;font-size:11px}
.b-top .dev{display:flex;gap:2px;background:#F2F2EC;border-radius:8px;padding:2px;margin-left:auto}
.b-top .dev button{padding:5px 9px;border-radius:6px;font-size:11px;color:var(--mut);display:flex;align-items:center;gap:4px}
.b-top .dev button.on{background:#fff;color:var(--ink);box-shadow:var(--sh-1)}
.b-body{flex:1;display:grid;grid-template-columns:230px 1fr 316px;min-height:0}
.b-left,.b-right{background:var(--surface);overflow:auto}
.b-left{border-right:1px solid var(--line)}
.b-right{border-left:1px solid var(--line)}
.b-panel-h{padding:12px 14px;border-bottom:1px solid var(--line-2);font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--ink2);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--surface);z-index:5}
.lib-grp{font-size:9.5px;letter-spacing:.12em;color:var(--mut);padding:12px 14px 6px;font-weight:700}
.lib-item{display:flex;align-items:center;gap:9px;padding:8px 12px;margin:0 6px;border-radius:7px;font-size:12px;color:var(--ink2);cursor:pointer;transition:.12s}
.lib-item:hover{background:var(--mint);color:var(--forest)}
.lib-item .li-ico{width:22px;height:22px;border-radius:6px;background:#F4F5EF;display:grid;place-items:center;color:var(--forest-l);flex:none}
.lib-item .biz{font-size:8.5px;padding:1px 4px;border-radius:3px;background:#EEF3E9;color:#5B7C5E;margin-left:auto}
.b-canvas-wrap{overflow:auto;padding:22px;display:flex;justify-content:center;align-items:flex-start}
.sheet{width:100%;max-width:430px;background:#fff;box-shadow:0 4px 24px -6px rgba(11,74,60,.16);border-radius:4px;min-height:500px;transition:max-width .25s;overflow:hidden;container-type:inline-size;container-name:canvas}
.sheet.is-auto{max-width:100%}
.sheet.is-mobile{max-width:390px}
.sheet.is-tablet{max-width:834px}
.sheet.is-desk{max-width:1280px}
/* 装修画布：前台 .wrap 按视口 92vw 计算，在 390px 画布内会被撑到 1200px 造成溢出/双重白边，这里换算为百分比并去掉横向内边距，做到铺满画布 */
#canvas .wrap{width:100%!important;max-width:100%!important;margin:0!important;padding-left:0!important;padding-right:0!important;box-sizing:border-box}
#canvas .sec-full,#canvas .cols,#canvas .col,#canvas .blk,#canvas .blk-edit,#canvas .blk-render{min-width:0;box-sizing:border-box}
#canvas .blk-render{width:100%}
#canvas .blk-render.has-hot{position:relative}
.sheet.is-mobile .band{border-radius:14px}
.sheet.is-mobile .heroB{border-radius:12px}
.sec-edit{position:relative;outline:1px dashed transparent;transition:outline .15s}
.sec-edit:hover{outline-color:#C9D6C9}
.sec-edit.sel{outline:1.5px solid #7E9B7B}
.sec-tools{position:absolute;top:-1px;right:6px;display:flex;gap:2px;background:var(--forest);border-radius:0 0 6px 6px;padding:2px 3px;z-index:9;opacity:0;transform:translateY(-4px);transition:.15s}
.sec-edit:hover>.sec-tools,.sec-edit.sel>.sec-tools{opacity:1;transform:none}
.sec-tools button{width:22px;height:20px;color:#CFE3D9;display:grid;place-items:center;border-radius:3px;font-size:10px}
.sec-tools button:hover{background:rgba(255,255,255,.15);color:#fff}
.blk{position:relative}
.blk-edit{position:relative;outline:1px dashed transparent;min-height:20px;transition:outline .12s}
.blk-edit:hover{outline-color:#A9C0A6}
.blk-edit.sel{outline:1.5px solid var(--forest)}
/* 编辑态点击组件内交互元素：红框闪烁提醒（不弹出、组件保持原样） */
.blk-edit.blk-warn{outline:2px solid #D64541!important;outline-offset:2px}
/* 品牌头图组件（heroBanner）：深绿渐变 + 网格纹理 + 鹦鹉线稿 + 色块标题 + 可选轮播 */
.heroB{position:relative;overflow:hidden;border-radius:18px;background:linear-gradient(135deg,#0B4A3C 0%,#123F2E 52%,#1E5240 100%);color:#fff;padding:40px 26px 38px;box-shadow:0 18px 40px -22px rgba(7,50,42,.55)}
.heroB:before{content:"";position:absolute;left:-50px;top:-70px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(203,234,114,.22),transparent 68%);pointer-events:none;z-index:1}
.heroB:after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(7,50,42,.12) 0%,rgba(7,50,42,.55) 100%);pointer-events:none}
.heroB .hb-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:28px 28px;pointer-events:none;opacity:.9}
.heroB .hb-bird{position:absolute;right:-16px;bottom:-24px;width:210px;height:210px;color:#D7F26B;opacity:.16;transform:rotate(-10deg);pointer-events:none;z-index:1}
.heroB .hb-in{position:relative;z-index:3}
.heroB .hb-k{position:relative;display:inline-flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.24em;color:#C9E88A;font-weight:700}
.heroB .hb-k:before{content:"";width:22px;height:2px;border-radius:2px;background:#C9E88A;opacity:.85}
.heroB h2.hb-title{position:relative;font-size:30px;line-height:1.5;margin:14px 0 0;letter-spacing:.01em}
.heroB .hb-t{display:inline-block;background:linear-gradient(125deg,#DCF474 0%,#B7E24E 100%);color:#0B2A22;padding:6px 14px;border-radius:10px;margin:0 8px 8px 0;box-shadow:0 10px 22px -12px rgba(215,242,107,.6);font-weight:700}
.heroB .hb-sub{position:relative;font-size:13px;line-height:1.95;color:rgba(255,255,255,.88);margin-top:14px;white-space:pre-line;max-width:640px}
/* 头图轮播：背景图渐变切换 + 指示点 */
.heroB .hb-sw{position:absolute;inset:0;z-index:1;background:#07322A}
.heroB .hb-sw-item{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;background-size:cover;background-position:center}
.heroB .hb-sw-item.on{opacity:1}
.heroB.has-sw:after{background:linear-gradient(180deg,rgba(7,50,42,.42) 0%,rgba(7,50,42,.78) 100%)}
.heroB.has-sw .hb-grid,.heroB.has-sw .hb-bird{opacity:.35}
.heroB.has-sw .hb-sub{text-shadow:0 2px 10px rgba(7,50,42,.45)}
.heroB .hb-sw-dots{position:absolute;left:0;right:0;bottom:14px;display:flex;gap:6px;justify-content:center;z-index:5}
.heroB .hb-sw-dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.55);box-shadow:0 0 0 1px rgba(7,50,42,.12);cursor:pointer;transition:.25s}
.heroB .hb-sw-dots i.on{width:18px;border-radius:3px;background:#D7F26B}
.sec-edit .heroB .hb-sw-dots i{width:8px;height:8px}
.sec-edit .heroB .hb-sw-dots i.on{width:20px}
@media(max-width:760px){.heroB{padding:30px 20px 32px}.heroB h2.hb-title{font-size:24px}.heroB .hb-t{padding:5px 11px;border-radius:9px}.heroB .hb-bird{width:150px;height:150px}}
/* 组件库删除按钮 */
.lib-item .li-row{position:relative}
.lib-item .li-del{position:absolute;right:0;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:20px;height:20px;border:1px solid transparent;border-radius:6px;background:transparent;color:#8A978F;cursor:pointer;opacity:0;transition:.15s}
.lib-item:hover .li-del{opacity:1}
.lib-item .li-del:hover{background:#FBEDE9;border-color:#F3D8D0;color:#A6432B}
.sheet .col{display:flex;flex-direction:column;gap:14px}
.sheet .cols{flex-wrap:wrap}
.blk.dragover{outline:2px dashed var(--clay);outline-offset:2px}
.drag-handle{display:grid;place-items:center;width:22px;height:20px;border-radius:3px;cursor:grab;color:#DDF0E4;font-size:12px;line-height:1;user-select:none;touch-action:none;flex:none}
.drag-handle:hover{background:rgba(255,255,255,.22);color:#fff}
.drag-handle:active{cursor:grabbing}
.drag-handle.in-blk{position:absolute;left:2px;top:2px;width:18px;height:18px;background:var(--forest);color:#CFE3D9;z-index:13;opacity:0;transition:.12s;font-size:11px}
.blk-edit:hover>.drag-handle.in-blk,.blk-edit.sel>.drag-handle.in-blk{opacity:1}
.blk-edit:hover>.blk-label,.blk-edit.sel>.blk-label{left:24px}
.drag-ghost{position:fixed;left:0;top:0;z-index:500;pointer-events:none;background:var(--forest);color:#fff;font-size:11px;padding:5px 10px;border-radius:6px;box-shadow:0 8px 20px rgba(6,30,24,.28);opacity:.94;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.drag-ghost:before{content:"⠿  "}
body.dragging{cursor:grabbing!important;user-select:none;-webkit-user-select:none}
body.dragging .blk-render,body.dragging a{pointer-events:none}
.drop-ind{position:relative;height:0;flex:none;z-index:5;pointer-events:none}
.drop-ind::before{content:'';position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--clay);border-radius:2px;box-shadow:0 0 0 3px rgba(190,117,80,.16)}
.drop-ind::after{content:'';position:absolute;left:-1px;top:-5px;width:8px;height:8px;border-radius:50%;background:var(--clay);box-shadow:0 0 0 2px #fff}
.drop-on{background:rgba(190,117,80,.06);outline:1.5px dashed var(--clay)!important;outline-offset:2px}
.col.drop-on{outline-offset:4px}
.canvas-tail{margin:10px 22px;padding:14px;border:1px dashed #C9D6C9;border-radius:8px;text-align:center;font-size:11px;color:#8CA08B;background:rgba(255,255,255,.5)}
.canvas-empty{margin:22px;padding:70px 20px;text-align:center;color:var(--mut);font-size:13px;line-height:2;border:1px dashed #C9D6C9;border-radius:10px}
.canvas-empty span{font-size:11px;color:#8CA08B}
.li-drag{color:#B9C6B8;font-size:11px;cursor:grab;flex:none;width:8px}
.lib-item{cursor:grab}
.lib-item:active{cursor:grabbing}
.lib-item:hover .li-drag{color:var(--forest)}
.drop-hint{font-size:10px;color:#8CA08B;font-weight:400;letter-spacing:0;margin-left:auto}
.blk-tools{position:absolute;top:2px;right:2px;display:flex;gap:1px;background:var(--forest);border-radius:5px;padding:2px;z-index:12;opacity:0;transition:.12s}
.blk-edit:hover>.blk-tools,.blk-edit.sel>.blk-tools{opacity:1}
.blk-tools button{width:20px;height:18px;border-radius:3px;color:#CFE3D9;display:grid;place-items:center}
.blk-tools button:hover{background:rgba(255,255,255,.16);color:#fff}
.blk-label{position:absolute;top:2px;left:2px;font-size:9px;background:var(--forest);color:#DDEBE2;padding:1px 5px;border-radius:3px;opacity:0;letter-spacing:.04em;z-index:12}
.blk-edit:hover>.blk-label,.blk-edit.sel>.blk-label{opacity:1}
.add-slot{height:34px;margin:4px;border:1px dashed #C9D6C9;border-radius:6px;display:grid;place-items:center;font-size:10.5px;color:#8CA08B;cursor:pointer;background:rgba(255,255,255,.4)}
.add-slot:hover{border-color:var(--forest);color:var(--forest);background:var(--mint)}
.b-ins{display:flex;flex-direction:column}
.tabs{display:flex;border-bottom:1px solid var(--line);background:var(--surface);position:sticky;top:0;z-index:4}
.tabs button{flex:1;padding:10px 4px;font-size:11.5px;color:var(--mut);border-bottom:2px solid transparent;font-weight:600}
.tabs button.on{color:var(--forest);border-color:var(--forest)}
.ins-body{padding:14px}
.ins-body .field{margin-bottom:12px}
.ins-body .field>label{font-size:11px}
.ins-body .inp,.ins-body .sel{height:34px;font-size:12px}
.ins-body .ta{min-height:70px;font-size:12px}
.seg{display:flex;gap:3px;background:#F3F4EE;padding:3px;border-radius:8px}
.seg button{flex:1;padding:5px;border-radius:6px;font-size:11px;color:var(--mut)}
.seg button.on{background:#fff;color:var(--ink);box-shadow:var(--sh-1);font-weight:600}
.hot-list{display:flex;flex-direction:column;gap:8px}
.hot-item{border:1px solid var(--line);border-radius:8px;padding:9px;background:var(--surface-2)}
.hot-item .hh{display:flex;align-items:center;justify-content:space-between;font-size:10.5px;color:var(--mut);margin-bottom:6px}
.hot-item .inp{height:28px;font-size:11px}
@container canvas (max-width:760px){
.wrap{max-width:100%!important;padding:0 12px!important;box-sizing:border-box}
.sec .cols{flex-direction:column!important;gap:14px!important}
.sec .col{width:100%!important;flex:1 1 100%!important;min-width:0!important}
.m-nav-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important}
.m-goods.g2,.m-goods.g3{grid-template-columns:1fr 1fr!important;gap:8px!important}
.m-cards.big{grid-template-columns:1fr!important}
.m-coupons{flex-direction:column}
.m-coupon{width:100%!important}
.m-count{flex-wrap:wrap;gap:10px}
.m-slider .m-slide{padding:16px 16px 20px!important}
.m-slide-txt h2{font-size:18px!important}
.m-slide-art{opacity:.9;width:38%!important}
.m-sec-head h3{font-size:15px!important}
.m-tabs{gap:2px;padding:0 8px!important}
.m-tabs a{padding:10px 9px!important;font-size:12px!important}
.hero{grid-template-columns:1fr!important;gap:26px!important;padding:26px 0 34px!important}
.hero h1{font-size:clamp(26px,7.4cqi,38px)!important;line-height:1.16!important}
.hero h1 em{white-space:normal}
.hero .lede{font-size:13.5px;margin-top:16px;line-height:1.85}
.hero .cta{gap:9px}
.hero .cta .btn{flex:1 1 auto;justify-content:center}
.hero-art{height:250px!important}
.hero-stats{margin-top:24px}
.hero-stats b{font-size:20px}
.cat-grid,.pkg-grid,.flow,.band,.split,.stat-grid,.grid-2,.grid-2e,.rd-meta{grid-template-columns:1fr!important;gap:14px!important}
.band{border-radius:18px}
.band-in{padding:24px 18px!important}
.band h2{font-size:22px}
.flow .step:before{display:none}
.item-row{grid-template-columns:1fr 90px!important;gap:8px;padding:14px 0}
.item-row .brief,.item-row .code,.item-row .th{display:none}
.about-art{height:300px}
.split{gap:22px}
h2,.sec-h2{font-size:22px!important;line-height:1.3}
.page-head{padding:32px 0 22px}
.page-head h1{font-size:27px!important}
.rd-meta>div{border:0!important}
}
@container canvas (min-width:761px) and (max-width:1000px){
.wrap{max-width:100%!important;padding:0 28px!important;box-sizing:border-box}
.sec .cols{flex-wrap:wrap!important;gap:20px!important}
.sec .col{flex:1 1 calc(50% - 20px)!important;min-width:220px!important}
.cat-grid{grid-template-columns:repeat(2,1fr)!important}
.flow{grid-template-columns:repeat(2,1fr)!important;gap:22px}
.pkg-grid{grid-template-columns:1fr 1fr!important}
.step:before{display:none}
.item-row{grid-template-columns:40px 1fr 110px!important}
.item-row .brief{display:none}
.stat-grid{grid-template-columns:1fr 1fr!important}
.grid-2,.grid-2e{grid-template-columns:1fr!important}
}
.sec .col{overflow-wrap:anywhere}
.blk-render{min-width:0;max-width:100%}
.blk-render img,.blk-render svg,.blk-render table{max-width:100%}
.blk-render table{display:block;overflow-x:auto}
.sec{box-sizing:border-box;overflow:hidden}
.sec .wrap,.sec .sec-full,.sec .cols,.sec .col{box-sizing:border-box}
@container canvas (min-width:761px){
.m-nav{max-width:1100px;margin:0 auto;border-radius:0 0 14px 14px}
.m-nav-grid{max-width:1100px;margin:0 auto}
}
.ph{border:1px dashed #C9D6C9;border-radius:10px;background:linear-gradient(135deg,#F7F9F4,#EEF3EA);min-height:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:18px;text-align:center}
.ph-t{font-size:13px;font-weight:700;color:#4C6A50}
.ph-s{font-size:11px;color:#8CA08B;line-height:1.6;max-width:320px}
.m-nav{padding:10px 12px 8px;border-radius:0}
.m-nav-top{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:700;letter-spacing:.02em}
.m-nav-top .m-logo{display:flex;align-items:center;gap:6px}
.m-nav-icons{display:flex;gap:12px;opacity:.85}
.m-search{margin-top:10px;display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.92);border-radius:999px;padding:6px 6px 6px 12px;font-size:11.5px;color:#8A968A}
.m-search span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m-search b{background:var(--clay);color:#fff;font-size:11px;font-weight:600;padding:4px 11px;border-radius:999px}
.m-nav-links{display:flex;gap:4px;margin-top:9px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.m-nav-links::-webkit-scrollbar{display:none}
.m-nav-links a{flex:none;font-size:12px;padding:5px 9px;border-radius:6px;opacity:.9}
.m-nav-links a:first-child{background:rgba(255,255,255,.14);opacity:1}
.m-slider{overflow:hidden;position:relative;background:var(--mint)}
.m-slide{position:relative;display:flex;align-items:center;gap:10px;padding:24px 20px 28px;min-height:180px;background:linear-gradient(135deg,#E8F2E4,#D8E9D6 60%,#F3E6D6)}
.m-slide-txt{flex:1;min-width:0;position:relative;z-index:2}
.m-kicker{font-size:9px;letter-spacing:.18em;color:#5B7C5E;font-weight:700}
.m-slide-txt h2{font-size:22px;line-height:1.28;margin-top:8px;color:#12211C;font-weight:800;letter-spacing:-.01em}
.m-slide-txt p{font-size:12px;color:#4A5F52;margin-top:7px;line-height:1.7}
.m-slide-btn{display:inline-block;margin-top:13px;background:var(--forest);color:#fff;font-size:11.5px;padding:6px 14px;border-radius:999px;font-weight:600}
.m-slide-art{position:absolute;right:6px;bottom:0;width:42%;max-width:190px;opacity:.95}
.m-slide-art svg{width:100%;height:auto;display:block}
.m-slide-idx{position:absolute;right:12px;top:12px;font-size:10px;background:rgba(11,74,60,.5);color:#fff;padding:2px 8px;border-radius:999px;z-index:3}
.m-dots{position:absolute;left:20px;bottom:11px;display:flex;gap:5px;z-index:3}
.m-dots i{width:14px;height:3px;border-radius:2px;background:rgba(11,74,60,.22)}
.m-dots i.on{background:var(--forest);width:20px}
.m-dots.dot i{width:6px;height:6px;border-radius:50%}
.m-dots.dot i.on{width:6px}
.m-notice{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:10px;font-size:11.5px;overflow:hidden}
.m-notice-tag{flex:none;font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px;background:rgba(190,117,80,.16);color:#A9622F}
.m-notice-body{flex:1;min-width:0;overflow:hidden;white-space:nowrap}
.m-marquee{display:inline-block;animation:mmarq 22s linear infinite;padding-left:0}
@keyframes mmarq{from{transform:translateX(0)}to{transform:translateX(-55%)}}
.m-nav-grid{display:grid;gap:8px}
.m-navcell{display:flex;flex-direction:column;align-items:center;gap:5px;padding:8px 2px;border-radius:10px;text-align:center}
.m-navcell:active{background:var(--mint)}
.m-nc-ico{width:42px;height:42px;border-radius:50%;background:linear-gradient(140deg,#EAF3E6,#DCEBDA);color:var(--forest);display:grid;place-items:center}
.m-nc-ico.sq{border-radius:12px}
.m-navcell b{font-size:11.5px;font-weight:600;color:var(--ink);line-height:1.3}
.m-navcell small{font-size:9.5px;color:var(--mut)}
.m-ratio{position:relative;overflow:hidden;background:#F2F5EF}
.m-ratio>img,.m-ratio>.ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.m-ratio>.ph{min-height:0;border:0;border-radius:0}
.m-hot-tip{font-size:10px;color:var(--mut);margin-top:6px}
.m-sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:11px}
.m-sec-head h3{font-size:16px;font-weight:800;letter-spacing:-.01em;line-height:1.3}
.m-sec-head p{font-size:11px;color:var(--mut);margin-top:3px;line-height:1.6}
.m-more{flex:none;font-size:11px;color:var(--forest);display:flex;align-items:center;gap:2px;padding-bottom:2px}
.m-goods{display:grid;gap:10px}
.m-goods.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.m-goods.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.m-goods.scroll{display:flex;overflow-x:auto;gap:10px;padding-bottom:4px;scrollbar-width:none}
.m-goods.scroll::-webkit-scrollbar{display:none}
.m-goods.scroll .m-good{flex:none;width:46%}
.m-goods.list{grid-template-columns:1fr}
.m-goods.list .m-good{display:flex;gap:10px}
.m-goods.list .m-good-img{width:96px;flex:none;aspect-ratio:1}
.m-good{background:#fff;border:1px solid var(--line-2);border-radius:12px;overflow:hidden;display:block;transition:.15s;min-width:0}
.m-good:hover{box-shadow:0 8px 22px -10px rgba(11,74,60,.28);transform:translateY(-1px)}
.m-good-img{position:relative;aspect-ratio:1;background:linear-gradient(150deg,#F1F6EE,#E6F0E2);display:grid;place-items:center;overflow:hidden}
.m-good-img svg{width:78%;height:auto}
.m-good-tag{position:absolute;left:0;top:8px;background:var(--clay);color:#fff;font-size:9.5px;padding:2px 7px 2px 6px;border-radius:0 999px 999px 0}
.m-good-b{padding:8px 9px 10px;min-width:0}
.m-good-b h4{font-size:12.5px;font-weight:700;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m-good-d{font-size:10.5px;color:var(--mut);line-height:1.55;margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.m-good-f{display:flex;align-items:baseline;gap:5px;margin-top:7px;flex-wrap:wrap}
.m-price{font-size:15px;color:#C0392B;font-weight:800;letter-spacing:-.02em}
.m-good-f s{font-size:10px;color:var(--mut)}
.m-buy{margin-left:auto;font-size:10.5px;color:#fff;background:var(--forest);padding:3px 9px;border-radius:999px;font-weight:600}
.m-good-m{font-size:9.5px;color:#8CA08B;margin-top:5px}
.m-cards{display:grid;gap:10px}
.m-cards.big{grid-template-columns:repeat(2,minmax(0,1fr))}
.m-card{display:block;border-radius:var(--r,12px);overflow:hidden;background:#fff;border:1px solid var(--line-2);min-width:0}
.m-card-img{aspect-ratio:16/10;background:linear-gradient(150deg,#F1F6EE,#E6F0E2);display:grid;place-items:center;overflow:hidden}
.m-card-img svg,.m-card-img img{width:100%;height:100%;object-fit:cover}
.m-card-b{padding:9px 10px 11px}
.m-card-tag{font-size:9px;color:var(--forest);background:var(--mint);padding:1px 6px;border-radius:3px;display:inline-block;margin-bottom:5px}
.m-card-b h4{font-size:12.5px;font-weight:700;line-height:1.45}
.m-card-b p{font-size:10.5px;color:var(--mut);line-height:1.6;margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.m-cards.row{grid-template-columns:1fr}
.m-cards.row .m-card,.m-cards.mini .m-card{display:flex;gap:10px;align-items:center}
.m-cards.row .m-card-img{width:104px;flex:none;aspect-ratio:1;border-radius:8px}
.m-cards.mini .m-card{padding:8px 10px;gap:9px;border-radius:8px}
.m-cards.mini .m-card-img{width:44px;height:44px;flex:none;aspect-ratio:1;border-radius:8px}
.m-cards.mini .m-card-b{padding:0}
.m-cards.mini .m-card-b p{display:none}
.m-coupons{display:flex;gap:8px;flex-wrap:wrap}
.m-coupon{flex:1 1 150px;min-width:0;display:flex;align-items:stretch;border-radius:10px;overflow:hidden;background:#fff;border:1px solid #F0D9CE}
.m-cp-l{flex:1;padding:9px 10px;border-right:1px dashed #E7C9BA;min-width:0}
.m-cp-l b{font-size:17px;font-weight:800;display:block;color:#C0392B;line-height:1.2}
.m-cp-l small{font-size:9.5px;color:var(--mut)}
.m-cp-r{width:74px;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#FDF3EE;padding:6px 4px}
.m-cp-r span{font-size:8.5px;color:#A9622F;text-align:center;line-height:1.3}
.m-cp-r em{font-size:10.5px;font-style:normal;font-weight:700;color:#fff;background:var(--clay);padding:3px 8px;border-radius:999px}
.m-coupons.t-forest .m-cp-l b{color:var(--forest)}
.m-coupons.t-forest .m-cp-r{background:#EDF4EA}.m-coupons.t-forest .m-cp-r em{background:var(--forest)}
.m-coupons.t-gold .m-cp-l b{color:#9A7420}
.m-coupons.t-gold .m-cp-r{background:#FBF6E7}.m-coupons.t-gold .m-cp-r em{background:#C79A34}
.m-count{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:12px;color:#fff;flex-wrap:wrap}
.m-count-l{flex:1;min-width:120px}
.m-count-l b{font-size:14px;font-weight:800;display:block}
.m-count-l span{font-size:10.5px;opacity:.9;display:block;margin-top:3px;line-height:1.5}
.m-count-t{display:flex;align-items:center;gap:2px;font-size:11px}
.m-count-t i{font-style:normal;background:rgba(0,0,0,.28);padding:3px 5px;border-radius:4px;font-weight:700;letter-spacing:.02em}
.m-count-t em{font-style:normal;opacity:.8;font-size:10px}
.m-count-btn{flex:none;background:#fff;color:#B2562F;font-size:11.5px;font-weight:700;padding:6px 13px;border-radius:999px}
.m-tabs{display:flex;gap:2px;border-bottom:1px solid var(--line-2);overflow-x:auto;scrollbar-width:none;background:#fff;padding:0 4px}
.m-tabs::-webkit-scrollbar{display:none}
.m-tabs a{flex:none;font-size:12.5px;color:var(--ink2);padding:11px 12px;position:relative;white-space:nowrap}
.m-tabs a.on{color:var(--forest);font-weight:700}
.m-tabs a.on:after{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:0;width:20px;height:2.5px;border-radius:2px;background:var(--forest)}
.m-tabs.sticky{position:sticky;top:0;z-index:6}
.m-video{border-radius:12px;overflow:hidden;background:#0F2B23;color:#EAF3EC}
.m-video-cover{position:relative;aspect-ratio:16/9;background:linear-gradient(140deg,#1A4B3D,#0B2B24);display:grid;place-items:center;overflow:hidden}
.m-video-cover svg{width:62%;height:auto;opacity:.85}
.m-video-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.m-play{position:absolute;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.9);color:var(--forest);z-index:2}
.m-dur{position:absolute;right:8px;bottom:8px;font-size:10px;background:rgba(0,0,0,.55);padding:1px 6px;border-radius:4px;z-index:2}
.m-video-b{padding:10px 12px 12px}
.m-video-b b{font-size:12.5px;display:block}
.m-video-b p{font-size:10.5px;opacity:.82;margin-top:4px;line-height:1.6}
.m-rich{font-size:12.5px;line-height:1.9;color:var(--ink2);border-radius:10px;overflow-wrap:anywhere}
.m-rich b{color:var(--ink);font-size:13.5px}
.m-rich a{color:var(--forest);text-decoration:underline}
.m-rich img{max-width:100%;border-radius:8px;display:block;margin:6px 0}
.m-rank{border:1px solid var(--line-2);border-radius:12px;overflow:hidden;background:#fff}
.m-rank-row{display:flex;align-items:center;gap:9px;padding:10px 11px;border-bottom:1px solid var(--line-2)}
.m-rank-row:last-child{border-bottom:0}
.m-rank-n{width:16px;font-size:11px;font-weight:800;color:#9AAFA0;flex:none;text-align:center;font-family:var(--serif)}
.m-rank-n.hot{color:#C0392B}
.m-rank-i{width:30px;height:30px;border-radius:8px;background:var(--mint);color:var(--forest);display:grid;place-items:center;flex:none}
.m-rank-b{flex:1;min-width:0}
.m-rank-b b{font-size:12px;font-weight:600;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m-rank-b small{font-size:9.5px;color:var(--mut);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.m-rank-p{font-size:12.5px;font-weight:700;color:#C0392B;flex:none}
.b-tabs{display:flex;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface);z-index:6}
.b-tabs button{flex:1;padding:11px 4px;font-size:11.5px;font-weight:600;color:var(--mut);border-bottom:2px solid transparent}
.b-tabs button.on{color:var(--forest);border-color:var(--forest)}
.b-search{margin:8px 10px;display:flex;align-items:center;gap:6px;background:#F3F4EE;border-radius:8px;padding:0 9px;color:var(--mut)}
.b-search input{flex:1;height:32px;border:0;background:transparent;font-size:12px;color:var(--ink);outline:none;min-width:0}
.lib-wrap{padding-bottom:14px}
.li-nm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.li-off{font-size:8.5px;color:#A6432B;margin-left:auto}
.lib-empty{padding:20px 14px;font-size:11.5px;color:var(--mut);text-align:center}
.tpl-item{display:flex;align-items:center;gap:9px;margin:6px;padding:7px;border:1px solid var(--line-2);border-radius:9px;cursor:pointer;transition:.12s;background:#fff}
.tpl-item:hover{border-color:var(--forest);background:#F7FAF4}
.tpl-th{width:46px;height:38px;border-radius:7px;background:linear-gradient(140deg,#EAF3E6,#DCEBDA);color:var(--forest);display:grid;place-items:center;flex:none;position:relative}
.tpl-th.big{flex-direction:column;gap:1px;font-size:7.5px;letter-spacing:.06em;color:#5B7C5E}
.tpl-th.big b{font-size:8.5px;color:var(--forest);margin:0}
.tpl-tx{flex:1;min-width:0}
.tpl-tx b{font-size:11.5px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tpl-tx span{font-size:9.5px;color:var(--mut);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tpl-add{flex:none;font-size:10px;color:var(--forest);border:1px solid #CFE0CC;border-radius:999px;padding:3px 8px;background:#fff}
.pg-row{display:flex;align-items:center;gap:8px;padding:7px 10px;margin:3px 6px;border-radius:7px;cursor:pointer;border:1px solid transparent}
/* 页面结构缩略图：真实渲染后等比缩小 */
.pg-thumb{position:relative;width:44px;height:32px;flex:none;border-radius:5px;overflow:hidden;background:#F1F0EC;border:1px solid var(--line)}
.pg-thumb-in{width:390px;transform:scale(.1128);transform-origin:0 0;pointer-events:none;background:#fff}
.pg-thumb-empty{position:absolute;inset:0;display:block;background:repeating-linear-gradient(45deg,#F6F5F1,#F6F5F1 6px,#EFEDE7 6px,#EFEDE7 12px)}
.pg-sub{margin-left:18px!important;border-left:2px solid var(--line);border-radius:0 7px 7px 0!important}
.pg-badge{display:inline-block;margin-right:6px;padding:1px 6px;border-radius:4px;background:var(--mint);color:var(--forest);font-size:9.5px;font-weight:700;vertical-align:1px}
/* 手机扫码预览弹窗 */
.qr-box{padding:6px 0 2px}
.qr-img{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:210px;color:var(--mut)}
.qr-img svg{border-radius:10px;background:#fff;padding:8px;box-shadow:var(--sh-1)}
.qr-url{margin-top:12px;font-size:11.5px;color:var(--ink2);word-break:break-all;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:8px 10px}
.pg-row:hover{background:var(--mint)}
.pg-row.on{background:#EEF4EA;border-color:#CFE0CC}
.pr-n{font-size:9.5px;color:var(--mut);font-family:monospace;flex:none}
.pr-b{flex:1;min-width:0}
.pr-b b{font-size:11.5px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pr-b small{font-size:9.5px;color:var(--mut)}
.pr-a{display:flex;gap:1px;opacity:0;transition:.12s}
.pg-row:hover .pr-a,.pg-row.on .pr-a{opacity:1}
.pr-a button{width:18px;height:18px;border-radius:3px;color:var(--mut);display:grid;place-items:center}
.pr-a button:hover{background:#fff;color:var(--forest)}
.pane-bar{display:flex;align-items:center;justify-content:space-between;font-size:10.5px;padding:0 4px 10px;color:var(--mut)}
.pane-bar .muted{display:flex;align-items:center;gap:5px}
.zoom{display:flex;align-items:center;gap:4px;background:#fff;border-radius:999px;padding:2px 4px;box-shadow:var(--sh-1)}
.zoom button{width:20px;height:20px;border-radius:50%;color:var(--ink2);display:grid;place-items:center}
.zoom button:hover{background:var(--mint);color:var(--forest)}
.zoom b{font-size:10.5px;min-width:34px;text-align:center;font-weight:600;color:var(--ink2)}
.b-canvas-wrap{overflow:hidden;padding:14px 18px 0;display:flex;flex-direction:column;align-items:center;min-width:0}
.pane-scroll{flex:1;width:100%;overflow:auto;padding:0 0 40px;display:flex;justify-content:center;align-items:flex-start}
.phone-case{width:390px;max-width:390px;background:#fff;border-radius:22px;box-shadow:0 10px 40px -12px rgba(11,74,60,.28);overflow:hidden;flex:none}
.phone-bar{height:26px;background:#12211C;color:#93A79A;font-size:9.5px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;letter-spacing:.04em}
.phone-case .sheet{max-width:100%!important;border-radius:0;box-shadow:none;min-height:420px}
.pane-scroll:has(.sheet.is-tablet) .phone-case,.pane-scroll:has(.sheet.is-desk) .phone-case,.pane-scroll:has(.sheet.is-auto) .phone-case{max-width:100%;border-radius:14px}
.sec-tag{position:absolute;left:0;top:0;display:flex;align-items:center;gap:4px;font-size:9px;letter-spacing:.02em;background:#5B7C5E;color:#EAF3EC;padding:1px 7px 1px 1px;border-radius:0 0 6px 0;z-index:11;opacity:0;transition:.12s;pointer-events:none;white-space:nowrap}
.sec-tag .drag-handle{width:16px;height:15px;font-size:10px;pointer-events:auto;color:#DDF0E4}
.sec-edit:hover:not(:has(.blk-edit:hover))>.sec-tag,.sec-edit.sel:not(:has(.blk-edit:hover))>.sec-tag{opacity:1}
.blk-bar{position:absolute;right:2px;top:-1px;display:flex;align-items:center;gap:1px;background:var(--forest);border-radius:0 0 5px 5px;padding:1px 2px;z-index:14;opacity:0;transition:.12s}
.sec-edit:hover:not(:has(.blk-edit:hover))>.blk-bar,.sec-edit.sel:not(:has(.blk-edit:hover))>.blk-bar{opacity:1}
.blk-bar button{width:19px;height:17px;border-radius:3px;color:#CFE3D9;display:grid;place-items:center}
.blk-bar button:hover{background:rgba(255,255,255,.18);color:#fff}
.blk-bar .bb-drag{color:#9FC0AA;font-size:10px;padding:0 2px}
.sec-edit.is-hidden{opacity:.5;background-image:repeating-linear-gradient(45deg,rgba(0,0,0,.03) 0 8px,transparent 8px 16px)}
.canvas-more{padding:4px 12px 12px}
.canvas-more button{width:100%;justify-content:center;display:flex;align-items:center;gap:5px;font-size:11px;color:#5B7C5E;border:1px dashed #C9D6C9;border-radius:8px;padding:8px;background:rgba(255,255,255,.6)}
.canvas-more button:hover{border-color:var(--forest);color:var(--forest)}
.ins-tabs{display:flex;border-bottom:1px solid var(--line);background:var(--surface);position:sticky;top:0;z-index:4}
.ins-tabs button{flex:1;padding:10px 4px;font-size:11.5px;color:var(--mut);border-bottom:2px solid transparent;font-weight:600}
.ins-tabs button.on{color:var(--forest);border-color:var(--forest)}
.b-panel-h .ph-sub{font-weight:400;color:var(--mut);font-size:10px;letter-spacing:0}
.grp-t{font-size:10px;letter-spacing:.1em;color:var(--mut);font-weight:700;margin:14px 0 8px;padding-top:10px;border-top:1px solid var(--line-2)}
.grp-t:first-child{margin-top:0;border-top:0;padding-top:0}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cmp-hint{display:flex;align-items:center;gap:5px;font-size:10.5px;color:#5B7C5E;background:#F4F8F1;border:1px solid #E3ECDE;border-radius:7px;padding:7px 9px;margin-bottom:12px;line-height:1.5}
.st-row{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:11.5px;color:var(--ink2);border-bottom:1px dashed var(--line-2)}
.mask{position:fixed;inset:0;background:rgba(6,26,21,.42);backdrop-filter:blur(2px);z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;animation:fade .16s}
@keyframes fade{from{opacity:0}to{opacity:1}}
.modal{background:var(--surface);border-radius:16px;width:min(560px,100%);max-height:88vh;display:flex;flex-direction:column;box-shadow:0 30px 80px -20px rgba(6,30,24,.4);animation:pop .18s}
.modal.wide{width:min(860px,100%)}
@keyframes pop{from{transform:translateY(8px) scale(.99);opacity:0}to{transform:none;opacity:1}}
.modal-h{padding:18px 20px 14px;border-bottom:1px solid var(--line-2);display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.modal-h h3{font-size:15px}
.modal-h p{font-size:11.5px;color:var(--mut);margin-top:3px}
.modal-b{padding:18px 20px;overflow:auto;flex:1}
.modal-f{padding:14px 20px;border-top:1px solid var(--line-2);display:flex;justify-content:flex-end;gap:8px;background:var(--surface-2);border-radius:0 0 16px 16px}
.x{width:26px;height:26px;border-radius:6px;display:grid;place-items:center;color:var(--mut)}
.x:hover{background:#F1F2EC;color:var(--ink)}
.drawer-mask{position:fixed;inset:0;background:rgba(6,26,21,.32);z-index:100;display:flex;justify-content:flex-end;animation:fade .16s}
.drawer{width:min(600px,100%);background:var(--surface);height:100%;display:flex;flex-direction:column;box-shadow:-20px 0 60px rgba(6,30,24,.18);animation:slide .2s}
@keyframes slide{from{transform:translateX(30px);opacity:.6}to{transform:none;opacity:1}}
.drawer .modal-b{flex:1}
.toast-root{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);z-index:300;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}
.toast{background:var(--forest-d);color:#EAF4EC;font-size:12.5px;padding:10px 18px;border-radius:999px;box-shadow:0 12px 30px rgba(6,30,24,.3);animation:tin .2s;display:flex;align-items:center;gap:8px;max-width:90vw}
@keyframes tin{from{transform:translateY(10px);opacity:0}to{transform:none;opacity:1}}
.toast.err{background:#8E3A25}
.kv{display:grid;grid-template-columns:88px 1fr;gap:8px 12px;font-size:12px;align-items:start}
.kv dt{color:var(--mut);font-size:11px}
.kv dd{color:var(--ink)}
.sec-title{font-size:12px;font-weight:700;color:var(--ink2);letter-spacing:.04em;margin:18px 0 10px;padding-bottom:7px;border-bottom:1px solid var(--line-2);display:flex;align-items:center;justify-content:space-between}
.timeline{position:relative;padding-left:18px}
.timeline:before{content:"";position:absolute;left:3px;top:4px;bottom:4px;width:1px;background:var(--line)}
.tl-item{position:relative;padding-bottom:16px}
.tl-item:before{content:"";position:absolute;left:-18px;top:4px;width:7px;height:7px;border-radius:50%;background:#fff;border:1.5px solid var(--forest)}
.tl-item.done:before{background:var(--forest)}
.tl-item b{font-size:12px;font-weight:600;display:block}
.tl-item span{font-size:10.5px;color:var(--mut)}
.tl-item p{font-size:11.5px;color:var(--ink2);margin-top:3px}
.err-box{background:#FBEDE9;border:1px solid #F3D8D0;color:#A6432B;font-size:12px;padding:9px 12px;border-radius:8px;line-height:1.6}
.info-box{background:#F1F6EE;border:1px solid #DCE8D6;color:#3C5F45;font-size:11.5px;padding:9px 12px;border-radius:8px;line-height:1.65}
.note{font-size:11px;color:var(--mut);line-height:1.7}
@media print{
body{background:#fff}
.site-header,footer.site,.no-print,.topstrip{display:none!important}
.report-doc{border:0;box-shadow:none;padding:0;margin:0}
.query-wrap{max-width:none;padding:0}
}
@media(max-width:1080px){
.hero{grid-template-columns:1fr;gap:34px}.hero-art{height:340px}
.cat-grid{grid-template-columns:repeat(2,1fr)}
.pkg-grid{grid-template-columns:1fr 1fr}
.flow{grid-template-columns:1fr 1fr;gap:24px}
.step:before{display:none}
.item-row{grid-template-columns:40px 1fr 120px;}
.item-row .brief,.item-row .code{display:none}
.stat-grid{grid-template-columns:1fr 1fr}
.grid-2,.grid-2e{grid-template-columns:1fr}
.b-body{grid-template-columns:200px 1fr 280px}
}
@media(max-width:820px){
nav.main{display:none}
.b-body{grid-template-columns:1fr}
.b-left,.b-right{display:none}
.split{grid-template-columns:1fr;gap:28px}
footer.site .ft-top{grid-template-columns:1fr 1fr}
.side{display:none}.main{margin-left:0}
}
@media(max-width:760px){
.wrap{padding:0 20px}
.sec .cols{flex-direction:column!important;gap:20px!important}
.sec .col{flex:1 1 100%!important;width:100%!important;min-width:0!important}
.hero{padding:26px 0 34px;gap:26px}.hero-art{height:250px}
.hero h1{font-size:clamp(26px,7.4vw,36px);line-height:1.16}
.hero h1 em{white-space:normal}
.hero .lede{font-size:13.5px;margin-top:16px}
.hero .cta .btn{flex:1 1 auto;justify-content:center}
.cat-grid,.pkg-grid,.flow,.band,.split,.stat-grid,.grid-2,.grid-2e,.rd-meta{grid-template-columns:1fr!important;gap:14px!important}
.band{border-radius:18px}
.band-in{padding:24px 18px}
h1,h2{letter-spacing:-.02em}
.item-row{grid-template-columns:1fr 90px;gap:8px;padding:14px 0}
.item-row .th{display:none}
footer.site .ft-top{grid-template-columns:1fr!important;gap:26px;padding:38px 0 28px}
.topstrip .wrap{font-size:10px;flex-wrap:wrap;gap:4px 10px}
}
.m-show{box-sizing:border-box;width:100%}
.m-img-auto{overflow:hidden;line-height:0;background:#F1F0EC}
.m-img-auto img{width:100%;height:auto;display:block}
.m-img-auto img.contain{object-fit:contain}
.m-img-link{display:block;line-height:0;text-decoration:none}
.m-ratio{position:relative;width:100%;height:0;overflow:hidden;background:#F1F0EC}
.m-ratio-in{position:absolute;inset:0;line-height:0}
.m-ratio-in img{width:100%;height:100%;object-fit:cover;display:block}
.m-ratio-in img.contain{object-fit:contain}
.m-show .ph,.m-grid .ph,.m-swiper .ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
width:100%;height:100%;min-height:84px;padding:14px 12px;box-sizing:border-box;
background:repeating-linear-gradient(45deg,#F6F5F1,#F6F5F1 8px,#F0EFEA 8px,#F0EFEA 16px);
color:#8D9A93;font-size:11px;line-height:1.5;text-align:center;border:1px dashed #D9DEDA;border-radius:inherit}
.m-show .ph b,.m-grid .ph b,.m-swiper .ph b{font-size:11.5px;color:#5A6B62;font-weight:600}
.m-show .ph i,.m-grid .ph i,.m-swiper .ph i{font-style:normal;font-size:10px;color:#9AA7A0;max-width:210px}
.m-swiper{position:relative;width:100%;height:0;overflow:hidden;background:#F1F0EC}
.m-sw-item{position:absolute;inset:0;opacity:0;transition:opacity .5s ease;line-height:0}
.m-sw-item.on{opacity:1;z-index:1}
.m-sw-item img{width:100%;height:100%;object-fit:cover;display:block}
.m-sw-dots{position:absolute;left:0;right:0;bottom:8px;display:flex;gap:5px;justify-content:center;z-index:3}
.m-sw-dots i{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.55);box-shadow:0 0 0 1px rgba(0,0,0,.06);transition:.2s;cursor:pointer}
.m-sw-dots i.on{width:14px;border-radius:3px;background:#fff}
.m-sw-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:26px;height:26px;border-radius:50%;
border:0;background:rgba(18,33,28,.32);color:#fff;font-size:15px;line-height:1;cursor:pointer;
display:none;align-items:center;justify-content:center;padding:0 0 2px;backdrop-filter:blur(2px)}
.m-swiper:hover .m-sw-nav{display:flex}
.m-sw-nav.prev{left:8px}.m-sw-nav.next{right:8px}
.m-grid{display:grid;width:100%}
.m-grid-cell{position:relative;height:0;overflow:hidden;background:#F1F0EC}
.m-grid-in{position:absolute;inset:0;display:block;line-height:0;text-decoration:none}
.m-grid-in img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.m-grid-cell:hover .m-grid-in img{transform:scale(1.03)}
.m-sec-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.m-sec-head h3{margin:0;font-size:15px;font-weight:600;letter-spacing:-.01em;color:#12211C}
.mq-card{position:relative;border-radius:16px;padding:22px 18px 20px;box-sizing:border-box;
border:1px solid #E7E9E4;box-shadow:0 12px 34px -22px rgba(11,74,60,.30)}
.mq-kicker{display:inline-block;font-size:9px;letter-spacing:.22em;font-weight:700;color:#0B4A3C;opacity:.62;text-transform:uppercase}
.mq-card h3{margin:8px 0 0;font-size:19px;line-height:1.3;font-weight:600;letter-spacing:-.02em;color:#12211C}
.mq-sub{margin:8px 0 0;font-size:12px;line-height:1.6;color:#7A877F}
.mq-form{margin-top:16px;display:flex;flex-direction:column;gap:10px}
.mq-f{display:block}
.mq-f>span{display:block;font-size:10.5px;font-weight:600;color:#5A6B62;margin-bottom:5px;letter-spacing:.02em}
.mq-f .inp{width:100%;box-sizing:border-box;height:40px;padding:0 11px;font-size:13px;border-radius:9px;
border:1px solid #DFE3DE;background:#FCFCFA;color:#12211C}
.mq-f .inp:focus{outline:none;border-color:#0B4A3C;background:#fff;box-shadow:0 0 0 3px rgba(11,74,60,.08)}
.mq-btn{height:42px;border-radius:10px;font-size:14px;display:flex;align-items:center;justify-content:center;gap:6px}
.mq-demo{display:flex;align-items:center;gap:5px;margin-top:12px;font-size:10.5px;color:#9AA7A0}
@container canvas (min-width:761px){
.mq-card{max-width:460px;margin:0 auto;padding:26px 24px 22px}
}
.hz{position:absolute;box-sizing:border-box;border:1.5px dashed rgba(214,116,44,.92);
background:rgba(214,116,44,.10);border-radius:3px;cursor:move;touch-action:none;
transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;z-index:6}
.hz:hover{background:rgba(214,116,44,.18);border-color:#C4602A}
.hz-tag{position:absolute;left:-1px;top:-19px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;
padding:2px 6px;border-radius:4px 4px 4px 0;background:#C4602A;color:#fff;font-size:9.5px;
font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.01em;pointer-events:none}
.hz-h{position:absolute;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;background:#fff;border:1.5px solid #C4602A;
border-radius:2px;z-index:2;touch-action:none}
.hz-h[data-hzh="nw"]{left:0;top:0;cursor:nwse-resize}
.hz-h[data-hzh="ne"]{left:100%;top:0;cursor:nesw-resize}
.hz-h[data-hzh="sw"]{left:0;top:100%;cursor:nesw-resize}
.hz-h[data-hzh="se"]{left:100%;top:100%;cursor:nwse-resize}
.hz-h[data-hzh="n"]{left:50%;top:0;cursor:ns-resize}
.hz-h[data-hzh="s"]{left:50%;top:100%;cursor:ns-resize}
.hz-h[data-hzh="w"]{left:0;top:50%;cursor:ew-resize}
.hz-h[data-hzh="e"]{left:100%;top:50%;cursor:ew-resize}
.hz-h.edge{width:5px;height:5px;margin:-2.5px 0 0 -2.5px;border-radius:50%;opacity:.85}
.hz:hover .hz-h{opacity:1}
.hz.dragging-hot{background:rgba(214,116,44,.22);border-style:solid;border-color:#C4602A;
box-shadow:0 0 0 3px rgba(214,116,44,.16),0 10px 24px -12px rgba(196,96,42,.5);transition:none}
.hz.hz-focus{animation:hzPulse .9s ease-out 1}
@keyframes hzPulse{0%{box-shadow:0 0 0 0 rgba(214,116,44,.55)}70%{box-shadow:0 0 0 9px rgba(214,116,44,0)}100%{box-shadow:0 0 0 0 rgba(214,116,44,0)}}
body.hot-dragging{cursor:grabbing;user-select:none;-webkit-user-select:none}
body.hot-dragging .hz{cursor:grabbing}
.blk-render.has-hot{position:relative}
.blk-render.has-hot::after{content:'热区可点 · 编辑态显示橙框';position:absolute;right:4px;bottom:4px;z-index:7;
font-size:8.5px;color:#C4602A;background:rgba(255,255,255,.86);padding:1px 5px;border-radius:3px;pointer-events:none;opacity:0;transition:.15s}
.blk-edit:hover .blk-render.has-hot::after{opacity:1}
.hot-tip{display:flex;gap:8px;align-items:flex-start;padding:10px 11px;border-radius:9px;margin-bottom:12px;
background:#FDF3EA;border:1px solid #F0D9C4;color:#8A4A1E;font-size:11px;line-height:1.6}
.hot-tip svg{flex:0 0 auto;margin-top:1px;color:#C4602A}
.hot-tip b{color:#7A3A12}
.hot-list{display:flex;flex-direction:column;gap:8px}
.hot-item{border:1px solid #E7E9E4;border-radius:9px;padding:9px 10px 10px;background:#fff;cursor:pointer;transition:.15s}
.hot-item:hover{border-color:#CDD5CE}
.hot-item.on{border-color:#C4602A;background:#FFFCF8;box-shadow:0 0 0 2px rgba(196,96,42,.10)}
.hot-item .hh{display:flex;align-items:center;gap:6px;margin-bottom:7px}
.hot-item .hh>span:first-child{font-size:11px;font-weight:600;color:#12211C}
.hot-size{font-size:9.5px;color:#9AA7A0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;margin-left:auto}
.hot-empty{display:flex;align-items:center;gap:10px;padding:18px 14px;border-radius:10px;
border:1px dashed #DDE2DC;background:#FAFAF7;color:#8D9A93;font-size:11.5px;line-height:1.6}
.hot-empty svg{flex:0 0 auto;color:#B9C3BC}
.hot-empty i{font-style:normal;font-size:10.5px;color:#A6B1AA}
.img-field .img-box{border:1px solid #E7E9E4;border-radius:10px;padding:9px;background:#FAFAF7}
.img-field .img-box.has{background:#fff}
.img-prev{position:relative;width:100%;height:104px;border-radius:7px;overflow:hidden;background:#F1F0EC;
display:flex;align-items:center;justify-content:center;margin-bottom:8px}
.img-prev img{width:100%;height:100%;object-fit:contain;display:block;background:#fff}
.img-prev>span{display:flex;flex-direction:column;align-items:center;gap:5px;color:#A6B1AA;font-size:10.5px}
.img-prev>span i{font-style:normal}
.img-acts{display:flex;gap:6px;flex-wrap:wrap}
.img-acts .btn{flex:1 1 auto;justify-content:center}
.img-url{margin-top:7px;font-size:11px!important}
.img-meta{margin-top:6px;font-size:9.5px;color:#9AA7A0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.imgs-list{display:flex;flex-direction:column;gap:7px}
.img-row{display:flex;gap:7px;align-items:flex-start;padding:7px;border:1px solid #E7E9E4;border-radius:9px;background:#FAFAF7}
.img-row.has{background:#fff}
.ir-thumb{position:relative;flex:0 0 46px;width:46px;height:46px;border-radius:6px;overflow:hidden;background:#EFEEE9;
display:flex;align-items:center;justify-content:center;color:#B9C3BC}
.ir-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ir-thumb b{position:absolute;left:0;top:0;padding:0 3px;font-size:8px;font-weight:600;color:#fff;
background:rgba(18,33,28,.55);border-radius:6px 0 4px 0;line-height:12px}
.ir-f{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:5px}
.ir-f .btn{height:24px;font-size:10.5px;padding:0 8px;justify-self:start;align-self:flex-start}
.ir-f .inp{height:28px;font-size:11px;padding:0 8px}
.ir-del{flex:0 0 auto;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:5px}
.ir-del:hover{background:#FDEDE7;color:#A6432B}
.blk-edit.drop-img{outline:2px dashed #0B4A3C;outline-offset:2px;background:rgba(11,74,60,.03);position:relative;z-index:3}
.blk-edit.drop-img::before{content:'松开即可替换图片';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
z-index:20;padding:7px 12px;border-radius:7px;background:rgba(11,74,60,.92);color:#fff;font-size:11px;pointer-events:none}
.lib-item{display:block;padding:8px 8px 7px;margin:0 6px 8px;border:1px solid transparent;border-radius:9px}
.lib-item:hover{border-color:#DCE4DC;background:#FCFDFB}
.lib-item .li-row{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--ink2)}
.lib-item:hover .li-row{color:var(--forest)}
.lib-item .li-row .biz{margin-left:auto}
.lib-item .li-row .li-off{margin-left:auto}
.lib-item[data-addsec]{display:flex;align-items:center;border:1px dashed #D9DEDA;background:#FAFBF8}
.lib-prev{position:relative;height:86px;overflow:hidden;border-radius:7px;background:#fff;
border:1px solid #EEF0EC;margin-bottom:7px;pointer-events:none}
.lib-prev::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 78%,rgba(255,255,255,.9))}
.lib-prev-in{width:340px;transform:scale(.5);transform-origin:0 0;line-height:1.4}
.lib-prev-in img{max-width:100%}
.lib-prev-in .sec{padding:10px 12px!important}
.img-px{display:flex;align-items:flex-start;gap:5px;margin:4px 0 7px;padding:6px 9px;border-radius:7px;
background:#F4F8EF;border:1px solid #E2EBD8;color:#5B7C5E;font-size:10.5px;line-height:1.55}
.img-px svg{flex:0 0 auto;margin-top:1px;color:#7FA06A}
.sec-edit .m-sw-nav{display:flex!important}
.sec-edit .m-sw-dots i{opacity:.9}
.sec-edit .m-marquee{animation-play-state:paused!important}
.blk-render{box-sizing:border-box}
.sec-edit .m-ratio-in img,.sec-edit .m-sw-item img,.sec-edit .m-grid-in img{object-fit:contain;background:#F7F6F2}
.sec-edit .m-ratio-in,.sec-edit .m-grid-in{background:#F7F6F2}
.blk-render[style*="width"]{transition:width .15s ease}
.hy-result{margin-top:14px}
.hy-tip{padding:11px 13px;border-radius:9px;background:#F6F7F3;border:1px solid #E7E9E4;
color:#5A6B62;font-size:12px;line-height:1.7}
.hy-tip.ok{background:#F4F8EF;border-color:#DCE8D2;color:#3D5A40}
.hy-item{border:1px solid #E7E9E4;border-radius:11px;padding:13px 14px 12px;margin-top:10px;background:#fff;
box-shadow:0 8px 22px -16px rgba(11,74,60,.25)}
.hy-head{display:flex;align-items:center;gap:8px;margin-bottom:9px}
.hy-head b{font-size:13px;letter-spacing:.02em;color:#12211C;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.hy-head .pill{margin-left:auto}
.hy-meta{display:grid;grid-template-columns:1fr 1fr;gap:5px 14px;font-size:11.5px;color:#12211C}
.hy-meta i{font-style:normal;display:inline-block;min-width:52px;color:#8D9A93;font-size:10.5px;margin-right:6px}
.hy-span{grid-column:1/-1}
.hy-ops{margin-top:11px;display:flex}
.hy-ops .btn{flex:1;justify-content:center}
@container canvas (min-width:761px){
.hy-card{max-width:460px;margin:0 auto}
.hy-meta{grid-template-columns:1fr 1fr 1fr}
}
/* ---------- 装修器：编辑态为标签预留空间，模块内容不被覆盖 ---------- */
.sec.sec-edit{padding-top:24px!important}
.sec.sec-edit>.sec-tag{opacity:1}
.blk.blk-edit>.blk-label{pointer-events:none}

/* ---------- 装修器：实时预览浮层 ---------- */
.live-mask{position:fixed;inset:0;background:rgba(10,25,20,.42);z-index:9000;display:flex;justify-content:flex-end}
.live-panel{width:min(480px,100%);height:100%;background:#F4F5F1;display:flex;flex-direction:column;box-shadow:-24px 0 60px -24px rgba(0,0,0,.45)}
.live-head{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#fff;border-bottom:1px solid var(--line);font-size:13px}
.live-head .muted{color:var(--mut)}
.live-head .dev{margin-left:auto;display:flex;gap:4px}
.live-head .dev button{font-size:11px;padding:3px 8px;border:1px solid var(--line);background:#fff;border-radius:6px;color:#5B7C5E;cursor:pointer;font-family:inherit}
.live-head .dev button.on{background:var(--forest);border-color:var(--forest);color:#fff}
.live-close{border:0;background:transparent;font-size:14px;color:#8B9A90;cursor:pointer;padding:2px 4px;font-family:inherit}
.live-body{flex:1;overflow:auto;padding:14px;display:flex;justify-content:center;align-items:flex-start}
.live-sheet{width:100%;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 8px 30px -12px rgba(11,74,60,.3)}
.live-sheet.is-mobile{max-width:390px}
.live-sheet.is-tablet{max-width:834px}
.live-sheet.is-desk{max-width:1280px}
@media (max-width:700px){.live-panel{width:100%}}

/* ---------- 装修器：右栏「实时」页签内嵌预览 ---------- */
.live-inline{display:flex;flex-direction:column;min-height:100%}
.live-inline .live-head{position:sticky;top:0;z-index:4}
.live-inline .live-head .dev{margin-left:auto}
.live-inline .live-body{flex:1;padding:10px}
.live-inline .live-sheet{width:100%}
.live-inline .live-sheet.is-mobile{max-width:100%}
.live-inline .live-sheet.is-tablet{max-width:none;min-width:768px}
.live-inline .live-sheet.is-desk{max-width:none;min-width:1024px}
.rtabs{position:sticky;top:0;z-index:5}
.rtabs button{display:flex;align-items:center;justify-content:center;gap:4px}

/* ---------- 报告查询入口：三方式页签（手机号 / 送检用户名 / 寄出快递单号） ---------- */
.qtabs{display:flex;gap:6px;margin-bottom:12px}
.qtab{flex:1;padding:8px 4px;font-size:12.5px;font-weight:600;color:#CFE3D9;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:8px;cursor:pointer;font-family:inherit;transition:background .15s,color .15s}
.qtab:hover{background:rgba(255,255,255,.14)}
.qtab.on{color:#12211C;background:var(--lime,#C6E86B);border-color:var(--lime,#C6E86B)}

/* 右栏实时预览：窄栏内保持真实宽度，超宽横向滚动查看 */
.live-inline .live-body{overflow:auto;overflow-x:auto}
.live-inline .live-sheet .wrap{width:100%!important;max-width:100%!important;padding:0 14px!important}
.live-inline .live-sheet.is-tablet{min-width:768px}
.live-inline .live-sheet.is-desk{min-width:1024px}

/* ---------- 装修画布：区块高度一律由内容撑开，禁止压缩堆叠 ---------- */
#canvas section{height:auto!important}
#canvas .wrap,#canvas .sec-full,#canvas .cols,#canvas .col{height:auto!important}
#canvas .blk{height:auto!important;flex-shrink:0!important}
