@charset "UTF-8";

:root{

--ink:#172033; --ink2:#4a5568; --ink3:#5f6a7d;
--brand:#1c2b3a; --brand2:#26394c;
--acc:#1560c4; --acc2:#e8f1fd; --acc3:#cfe2fa;
--gk:#0f6b5c; --ok:#0d7a4d; --wn:#a35c07; --dg:#b3261e;
--line:#e4e9f0; --line2:#eef2f7; --bg:#fff; --bg2:#f6f8fb; --bg3:#eef2f7;
--ok2:#e7f6ef; --wn2:#fdf4e3; --dg2:#fdeceb; --gk2:#e6f4f1;

--fs-hero:clamp(30px,3.4vw,46px);
--fs-h1:clamp(25px,2.5vw,34px);
--fs-h2:clamp(19px,1.7vw,24px);
--fs-h3:17px; --fs-lead:18px; --fs-body:16px; --fs-sm:14.5px; --fs-xs:12.5px;

--s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:20px; --s6:24px;
--s7:32px; --s8:40px; --s9:56px; --s10:72px; --s11:96px;

--rd-s:8px; --rd:12px; --rd-l:20px;
--sh1:0 1px 2px rgba(23,32,51,.05),0 1px 3px rgba(23,32,51,.06);
--sh2:0 4px 12px rgba(23,32,51,.07),0 2px 4px rgba(23,32,51,.04);
--sh3:0 12px 32px rgba(23,32,51,.10),0 4px 10px rgba(23,32,51,.05);

--wrap:1200px;
--lh:1.75;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
margin:0; background:var(--bg); color:var(--ink);
font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
font-size:var(--fs-body); line-height:var(--lh);
}
img{max-width:100%; height:auto; display:block}
a{color:var(--acc); text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{line-height:1.35; margin:0 0 var(--s4)}
h1{font-size:var(--fs-h1); letter-spacing:-.01em}
h2{font-size:var(--fs-h2); margin-top:var(--s8)}
h3{font-size:var(--fs-h3); margin-top:var(--s6)}
p{margin:0 0 var(--s5)}

p,li,td,th,caption{max-width:58em}
table{max-width:none}

.skip{position:absolute; left:-9999px}
.skip:focus{left:var(--s4); top:var(--s4); z-index:99; background:#fff; padding:var(--s2) var(--s4); border-radius:var(--rd-s)}

.top{background:var(--brand); color:#fff; position:sticky; top:0; z-index:50}
.top .row{max-width:var(--wrap); margin:0 auto; padding:0 var(--s6); height:64px; display:flex; align-items:center; gap:var(--s6)}
.brand{display:flex; align-items:center; gap:var(--s3); color:#fff; font-weight:700; font-size:var(--fs-h3)}
.brand:hover{text-decoration:none}
.brand small{display:block; font-weight:400; font-size:var(--fs-xs); opacity:.72; line-height:1.3}
.mk{width:30px; height:30px; border-radius:var(--rd-s); background:var(--acc); color:#fff;
display:grid; place-items:center; font-weight:700; flex:none}

.bmk{height:40px; width:auto; flex:none; display:block}
.menu{display:flex; gap:var(--s5); margin-left:var(--s6); flex:1; font-size:var(--fs-sm);
min-width:0; overflow-x:auto; scrollbar-width:none}

.menu::-webkit-scrollbar{display:none}

.menu a{color:rgba(255,255,255,.82); padding:var(--s2) 0; border-bottom:2px solid transparent;
white-space:nowrap}
.menu a:hover,.menu a.on{color:#fff; border-bottom-color:var(--acc3); text-decoration:none}

.act{display:flex; align-items:center; gap:var(--s4); font-size:var(--fs-sm); flex:none}
.act .tel{color:#fff; white-space:nowrap; flex:none}

.act .tel .ic{width:1.15em; height:1.15em; margin-right:2px; vertical-align:-.18em}
.act .btn{flex:none; white-space:nowrap}

.brand{flex:none; min-width:0}
.brand > span:not(.mk){white-space:nowrap; overflow:hidden; text-overflow:ellipsis}

.act .sbtn{display:inline-flex; align-items:center; gap:6px; color:rgba(255,255,255,.86);
border:1px solid rgba(255,255,255,.3); border-radius:999px; padding:5px var(--s4); line-height:1.4;

flex:none; white-space:nowrap}
.act .sbtn i{font-style:normal; font-size:1.3em; line-height:1}
.act .sbtn:hover{color:#fff; border-color:rgba(255,255,255,.62); background:rgba(255,255,255,.1);
text-decoration:none}
.br{max-width:var(--wrap); margin:0 auto; padding:var(--s2) var(--s6) var(--s3);
font-size:var(--fs-xs); color:rgba(255,255,255,.66); display:flex; gap:var(--s2); flex-wrap:wrap}
.br a{color:rgba(255,255,255,.82)}
.br span{color:rgba(255,255,255,.55)}

.btn{display:inline-flex; align-items:center; justify-content:center; gap:var(--s2);
border-radius:var(--rd-s); padding:10px var(--s5); font-size:var(--fs-sm);
font-weight:600; border:1px solid transparent; cursor:pointer; transition:.15s; line-height:1.2}
.btn:hover{text-decoration:none}
.btn.p{background:var(--acc); color:#fff}
.btn.p:hover{background:#114fa0}
.btn.gh{background:transparent; color:var(--acc); border-color:var(--acc3)}
.btn.gh:hover{background:var(--acc2)}
.btn.md{padding:8px var(--s4)}
.btn.lg{padding:14px var(--s6); font-size:var(--fs-body)}

main{display:block}
.sec{max-width:var(--wrap); margin:0 auto; padding:var(--s9) var(--s6)}
.sec.bg2{background:var(--bg2); max-width:none}

.sec.bg2>*{max-width:calc(var(--wrap) - var(--s6) * 2); margin-left:auto; margin-right:auto}

.shead{margin-bottom:var(--s7); max-width:74ch}

.shead .kick,.kick{display:inline-block; font-size:12px; font-weight:800; color:var(--acc);
letter-spacing:1.4px; margin-bottom:11px}
.shead h2{margin-top:0; font-size:var(--fs-h2); font-weight:800; color:var(--ink);
line-height:1.42; letter-spacing:-.4px}
.shead p{margin-top:12px; color:var(--ink2); font-size:16.5px; line-height:1.78}

.lead,.sec p.lg{font-size:var(--fs-lead); color:var(--ink2)}

.qb p.lg{background:none; border:0; padding:0; margin:0 0 15px}

.qbadge{display:inline-block; font-size:10px; font-weight:800; color:var(--acc);
background:var(--acc2); border:1px solid var(--acc3); border-radius:5px; padding:1px 7px;
margin-left:var(--s2); vertical-align:middle; letter-spacing:.5px}

h2.q{font-size:var(--fs-h2); font-weight:800; color:var(--ink); line-height:1.48;
letter-spacing:-.3px; margin:44px 0 14px; position:relative; padding-left:20px}
h2.q::before{content:""; position:absolute; left:0; top:.24em; width:5px; height:1.05em;
border-radius:3px; background:linear-gradient(180deg,var(--acc),#5fa3f0)}
.qb{padding:26px 0 8px; border-top:1px solid var(--line2); margin-top:26px}
.qb:first-of-type{border-top:0; margin-top:0}
.qb .q:first-child{margin-top:0}

.qb .da{margin:0 0 15px; padding:14px 18px; background:var(--acc2); border-left:3px solid var(--acc);
border-radius:0 var(--rd-s) var(--rd-s) 0; font-size:15.5px; color:var(--ink); line-height:1.78;
max-width:none}
.qb .dd{margin:15px 0 0; color:var(--ink2); font-size:15px; line-height:1.84;
max-width:none}

.xsec > p{max-width:none}
.xsec .st,.xsec .xst{max-width:none}
.tw.qbt{margin:0}

.answer{max-width:var(--wrap); margin:-34px auto 0; padding:0 var(--s6); position:relative; z-index:5}
.answer .box{background:#fff; border:1px solid var(--line); border-left:4px solid var(--gk);
border-radius:var(--rd); box-shadow:var(--sh3); padding:22px 26px}
.answer .lab{display:flex; align-items:center; gap:var(--s2); font-size:12px; font-weight:800;
color:var(--gk); letter-spacing:1px; margin-bottom:10px}
.answer .txt{font-size:17px; color:var(--ink); font-weight:600; line-height:1.78}
.answer .txt strong{color:var(--gk); font-weight:800}

.hero{position:relative; overflow:hidden; color:#fff;
background:linear-gradient(150deg,#16222f 0%,var(--brand) 42%,#1f4f8f 100%);
padding:72px 0 78px}
.hero::before{content:""; position:absolute; inset:0; background:
radial-gradient(900px 460px at 82% 8%, rgba(26,109,219,.42), transparent 62%),
radial-gradient(620px 380px at 8% 92%, rgba(26,109,219,.20), transparent 60%)}
.hero::after{content:""; position:absolute; inset:0; opacity:.055;
background-image:linear-gradient(rgba(255,255,255,.9) 1px, transparent 1px),
linear-gradient(90deg, rgba(255,255,255,.9) 1px, transparent 1px);
background-size:60px 60px}
.hero .in{position:relative; z-index:2; max-width:var(--wrap); margin:0 auto; padding:0 var(--s6)}
.hero h1{color:#fff; font-size:var(--fs-hero); line-height:1.24; font-weight:800;
letter-spacing:-1px; margin-bottom:20px}
.hero h1 em{font-style:normal; background:linear-gradient(100deg,#7cc0ff,#c8e2ff);
-webkit-background-clip:text; background-clip:text; color:transparent}
.hero .eyebrow{display:inline-flex; align-items:center; gap:var(--s2); font-size:13px; font-weight:700;
color:#dbe6f5; background:rgba(26,109,219,.22); border:1px solid rgba(120,175,245,.34);
padding:7px 15px; border-radius:24px; margin-bottom:20px}
.hero .eyebrow .dot{width:7px; height:7px; border-radius:50%; background:#4ade80;
box-shadow:0 0 0 3px rgba(74,222,128,.25); display:inline-block}
.hero .sub{font-size:var(--fs-lead); color:#dbe6f5; max-width:58ch; margin-bottom:34px; line-height:1.72}

.hero .cta{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:44px;
background:none; border-radius:0; padding:0; overflow:visible; box-shadow:none}

.hero .cta::before{content:none}

.hero .cta [data-hcta]{display:none}
.hero .cta [data-hcta].is-on{display:inline-flex}
.hero .trust{display:flex; gap:40px; flex-wrap:wrap; padding-top:28px;
border-top:1px solid rgba(255,255,255,.14)}
.hero .trust div b{display:block; font-size:29px; font-weight:800; color:#fff;
line-height:1.25; letter-spacing:-.5px}
.hero .trust div span{font-size:13px; color:#dbe6f5}

.sec .trust{display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
gap:var(--s4); margin:var(--s6) 0 var(--s5);
padding:var(--s5) var(--s5); background:var(--bg2);
border:1px solid var(--line); border-radius:var(--rd)}
.sec .trust div{min-width:0}
.sec .trust div b{display:block; font-size:28px; font-weight:800; color:var(--acc);
line-height:1.2; letter-spacing:-.5px; font-variant-numeric:tabular-nums;
margin-bottom:4px}
.sec .trust div span{display:block; font-size:var(--fs-xs); color:var(--ink2); line-height:1.55}

.hslides{display:grid}
.hslide{grid-area:1/1; opacity:0; visibility:hidden;
transition:opacity .35s ease, visibility 0s linear .35s}
.hslide.is-on{opacity:1; visibility:visible; transition:opacity .35s ease, visibility 0s}

.hero .h1x{color:#fff; font-size:var(--fs-hero); line-height:1.25; margin-bottom:var(--s5);
font-weight:700}
.hero .sub{margin-bottom:var(--s5)}
.hnav{display:flex; align-items:center; gap:var(--s4); margin-top:var(--s6)}
.harrow{width:34px; height:34px; border-radius:50%; border:1px solid rgba(255,255,255,.28);
background:rgba(255,255,255,.08); color:#fff; font-size:18px; line-height:1; cursor:pointer;
padding:0}
.harrow:hover{background:rgba(255,255,255,.18)}
.hdots{display:flex; gap:var(--s2)}
.hdot{width:9px; height:9px; padding:0; border:0; border-radius:999px; cursor:pointer;
background:rgba(255,255,255,.32)}
.hdot.on{background:var(--acc3); width:22px}
@media (prefers-reduced-motion:reduce){ .hslide{transition:none} }

.plats{display:flex; flex-wrap:wrap; gap:9px; margin:15px 0 6px}
.plats i{font-style:normal; font-size:13.5px; font-weight:600; background:#fff;
border:1px solid var(--line); border-radius:9px; padding:7px 14px; color:var(--ink2);
display:flex; align-items:center; gap:7px; box-shadow:var(--sh1)}
.plats i::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--acc)}

.grid{display:grid; gap:var(--s5)}
.grid.g3{grid-template-columns:repeat(3,1fr)}
.grid.g4{grid-template-columns:repeat(4,1fr)}

.hcards{margin:30px 0 26px}

.card{background:#fff; border:1px solid var(--line); border-radius:var(--rd); padding:var(--s6);
transition:.18s; position:relative; overflow:hidden}
.card:hover{box-shadow:var(--sh2); border-color:#d3dce8; transform:translateY(-2px)}
.card .ico{width:44px; height:44px; border-radius:12px; background:var(--acc2); color:var(--acc);
display:flex; align-items:center; justify-content:center; font-size:20px; font-weight:800;
margin-bottom:15px}
.card b{display:block; font-size:16.5px; font-weight:800; color:var(--ink); margin-bottom:8px; line-height:1.5}
.card span{font-size:14.5px; color:var(--ink2); line-height:1.75; display:block}
.card .no{position:absolute; right:18px; top:12px; font-size:38px; font-weight:900;
color:#eef2f7; line-height:1; letter-spacing:-2px}

.steps{counter-reset:s; margin:var(--s5) 0}
.step{display:flex; gap:var(--s5); padding:22px 0; border-bottom:1px dashed var(--line);
align-items:flex-start}
.step:last-child{border-bottom:0}
.step .n{counter-increment:s; flex:0 0 42px; width:42px; height:42px; border-radius:12px;
background:var(--brand); color:#fff; display:flex; align-items:center; justify-content:center;
font-weight:800; font-size:16px}
.step .n::before{content:counter(s,decimal-leading-zero)}
.step .tx b{display:block; font-size:16.5px; font-weight:800; color:var(--ink); margin-bottom:5px}
.step .tx span{font-size:14.5px; color:var(--ink2); line-height:1.75}

.note{border-radius:var(--rd); padding:15px 19px; font-size:14px; line-height:1.75;
margin:16px 0; border:1px solid}
.note.i{background:var(--acc2); border-color:var(--acc3); color:#134a92}
.note.w{background:var(--wn2); border-color:#f3e0b8; color:#8a4e06}
.note.g{background:var(--gk2); border-color:#c9e6e1; color:#0b5548}

.tw{overflow-x:auto; margin:var(--s5) 0; border:1px solid var(--line); border-radius:var(--rd)}
table{width:100%; border-collapse:collapse; font-size:var(--fs-sm)}
th,td{padding:var(--s3) var(--s4); text-align:left; border-bottom:1px solid var(--line2); max-width:none}
thead th{background:var(--line2); font-weight:700}

.tw caption{caption-side:top; text-align:left; padding:var(--s3) var(--s4);
font-size:var(--fs-sm); font-weight:600; color:var(--ink2);
border-bottom:1px solid var(--line2)}
tbody tr:last-child td{border-bottom:0}
.fig{margin:var(--s6) 0}
.fig img{border-radius:var(--rd); width:100%}
.fig figcaption{font-size:var(--fs-xs); color:var(--ink3); margin-top:var(--s2)}

.src{font-size:var(--fs-xs); color:var(--ink3); margin-top:var(--s7);
padding-left:11px; border-left:2px solid var(--line); line-height:1.7}

.sec .trust + .src{margin-top:0}
.upd{font-size:var(--fs-sm); color:var(--ink3)}

.cta{background:linear-gradient(140deg,#16222f,var(--brand) 46%,#1f4f8f); color:#fff;
border-radius:var(--rd-l); padding:44px 46px; margin:44px 0; position:relative;
overflow:hidden; box-shadow:var(--sh3)}
.cta::before{content:""; position:absolute; inset:0;
background:radial-gradient(620px 300px at 88% 12%, rgba(26,109,219,.5), transparent 64%)}
.cta .in{position:relative; z-index:2; display:flex; align-items:center; gap:30px; flex-wrap:wrap}
.cta .tx{flex:1; min-width:250px}
.cta .tx b{display:block; font-size:23px; font-weight:800; margin-bottom:9px; letter-spacing:-.4px}
.cta .tx p{color:#dbe6f5; margin:0; font-size:15.5px; line-height:1.72}
.cta .btns{display:flex; gap:12px; flex-wrap:wrap}

.cta .btns .btn.gh, .hero .cta .btn.gh{background:rgba(255,255,255,.13); color:#fff;
border-color:rgba(255,255,255,.42)}
.cta .btns .btn.gh:hover, .hero .cta .btn.gh:hover{background:rgba(255,255,255,.24);
border-color:rgba(255,255,255,.8); color:#fff}

.author{display:flex; align-items:center; gap:14px; background:var(--bg2);
border:1px solid var(--line); border-radius:var(--rd); padding:16px 20px; margin:30px 0}
.author .av{width:48px; height:48px; flex:0 0 48px; border-radius:50%;
background:linear-gradient(135deg,var(--brand),var(--acc)); color:#fff; display:flex;
align-items:center; justify-content:center; font-weight:800; font-size:18px}
.author .tx b{display:block; font-size:15px; font-weight:800; color:var(--ink)}
.author .tx span{font-size:13px; color:var(--ink3); line-height:1.6}

.ftail{border-top:1px solid var(--line); padding-top:var(--s7); padding-bottom:var(--s8)}
.fu .hd{display:flex; align-items:baseline; gap:var(--s3); margin-bottom:var(--s5)}
.fu .hd b{font-size:var(--fs-h3)}
.fu .hd em{font-style:normal; font-size:var(--fs-xs); color:var(--gk); background:var(--gk2);
border-radius:999px; padding:2px var(--s3)}

.fu ul{list-style:none; margin:0; padding:0; display:grid;
grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));
column-gap:var(--s6); row-gap:0}
.fu li{max-width:none}

.fu li a{display:grid; grid-template-columns:1fr auto; align-items:baseline; column-gap:var(--s3);
padding:var(--s3) 0; border:0; border-bottom:1px solid var(--line); border-radius:0;
font-size:var(--fs-sm); color:var(--ink); background:transparent}
.fu li a:hover{color:var(--acc); border-bottom-color:var(--acc3); text-decoration:none}
.fu li a .qt{grid-column:1; grid-row:1; min-width:0}
.fu li a::after{content:'›'; grid-column:2; grid-row:1; color:var(--acc); font-size:1.3em; line-height:1}

.fu li .sa{margin:0 0 var(--s3); font-size:var(--fs-xs); line-height:1.7}
.fu li .sa>summary{list-style:none; cursor:pointer; color:var(--ink3);
display:inline-flex; align-items:center; gap:6px;
padding:3px 0; transition:color .15s}
.fu li .sa>summary::-webkit-details-marker{display:none}
.fu li .sa>summary::before{content:'＋'; font-style:normal; color:var(--acc);
font-size:11px; line-height:1}

.fu li .sa[open]>summary{color:var(--acc)}
.fu li .sa[open]>summary::before{content:'－'}
.fu li .sa[open] .sa-txt{color:var(--ink2)}

.fu li .sa .sa-txt{margin:6px 0 0; color:var(--ink3); max-height:68px; overflow:hidden;
position:relative}
.fu li .sa:not([open]) .sa-txt{
-webkit-mask-image:linear-gradient(180deg,#000 58%,rgba(0,0,0,.25) 100%);
mask-image:linear-gradient(180deg,#000 58%,rgba(0,0,0,.25) 100%)}
.fu li .sa[open] .sa-txt{max-height:none; overflow:visible;
-webkit-mask-image:none; mask-image:none}

footer{background:var(--brand); color:rgba(255,255,255,.8); margin-top:var(--s10); padding:var(--s8) 0 var(--s6); font-size:var(--fs-sm)}
footer .in{max-width:var(--wrap); margin:0 auto; padding:0 var(--s6)}

footer .g{display:grid; grid-template-columns:1.4fr repeat(4,minmax(0,1fr)); gap:var(--s6)}
footer .bi{display:flex; align-items:center; gap:var(--s3); color:#fff; font-size:var(--fs-h3); margin-bottom:var(--s3)}
footer p{color:rgba(255,255,255,.66); font-size:var(--fs-xs); margin:0 0 var(--s1); max-width:none}
footer .bot{display:flex; justify-content:space-between; gap:var(--s4); flex-wrap:wrap;
border-top:1px solid rgba(255,255,255,.12); margin-top:var(--s6); padding-top:var(--s4);
font-size:var(--fs-xs); color:rgba(255,255,255,.55)}
footer .bot a{color:rgba(255,255,255,.7); margin-left:var(--s4)}

footer .bot a.icp{margin-left:0; white-space:nowrap}


footer .bot a.gongan{display:inline-flex; align-items:center; gap:6px; vertical-align:middle; white-space:nowrap}
footer .bot a.gongan img{display:block; width:20px; height:22px; flex:none}

footer .fs .fsh{color:#fff; font-weight:600; margin:0 0 var(--s3)}
footer .fs ul{list-style:none; margin:0; padding:0; display:grid; gap:var(--s2)}
footer .fs li{max-width:none}
footer .fs a{color:rgba(255,255,255,.78)}
footer .fs a:hover{color:#fff}

.ic{display:inline-flex; align-items:center; justify-content:center; flex:none}
.ic svg{display:block; width:100%; height:100%}

.fabs{position:fixed; right:var(--s5); bottom:var(--s8); z-index:60; display:grid; gap:var(--s3); justify-items:end}
.fab{width:52px; height:52px; border-radius:50%; background:#fff; border:1px solid var(--line);
box-shadow:var(--sh2); display:flex; flex-direction:column; align-items:center; justify-content:center;
gap:1px; font-size:11px; color:var(--ink2);
cursor:pointer; line-height:1.1; text-align:center}
.fab .ic{width:21px; height:21px}
.fab .lb{font-size:10.5px; letter-spacing:.2px}

.fab:hover{box-shadow:var(--sh3); text-decoration:none; transform:translateY(-1px)}
.fab:focus-visible{outline:2px solid var(--acc); outline-offset:3px}
.fab.wx{background:#07c160; border-color:#07c160; color:#fff}
.fab.wx:hover{box-shadow:0 6px 18px rgba(7,193,96,.42)}

.wxqr{position:relative}
.wxqr>summary{list-style:none}
.wxqr>summary::-webkit-details-marker{display:none}
.wxqr-pop{position:absolute; right:0; bottom:calc(100% + 10px); width:min(320px,78vw);
padding:12px; background:#fff; border:1px solid var(--line); border-radius:var(--rd);
box-shadow:var(--sh3); text-align:center; z-index:1; max-height:min(70vh,460px); overflow:auto}
.wxqr-pop img{display:block; width:100%; height:auto; border-radius:6px}
.wxqr-pop p{margin:8px 0 0; font-size:var(--fs-xs); color:var(--ink3); line-height:1.5}
.fab.tel{background:var(--acc); color:#fff; border-color:var(--acc)}
.fab.up{width:44px; height:44px}
.fab.up .ic{width:18px; height:18px}

.fab.tel:hover{box-shadow:0 6px 18px rgba(26,109,219,.42)}

.fld{margin-bottom:var(--s4)}
.fld label{display:block; font-size:var(--fs-sm); margin-bottom:var(--s2); font-weight:600}
.fld input,.fld textarea,.fld select{width:100%; padding:10px var(--s4); font:inherit; font-size:var(--fs-body);
color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:var(--rd-s)}
.fld input::placeholder,.fld textarea::placeholder{color:#6b7688}
.fld input:focus,.fld textarea:focus,.fld select:focus{outline:none; border-color:var(--acc); box-shadow:0 0 0 3px var(--acc2)}
.fld.err input,.fld.err textarea{border-color:var(--dg); background:var(--dg2)}
.fld .emsg{display:none; font-size:var(--fs-xs); color:var(--dg); margin-top:var(--s1)}
.fld.err .emsg{display:block}

.lfsec, .docsec{
scroll-margin-top:96px;
padding-top:0;
margin-top:calc(var(--s9) * -1 + var(--s7) - var(--s5));
}


.src + .lfsec, .src + .docsec{margin-top:0}

.docsec .shead h2{margin-top:0}
.fbox{background:var(--bg2); border:1px solid var(--line); border-radius:var(--rd-l);
padding:var(--s6); max-width:640px; margin:0}
.lfh{font-size:var(--fs-h2); margin:0 0 var(--s5)}
.lfhint{margin:var(--s4) 0 0; font-size:var(--fs-xs); color:var(--ink3); max-width:58em}
.req{color:var(--dg); font-weight:700}

.lfsec.has-aside{display:grid; grid-template-columns:minmax(0,640px) minmax(0,1fr);
gap:var(--s7); align-items:start}

.lfsec.has-aside > dialog{grid-column:1 / -1}

.lpane{position:sticky; top:calc(64px + var(--s7)); align-self:start;
background:var(--bg2); border:1px solid var(--line);
border-radius:var(--rd-l); padding:var(--s6)}

.lpane-h{margin:0 0 var(--s5); font-size:var(--fs-h3)}
.lpane-list{margin:0}

.lpane-row{display:grid; gap:3px; padding:var(--s3) 0; border-top:1px solid var(--line)}
.lpane-row:first-child{padding-top:0; border-top:0}
.lpane-row:last-child{padding-bottom:0}
.lpane-row dt{color:var(--ink3); font-size:var(--fs-xs)}
.lpane-row dd{margin:0; min-width:0; color:var(--ink); font-size:var(--fs-sm); font-weight:700;
overflow-wrap:anywhere}
.lpane-row dd a{color:var(--acc)}
.lpane-row dd em{display:block; margin-top:2px; font-style:normal; font-weight:400; color:var(--ink3)}
.lpane-qr>summary{cursor:pointer; color:var(--acc); list-style:none}
.lpane-qr>summary::-webkit-details-marker{display:none}
.lpane-qr[open]>summary{margin-bottom:8px}
.lpane-qr img{display:block; width:min(240px,72vw); height:auto; border:1px solid var(--line); border-radius:6px}

.lfhp{position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden}

.fld select{appearance:none}
.fld textarea{resize:vertical}

.lfag{display:flex; flex-wrap:nowrap; gap:var(--s3); align-items:flex-start; padding:var(--s2) 0}

.frow{display:grid; grid-template-columns:1fr 1fr; gap:var(--s4)}

@media (max-width:640px){
.frow{grid-template-columns:1fr}
}
.lfag input[type=checkbox]{width:18px; height:18px; flex:none; margin:3px 0 0; padding:0;
border-radius:4px; accent-color:var(--acc)}

.lfag label{margin:0; font-weight:400; font-size:var(--fs-sm); color:var(--ink2);
max-width:56em; flex:1 1 auto; min-width:0}

.lfag .emsg{flex:0 0 100%; margin:0 0 0 calc(18px + var(--s3))}
.lfag.err input[type=checkbox]{outline:2px solid var(--dg); outline-offset:1px}

.lfpv{display:inline; margin:0; padding:0; border:0; background:none; font:inherit;
color:var(--acc); text-decoration:underline; cursor:pointer}
.lfpv:hover{color:var(--acc)}
.lfpv:focus-visible{outline:2px solid var(--acc); outline-offset:2px; border-radius:3px}

.pvd{width:min(720px,92vw); max-height:min(82vh,760px); margin:auto; padding:0; border:0;
border-radius:var(--rd-l); box-shadow:var(--sh3); background:var(--bg); color:var(--ink);
overflow:hidden}
.pvd[open]{display:flex; flex-direction:column}
.pvd::backdrop{background:rgba(23,32,51,.55)}
.pvd-head{flex:none; display:flex; align-items:center; gap:var(--s4);
padding:var(--s4) var(--s5); border-bottom:1px solid var(--line); background:var(--bg2)}
.pvd-title{flex:1; min-width:0; font-size:var(--fs-h3); font-weight:700}
.pvd-close{flex:none; display:inline-flex; align-items:center; gap:var(--s2);
padding:var(--s2) var(--s3); font:inherit; font-size:var(--fs-xs); color:var(--ink2);
background:transparent; border:1px solid var(--line); border-radius:var(--rd-s); cursor:pointer}
.pvd-close:hover{color:var(--ink); border-color:var(--ink3)}
.pvd-body{flex:1; min-height:0; overflow:auto; padding:var(--s6) var(--s7)}

.pvd-body p{font-size:var(--fs-body); color:var(--ink); max-width:58em}
.pvd-body p:last-child{margin-bottom:0}

@media (max-width:640px){
.pvd{width:100vw; max-width:none; max-height:100dvh; height:100dvh; border-radius:0}
.pvd-body{padding:var(--s5) var(--s4)}
}

.lfcap{margin:var(--s4) 0 0; padding:var(--s4); border:1px solid var(--line);
border-radius:var(--rd-s); background:var(--bg2)}
.lfcap[hidden]{display:none}
.lfcap-row{display:flex; flex-wrap:wrap; gap:var(--s3); align-items:center}
.lfcap-row input[type=text]{flex:1 1 140px; width:auto; min-width:120px; max-width:220px;
letter-spacing:.12em; text-transform:uppercase}
.lfcap-img{flex:none; display:block; width:150px; height:62px; border:1px solid var(--line);
border-radius:var(--rd-s); background:#fff; cursor:pointer}
.lfcap-refresh{flex:none; border:0; background:none; padding:0; font:inherit;
font-size:var(--fs-xs); color:var(--acc); cursor:pointer; text-decoration:underline}
.lfcap-refresh:hover{color:var(--acc3); text-decoration:none}

.lfstatus{margin:var(--s5) 0 0; padding:var(--s4) var(--s5); border-radius:var(--rd-s); font-size:var(--fs-sm)}
.lfstatus.busy{background:var(--acc2); color:var(--acc)}
.lfstatus.ok{background:var(--ok2); color:var(--ok)}
.lfstatus.warn{background:var(--wn2); color:var(--wn)}
.lfstatus.err{background:var(--dg2); color:var(--dg)}

.lfextra{margin:var(--s4) 0 0; font-size:var(--fs-sm); display:flex; flex-wrap:wrap;
align-items:baseline; gap:var(--s2) var(--s4)}
.lfextra a{font-weight:600}
.lfextra span{font-size:var(--fs-xs); color:var(--ink3)}

.lfactions{margin:var(--s5) 0 0}
.lfactions .btn{width:100%; padding:13px var(--s6)}
.lfactions .btn[disabled]{opacity:.6; cursor:not-allowed}

.errpage{text-align:center; padding:var(--s11) var(--s6)}
.errpage .code{font-size:72px; font-weight:800; color:var(--line); line-height:1}

.errpage .cta{display:flex; gap:var(--s3); justify-content:center; margin:var(--s6) 0 0; flex-wrap:wrap;
background:none; box-shadow:none; border-radius:0; padding:0; overflow:visible; color:inherit}
.errpage .cta::before{content:none}

@media (max-width:1099px){
.grid.g4{grid-template-columns:repeat(2,1fr)}
.grid.g3{grid-template-columns:repeat(2,1fr)}

.lfsec.has-aside{grid-template-columns:1fr; gap:var(--s5)}

.lpane{position:static}

footer .g{grid-template-columns:1.4fr repeat(2,minmax(0,1fr))}
}
@media (max-width:759px){
.top .row{height:auto; padding:var(--s3) var(--s4); flex-wrap:wrap; gap:var(--s3)}

.menu{margin-left:0; order:3; width:100%; flex:0 0 auto;
overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch;
gap:var(--s4); font-size:var(--fs-xs);
scrollbar-width:none}
.menu::-webkit-scrollbar{height:0}

.menu a:last-child{padding-right:var(--s2)}

.menu.can-scroll{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 30px),transparent 100%);
mask-image:linear-gradient(to right,#000 calc(100% - 30px),transparent 100%)}
.menu.can-scroll.scroll-end{-webkit-mask-image:none; mask-image:none}
.act{margin-left:auto}
.hero{padding:var(--s9) 0 var(--s8)}
.hero .trust{gap:var(--s5)}

.hero .in{padding:0 var(--s4)}
.br{padding:var(--s2) var(--s4) var(--s3)}
footer .in{padding:0 var(--s4)}
.sec{padding:var(--s7) var(--s4)}
.answer{margin-top:calc(var(--s7) * -1); padding:0 var(--s4)}
.grid.g4,.grid.g3{grid-template-columns:1fr}

.hcards{margin:var(--s7) 0}

.qb{margin-top:var(--s5); padding-top:var(--s5)}

.cta{padding:var(--s6) var(--s5)}
.step{gap:var(--s4)}
.fabs{right:var(--s3); bottom:var(--s5)}
footer .bot{flex-direction:column; gap:var(--s2)}
footer .bot a{margin-left:0; margin-right:var(--s4)}

footer .bot > span:first-child{display:flex; flex-direction:column; gap:var(--s1); align-items:flex-start}
footer .bot a.gongan{margin-left:0; margin-right:0}
footer .bot .dotsep{display:none}
footer .bot a.icp{margin-left:0}

footer .g{grid-template-columns:1fr}

.docdlg{width:100vw; max-width:none; height:100dvh; max-height:none; border-radius:0}
.docdlg-page{padding:var(--s5) var(--s4)}
}

.docsec-note{font-size:var(--fs-sm); color:var(--ink3); margin:calc(var(--s5) * -1 + 2px) 0 0}

.doclist{list-style:none; margin:0; padding:0; display:grid; gap:var(--s3);
grid-template-columns:repeat(auto-fit, minmax(320px, 1fr))}

.docitem{max-width:none; display:flex; flex-direction:column; align-items:stretch; gap:var(--s3);
padding:var(--s4) var(--s5);
background:var(--bg2); border:1px solid var(--line); border-radius:var(--rd)}

.docitem .dinfo{flex:1; min-width:0}
.docitem .dtitle{display:block; font-size:var(--fs-body); color:var(--ink)}

.docitem a.dtitle{color:var(--ink)}
.docitem a.dtitle:hover{color:var(--acc); text-decoration:none}
.docitem .dmeta{display:block; margin-top:2px; font-size:var(--fs-xs); color:var(--ink3)}
.docitem .dsum{max-width:none; margin:var(--s2) 0 0; font-size:var(--fs-sm); color:var(--ink2)}

.docitem.nopv{background:var(--bg)}

.docitem .dnote{flex:none; font-size:var(--fs-xs); color:var(--wn)}
.docitem .docopen{flex:none; align-self:flex-start}

.dpage-meta{display:flex; flex-wrap:wrap; gap:var(--s4); margin:2px 0 0;
font-size:var(--fs-xs); color:var(--ink3)}
.dpage-lead{font-size:var(--fs-lead); color:var(--ink2)}
.dpage-act{display:flex; flex-wrap:wrap; gap:var(--s3); margin:var(--s5) 0 0}
.dpage-note{font-size:var(--fs-sm); color:var(--ink3)}

.docdlg{width:min(1360px,96vw); height:min(94vh,1200px); margin:auto; padding:0; border:0;
border-radius:var(--rd-l); box-shadow:var(--sh3); background:var(--bg); color:var(--ink); overflow:hidden}
.docdlg[open]{display:flex; flex-direction:column}
.docdlg::backdrop{background:rgba(23,32,51,.55)}
.docdlg-head{flex:none; display:flex; align-items:center; gap:var(--s4);
padding:var(--s3) var(--s5); border-bottom:1px solid var(--line); background:var(--bg2)}
.docdlg-title{flex:1; min-width:0; font-size:var(--fs-sm); font-weight:600; color:var(--ink);
white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.docdlg-close{flex:none; display:inline-flex; align-items:center; gap:var(--s2);
padding:var(--s2) var(--s3); font:inherit; font-size:var(--fs-xs); color:var(--ink2);
background:transparent; border:1px solid var(--line); border-radius:var(--rd-s); cursor:pointer}
.docdlg-close:hover{color:var(--ink); border-color:var(--ink3)}
.docdlg-body{flex:1; min-height:0; position:relative; display:flex; background:var(--bg3)}
.docdlg-frame{flex:1; width:100%; height:100%; border:0; background:var(--bg)}
.docdlg-page{flex:1; min-height:0; overflow:auto; padding:var(--s6) var(--s7); background:var(--bg)}

.docdlg-bar{flex:none; display:flex; align-items:center; gap:var(--s2); flex-wrap:wrap;
padding:var(--s2) var(--s5); border-bottom:1px solid var(--line); background:var(--bg)}
.docdlg-bar[hidden]{display:none}
.docdlg-nav{flex:none; min-width:0; padding:var(--s1) var(--s3); font:inherit; font-size:var(--fs-xs);
color:var(--ink2); background:transparent; border:1px solid var(--line);
border-radius:var(--rd-s); cursor:pointer; white-space:nowrap}
.docdlg-nav:hover{color:var(--ink); border-color:var(--ink3)}
.docdlg-zi{width:30px; padding:var(--s1) 0; text-align:center; font-size:var(--fs-sm)}
.docdlg-zr{min-width:64px; text-align:center; font-variant-numeric:tabular-nums}
.docdlg-ind{flex:none; font-size:var(--fs-xs); color:var(--ink3); font-variant-numeric:tabular-nums;
padding:0 var(--s2); white-space:nowrap}
.docdlg-sep{flex:none; width:1px; height:18px; background:var(--line); margin:0 var(--s2)}

.docdlg-pdf{flex:1; min-height:0; overflow:auto; padding:var(--s4) var(--s5);
background:var(--bg3); text-align:center}
.docdlg-pdf[hidden]{display:none}
.docdlg-cv{display:block; margin:0 auto var(--s4); max-width:100%; height:auto;
background:#fff; box-shadow:0 1px 6px rgba(23,32,51,.16)}

.docdlg-status{position:absolute; inset:0; margin:0; display:flex; align-items:center;
justify-content:center; padding:var(--s6); text-align:center; font-size:var(--fs-sm); color:var(--ink3)}
.docdlg-status[hidden]{display:none}

.docdlg-foot{flex:none; display:flex; justify-content:flex-end; gap:var(--s3);
padding:var(--s3) var(--s5); border-top:1px solid var(--line); background:var(--bg2)}

.docdlg-doc{font-size:var(--fs-body); color:var(--ink)}
.docdlg-doc h2{font-size:var(--fs-h3); margin:var(--s5) 0 var(--s3)}
.docdlg-doc h3,.docdlg-doc h4{font-size:var(--fs-body); margin:var(--s4) 0 var(--s2)}
.docdlg-doc p,.docdlg-doc li{max-width:64em}
.docdlg-doc ul,.docdlg-doc ol{margin:0 0 var(--s4); padding-left:var(--s6)}
.docdlg-doc table{border-collapse:collapse; width:100%; margin:var(--s4) 0}
.docdlg-doc td,.docdlg-doc th{border:1px solid var(--line); padding:var(--s2) var(--s3); font-size:var(--fs-sm)}
.docdlg-doc img{max-width:100%; height:auto}
html.docdlg-open{overflow:hidden}

.sform{display:flex; gap:var(--s2); margin:var(--s5) 0 var(--s6); flex-wrap:wrap}
.sform input{
flex:1 1 260px; min-width:0; padding:var(--s3) var(--s4);
font:inherit; font-size:var(--fs-body); color:var(--ink);
background:var(--bg); border:1px solid var(--line); border-radius:var(--rd-s);
}
.sform input:focus{outline:2px solid var(--acc3); outline-offset:1px; border-color:var(--acc)}
.sform button{
padding:var(--s3) var(--s6); font:inherit; font-size:var(--fs-body); font-weight:600;
color:#fff; background:var(--acc); border:0; border-radius:var(--rd-s); cursor:pointer;
}
.sform button:hover{background:#114fa0}
.rescount{margin:0 0 var(--s4); font-size:var(--fs-sm); color:var(--ink2)}

.repmeta{display:flex; flex-wrap:wrap; gap:var(--s3) var(--s7); margin:var(--s5) 0 0;
padding:0; list-style:none; font-size:var(--fs-sm); color:var(--ink3)}
.repmeta li{max-width:none; display:flex; gap:var(--s2); align-items:baseline}
.repmeta b{color:var(--ink); font-weight:600}

.repnote{margin:var(--s4) 0; padding:var(--s5); background:var(--bg2); border:1px solid var(--line);
border-radius:var(--rd-s); font-size:var(--fs-sm); line-height:var(--lh); color:var(--ink);
white-space:pre-wrap; word-break:break-word}
.rpid{display:block; font-size:var(--fs-xs); color:var(--ink3); font-variant-numeric:tabular-nums}
.repdim{color:var(--ink3)}
.repsm td{vertical-align:top; min-width:132px}
.rv{font-weight:700; font-size:var(--fs-sm)}
.rv-y,.rv-n{color:var(--ink2)}
.rv-u{font-style:italic; color:var(--ink3)}
.rs{display:block; margin-top:2px; font-size:var(--fs-xs); color:var(--ink3); max-width:none}
.repfoot{margin-top:var(--s9); padding-top:var(--s5); border-top:1px solid var(--line);
font-size:var(--fs-sm); color:var(--ink3)}
.repfoot p{margin:0 0 var(--s2)}
.res{list-style:none; margin:0; padding:0; border:1px solid var(--line); border-radius:var(--rd); overflow:hidden; background:var(--bg)}

.res li{max-width:none; border-bottom:1px solid var(--line2); padding:var(--s4) var(--s5)}
.res li:last-child{border-bottom:0}
.res a{display:block; font-size:var(--fs-body); font-weight:600; color:var(--ink); text-decoration:none}
.res a:hover{color:var(--acc); text-decoration:underline}
.res em{display:block; margin-top:var(--s1); font-size:var(--fs-xs); font-style:normal; color:var(--ink3)}

.dgsec{scroll-margin-top:96px;
padding-top:36px}

.sec:has(+ .dgsec){padding-bottom:16px}
.dgbox{background:var(--bg2); border:1px solid var(--line); border-radius:var(--rd-l);
padding:var(--s6); margin:0}
.dgh{font-size:var(--fs-h2); margin:0 0 var(--s5)}
.dgform{max-width:640px}
.dgactions{margin-top:var(--s5)}

.dgactions .btn[disabled]{opacity:.6; cursor:progress}

.dgstatus{margin:var(--s5) 0 0; padding:var(--s4) var(--s5); border-radius:var(--rd-s); font-size:var(--fs-sm)}
.dgstatus.busy{background:var(--acc2); color:var(--acc)}
.dgstatus.warn{background:var(--wn2); color:var(--wn)}
.dgstatus.err{background:var(--dg2); color:var(--dg)}
.dgstatus[hidden]{display:none}

.dgresult{margin:var(--s5) 0 0}
.dgresult[hidden]{display:none}

.dgmeta{margin:0 0 var(--s3); font-size:var(--fs-xs); color:var(--ink3)}
.dgdisc{margin:var(--s4) 0 0; font-size:var(--fs-sm); color:var(--ink2); max-width:58em}

.dgscan{margin:var(--s2) 0 0; border:1px solid var(--line); border-radius:var(--rd-s);
background:var(--bg3); overflow:hidden}

.dgsec ~ .lfsec{margin-top:-38px}
.dgscan[hidden]{display:none}
.dgscan-hd{padding:var(--s2) var(--s4); border-bottom:1px solid var(--line);
font-size:var(--fs-xs); color:var(--ink3)}
.dgscan-log{height:132px; overflow:hidden; padding:var(--s3) var(--s4);
font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace;
font-size:var(--fs-xs); line-height:1.95; color:var(--ink3)}

.dgscan-log span{display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}

.dgdlg{width:min(440px,92vw); margin:auto; padding:0; border:0; border-radius:var(--rd);
background:var(--bg); color:var(--ink)}

.dgdlg[open]{display:block}
.dgdlg::backdrop{background:rgba(23,32,51,.55)}
.dgdlg-text{margin:0; padding:var(--s6) var(--s6) var(--s5); font-size:var(--fs-body); line-height:var(--lh)}

.dgdlg-foot{display:flex; justify-content:flex-end; gap:var(--s3); padding:var(--s3) var(--s5);
border-top:1px solid var(--line); background:var(--bg2)}

@media (max-width:640px){
.dgbox{padding:var(--s5) var(--s4)}
}

@media (prefers-reduced-motion:reduce){
*{transition:none !important}
}

.playout{max-width:var(--wrap); margin:0 auto; padding:0 var(--s6);
display:grid; grid-template-columns:minmax(0,1fr) 288px; gap:var(--s7); align-items:start}

.pcol{min-width:0}

.prail{position:sticky; top:96px; align-self:start;
display:grid; gap:18px; min-width:0;
padding-top:var(--s9)}
.prail-sec{border:1px solid var(--line); border-radius:var(--rd); background:var(--bg2);
padding:20px 21px}
.prail-sec>header{display:grid; margin-bottom:14px}
.prail-sec>header span{color:var(--acc); font-size:var(--fs-xs); font-weight:800; letter-spacing:.08em}
.prail-sec>header h2{margin:4px 0 0; font-size:18px; font-weight:760; line-height:1.4}

.prail-sec>header h2:first-child{margin-top:0}

.prail-links{display:grid}
.prail-links a{display:flex; align-items:center; justify-content:space-between; gap:12px;
padding:11px 0; border-top:1px solid var(--line);
font-size:var(--fs-sm); color:var(--ink); text-decoration:none}
.prail-links a:first-child{border-top:0}
.prail-links a:hover{color:var(--acc)}
.prail-links a span{overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.prail-links a em{flex:0 0 auto; font-style:normal; font-size:var(--fs-xs); color:var(--ink3)}

.prail-cta, .lpane-cta{background:var(--brand); color:#fff; border-radius:var(--rd); padding:24px}
.prail-cta>span, .lpane-cta>span{display:block; color:var(--acc3); font-size:var(--fs-xs); font-weight:800; letter-spacing:.08em}
.prail-cta h2, .lpane-cta h3{margin:8px 0 8px; font-size:20px; font-weight:730; line-height:1.4; color:#fff}
.prail-cta p, .lpane-cta p{margin:0 0 18px; font-size:var(--fs-sm); line-height:1.65; color:var(--acc3)}

.prail-cta .btn.ol, .lpane-cta .btn.ol{background:transparent; color:#fff; border-color:rgba(255,255,255,.45)}
.prail-cta .btn.ol:hover, .lpane-cta .btn.ol:hover{background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.75)}
.prail-cta .btn, .lpane-cta .btn{width:100%}

.lpane-cta{margin-top:var(--s5)}


.lpane-go{margin-top:var(--s5); padding-top:var(--s5); border-top:1px solid var(--line)}
.lpane-go-h{margin:0 0 var(--s2); font-size:var(--fs-xs); color:var(--ink3)}
.lpane-go a{display:flex; align-items:center; gap:var(--s3); padding:9px 0;
  border-top:1px dashed var(--line); text-decoration:none}
.lpane-go a:first-of-type{border-top:0; padding-top:0}
.lpane-go a span{flex:1 1 auto; min-width:0}
.lpane-go a b{display:block; font-size:var(--fs-sm); font-weight:700; color:var(--ink)}
.lpane-go a em{display:block; margin-top:1px; font-style:normal;
  font-size:var(--fs-xs); line-height:1.5; color:var(--ink3)}
.lpane-go a i{flex:none; font-style:normal; color:var(--acc)}
.lpane-go a:hover b{color:var(--acc)}
.lpane-go + .lpane-cta{margin-top:var(--s4)}

@media (max-width:1099px){

.playout{grid-template-columns:1fr; gap:var(--s5)}
.prail{position:static; grid-template-columns:1fr 1fr}
.prail-cta{grid-column:1 / -1}
}
@media (max-width:640px){
.prail{grid-template-columns:1fr}
}

.g3{grid-template-columns:repeat(3,1fr)}

.case{background:#fff;border:1px solid var(--line);border-radius:var(--rd);overflow:hidden;transition:.18s;
position:relative; cursor:pointer}
.case:hover{box-shadow:var(--sh2);transform:translateY(-2px)}
.case .thumb{height:150px;background:linear-gradient(135deg,#eaf1fa,#dce8f7);display:flex;
align-items:center;justify-content:center;color:var(--acc);font-size:13px;font-weight:700;
border-bottom:1px solid var(--line);text-align:center;padding:12px}

.case .thumb-ph{border:1.5px dashed var(--acc3);background:var(--acc2)}
.case .bd{padding:19px}
.case .bd .tg{font-size:11.5px;font-weight:800;color:var(--acc);background:var(--acc2);
padding:3px 9px;border-radius:5px;display:inline-block;margin-bottom:10px}
.case .bd b{display:block;font-size:16px;font-weight:800;color:var(--ink);line-height:1.55;margin-bottom:8px}
.case .bd .sm{margin:0 0 8px; font-size:13.5px; color:var(--ink2); line-height:1.7;
display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
.case .bd .mt{display:flex;gap:14px;font-size:12.5px;color:var(--ink3);padding-top:11px;
border-top:1px solid var(--line2);flex-wrap:wrap;align-items:center}

.case .bd .pv{margin-left:auto;color:var(--acc);font-weight:700;font-variant-numeric:tabular-nums}
.case .bd .pv-hint{margin:8px 0 0;font-size:12px;color:var(--ink3);line-height:1.6}
.case .bd .more{display:inline-block;margin-top:12px;font-size:13.5px;font-weight:700;color:var(--acc)}
.case .bd .more:hover{text-decoration:underline}

.case .bd .more::after{content:''; position:absolute; inset:0; z-index:1; border-radius:var(--rd)}

.case:focus-within{outline:2px solid var(--acc); outline-offset:2px}

.case .bd .tg.tg-ok{color:#0a7a43;background:#e6f6ec}
.case .bd .tg.tg-warn{color:#8a5a00;background:#fdf3dd}
.case .bd .tg.tg-no{color:#a12a2a;background:#fdeaea}

.filters{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 26px;align-items:center}
.filters .fl-label{font-size:13.5px;font-weight:800;color:var(--ink3)}
.chip{font-size:13.5px;font-weight:600;padding:8px 16px;border-radius:22px;border:1.5px solid var(--line);
background:#fff;color:var(--ink2);cursor:pointer;transition:.15s;font-family:inherit;text-decoration:none;display:inline-block}
.chip:hover{border-color:var(--acc3);color:var(--acc)}
.chip.on{background:var(--acc);border-color:var(--acc);color:#fff;font-weight:700}

.sortbar{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);
margin:0 0 var(--s5);padding:11px 15px;background:var(--bg2);
border:1px solid var(--line);border-radius:var(--rd-s);flex-wrap:wrap}
.sortbar .sb-left{font-size:13.5px;color:var(--ink2);font-weight:600}
.sortbar .sb-right{font-size:13.5px;color:var(--acc);font-weight:700}
.sortbar .sb-hint{color:var(--ink3);font-weight:500;font-style:normal;font-size:12.5px}

.pager{display:flex;gap:8px;align-items:center;justify-content:center;margin:var(--s8) 0 var(--s5);flex-wrap:wrap}
.pager .pg{min-width:38px;height:38px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;
border:1px solid var(--line);border-radius:var(--rd-s);background:#fff;color:var(--ink2);
font-size:14px;font-weight:600;text-decoration:none;transition:.15s}
.pager .pg:hover{border-color:var(--acc3);color:var(--acc)}
.pager .pg.cur{background:var(--acc);border-color:var(--acc);color:#fff;font-weight:700}
.pager .pg.dis{opacity:.4;cursor:not-allowed;background:var(--bg2)}
.pager .pg.dis:hover{border-color:var(--line);color:var(--ink2)}

.sec>.empty{padding:var(--s8) 0;text-align:center;color:var(--ink3);font-size:14.5px}

#case-list-top, #case-first{scroll-margin-top:96px}

#case-list-top{display:block;height:0;overflow:hidden}

@media (max-width:900px){
.g3{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
.g3{grid-template-columns:1fr}
.sortbar{flex-direction:column;align-items:flex-start;gap:6px}
.case .bd .mt .pv{margin-left:0;width:100%}
}

.nws{background:#fff;border:1px solid var(--line);border-radius:var(--rd);
overflow:hidden;transition:.18s;display:flex;flex-direction:column}
.nws:hover{box-shadow:var(--sh2);transform:translateY(-2px)}

.nws .thumb{aspect-ratio:16/9;background:linear-gradient(135deg,#eaf1fa,#dce8f7);
display:flex;align-items:center;justify-content:center;color:var(--acc);
font-size:13px;font-weight:700;text-align:center;padding:12px;border-bottom:1px solid var(--line)}
.nws .thumb-ph{border:1.5px dashed var(--acc3);background:var(--acc2)}
.nws .bd{padding:19px;display:flex;flex-direction:column;flex:1}
.nws .bd .tg{font-size:11.5px;font-weight:800;color:var(--acc);background:var(--acc2);
padding:3px 9px;border-radius:5px;display:inline-block;align-self:flex-start;margin-bottom:10px}
.nws .bd b{display:block;font-size:16px;font-weight:800;color:var(--ink);line-height:1.55;margin-bottom:8px}
.nws .bd .sm{margin:0 0 8px;font-size:13.5px;color:var(--ink2);line-height:1.7;
display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.nws .bd .mt{display:flex;gap:14px;font-size:12.5px;color:var(--ink3);padding-top:11px;
border-top:1px solid var(--line2);flex-wrap:wrap;align-items:center;margin-top:auto}
.nws .bd .more{display:inline-block;margin-top:12px;font-size:13.5px;font-weight:700;color:var(--acc)}

.nws-meta{display:flex;gap:16px;flex-wrap:wrap;align-items:center;
font-size:var(--fs-xs);color:var(--ink3);padding:14px 0;margin:0 0 var(--s6);
border-top:1px solid var(--line2);border-bottom:1px solid var(--line2)}
.nws-meta .nm-cat{font-weight:800;color:var(--acc);background:var(--acc2);
padding:3px 9px;border-radius:5px}

.nws-meta .nm-warn{color:var(--wn);font-weight:700}

.nws-body{font-size:var(--fs-body);line-height:var(--lh);color:var(--ink)}
.nws-body>*:first-child{margin-top:0}
.nws-body h2{font-size:var(--fs-h2);font-weight:800;color:var(--ink);
line-height:1.42;margin:var(--s8) 0 var(--s4);letter-spacing:-.4px}
.nws-body h3{font-size:var(--fs-h3);font-weight:800;color:var(--ink);margin:var(--s7) 0 var(--s3)}
.nws-body p{margin:0 0 var(--s5)}
.nws-body ul,.nws-body ol{margin:0 0 var(--s5);padding-left:1.4em}
.nws-body li{margin-bottom:var(--s2)}
.nws-body img{border-radius:var(--rd);margin:var(--s6) 0}

.nws-body table{width:100%;border-collapse:collapse;margin:var(--s6) 0;font-size:var(--fs-sm)}
.nws-body th,.nws-body td{border:1px solid var(--line);padding:10px 12px;text-align:left}
.nws-body th{background:var(--bg2);font-weight:800}
.nws-body blockquote{margin:var(--s6) 0;padding:var(--s4) var(--s5);
border-left:3px solid var(--acc3);background:var(--bg2);color:var(--ink2)}
.nws-body code{background:var(--bg3);padding:2px 5px;border-radius:4px;font-size:.92em}

.nws-rel{margin:var(--s9) 0 0;padding-top:var(--s7);border-top:1px solid var(--line)}
.nws-rel .rel-h{font-size:var(--fs-h3);font-weight:800;color:var(--ink);margin:0 0 var(--s5)}
.nws-rel .rel-i{display:block;background:var(--bg2);border:1px solid var(--line2);
border-radius:var(--rd-s);padding:15px 17px;transition:.15s;color:inherit}
.nws-rel .rel-i:hover{border-color:var(--acc3);text-decoration:none;background:#fff}
.nws-rel .rel-i b{display:block;font-size:14.5px;font-weight:700;color:var(--ink);line-height:1.6;margin-bottom:6px}
.nws-rel .rel-i span{font-size:var(--fs-xs);color:var(--ink3)}

@media (max-width:640px){
.nws-rel .grid{grid-template-columns:1fr}
.nws-meta{gap:12px}
}
