.topnav a{position:relative; border-radius:999px;}
.topnav a:hover{background:rgba(255,255,255,.16);}
.topnav a.on{background:#fff; color:var(--blue); font-weight:700;
box-shadow:0 4px 14px rgba(0,0,0,.20), 0 1px 3px rgba(0,0,0,.12);}
.topnav a.on:hover{background:#fff;}
.topnav a .nav-dot{position:absolute; top:2px; right:4px; width:6px; height:6px; border-radius:50%;
background:var(--c-orange); box-shadow:0 0 0 1.5px rgba(255,255,255,.75);}
.topnav a.on .nav-dot{box-shadow:0 0 0 1.5px rgba(21,101,192,.16);}
body.theme-c .topnav a.on{background:var(--blue); color:#fff;}
.nav-toggle{display:none !important;}
.topnav-mobile{display:none !important;}
.mobar{display:none;}
@media (max-width:1023px){
.mobar{display:grid; grid-template-columns:repeat(4,1fr); position:fixed; left:0; right:0; bottom:0;
z-index:60; background:rgba(255,255,255,.94); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
border-top:1px solid var(--line); padding:6px 4px calc(6px + env(safe-area-inset-bottom));
box-shadow:0 -4px 16px rgba(21,101,192,.08);}
.mobar a{display:flex; flex-direction:column; align-items:center; gap:3px; padding:5px 0 3px;
font-size:11px; color:var(--muted); position:relative; border-radius:10px; transition:.15s;}
.mobar a svg{width:21px; height:21px; display:block;}
.mobar a.on{color:var(--blue); font-weight:700; background:var(--blue-soft);}
.mobar a.on::before{content:""; position:absolute; top:-7px; left:50%; transform:translateX(-50%);
width:22px; height:3px; border-radius:0 0 3px 3px; background:var(--blue);}
.mobar a .nav-dot{position:absolute; top:3px; right:calc(50% - 17px); width:6px; height:6px;
border-radius:50%; background:var(--c-orange);}
body{padding-bottom:calc(60px + env(safe-area-inset-bottom));}
.back-top{bottom:calc(70px + env(safe-area-inset-bottom)) !important;}
}
.stat-row{display:flex; align-items:baseline; justify-content:center; gap:16px; flex-wrap:wrap;}
.stat-row .stat-i{font-size:13.5px; color:var(--muted); white-space:nowrap;}
.stat-row .stat-i b{font-weight:400; color:var(--muted); font-size:inherit; background:none; -webkit-background-clip:initial; background-clip:initial;}
.stat-row .stat-sep{width:1px; height:15px; align-self:center; background:var(--line);}
.sec-head{display:flex; align-items:center; gap:10px; margin:4px 2px 0;}
.sec-head .sec-no{font-size:11px; font-weight:700; color:var(--blue); background:var(--blue-soft);
padding:3px 9px; border-radius:8px; letter-spacing:.5px; line-height:1.5;}
.sec-head h3{font-size:17px; font-weight:700; color:var(--ink); margin:0;}
.sec-head .sec-en{font-size:11px; color:var(--muted); letter-spacing:1.4px; text-transform:uppercase;
margin-left:auto; opacity:.75;}
.card.prohome-card{flex-direction:row; align-items:center; gap:16px; cursor:default;
border-left:4px solid var(--blue);}
.card.prohome-card:hover{transform:none;}
.prohome-card .avatar{background:var(--blue-soft); color:var(--blue); border-radius:14px;
width:50px; height:50px; display:flex; align-items:center; justify-content:center;
font-size:22px; font-weight:700; flex:0 0 auto;}
.prohome-card .name{font-size:16px; font-weight:700;}
.prohome-card .desc{font-size:12.5px; color:var(--muted); line-height:1.6; margin:3px 0 0;}
.prohome-card .open{margin-left:auto; white-space:nowrap;}
.prohome-empty{background:#fff; border:1px dashed var(--line); border-radius:18px;
padding:26px 22px; text-align:center; position:relative; z-index:1;
box-shadow:0 2px 8px rgba(21,101,192,.04);}
.prohome-empty .fs-mascot{margin:0 auto 12px;}
.prohome-empty .pe-t{font-size:14px; font-weight:700; color:var(--ink); margin:0 0 5px;}
.prohome-empty .pe-s{font-size:12.5px; color:var(--muted); margin:0 0 14px; line-height:1.7;}
.prohome-empty .pe-cta{display:inline-block; background:var(--blue); color:#fff; font-size:13px;
font-weight:600; padding:9px 22px; border-radius:999px; transition:.18s;
box-shadow:0 4px 12px rgba(21,101,192,.22);}
.prohome-empty .pe-cta:hover{transform:translateY(-1px); box-shadow:0 6px 16px rgba(21,101,192,.30);}
@media (max-width:1023px){
.sec-head h3{font-size:16px;}
.card.prohome-card{flex-direction:column; align-items:stretch;}
.prohome-card .open{margin-left:0;}
.stat-row{gap:6px;}
.stat-row .stat-i{font-size:12.5px;}
.stat-row .stat-sep{display:inline-flex; align-items:center; width:auto; height:auto; background:transparent; color:var(--dim); font-size:12px; padding:0 2px;}
.stat-row .stat-sep::before{content:"｜";}
}
html{overflow-x:clip;}
body{overflow-x:clip;}
.topnav a{display:inline-flex;align-items:center;gap:6px;}
.topnav a svg{
width:15px;height:15px;flex:0 0 auto;
fill:none;stroke:currentColor;stroke-width:1.9;
stroke-linecap:round;stroke-linejoin:round;
}
@media (max-width:1279px){
body.theme-b .topbar-card::before{right:0;}
}
@media (max-width:1023px){
body{padding-bottom:calc(70px + env(safe-area-inset-bottom, 0px));}
.mobar{transform:translateZ(0);-webkit-backface-visibility:hidden;will-change:transform;}
}
.card{
border-top:1px solid var(--line);
border-radius:var(--r-lg, 22px);
box-shadow:var(--sh, 0 2px 8px rgba(21,101,192,.06));
}
.card:hover{
transform:none;
border-color:var(--line);
box-shadow:0 6px 18px rgba(21,101,192,.10);
}
.card .avatar{border-radius:12px;}
.ai-chat{
border-radius:var(--r-lg, 22px);
box-shadow:var(--sh, 0 2px 8px rgba(21,101,192,.06));
}
.ai-chat-head{
justify-content:flex-start;
gap:10px;
padding:13px 16px;
background:#fff;
color:var(--ink);
border-bottom:1px solid var(--line-soft, #eaeff6);
}
.ai-chat-head .ai-head-ico{
width:34px; height:34px; border-radius:10px; flex:0 0 auto;
display:inline-flex; align-items:center; justify-content:center;
background:var(--blue-soft); color:var(--blue);
}
.ai-chat-head .ai-head-tx{display:flex; flex-direction:column; min-width:0; line-height:1.25;}
.ai-chat-head .ai-title{font-size:14.5px; font-weight:800;}
.ai-chat-head .ai-head-sub{font-size:11.5px; color:var(--dim, #9aa7b5); margin-top:1px;}
.ai-chat-head .ai-head-st{
margin-left:auto; flex:0 0 auto;
font-size:11px; font-weight:700; color:#2e7d32;
background:#e7f5ea; padding:3px 9px; border-radius:999px;
}
#casesystem,#home{max-width:var(--shell-max); padding:0 var(--gutter);}
#casesystem,#home{
content-visibility:auto;
contain-intrinsic-size:auto 700px;
}
@media (min-width:640px){
#grid .card{padding:16px;}
#grid .card .head{gap:10px; margin-bottom:6px;}
#grid .card .avatar{width:40px; height:40px; border-radius:12px; font-size:17px;}
#grid .card .name{font-size:14px; line-height:1.35;}
#grid .card .badge{font-size:10px; padding:2px 7px;}
#grid .card .desc{font-size:12px; line-height:1.6; margin-bottom:8px;
display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;}
#grid .card .pill{font-size:10.5px; padding:3px 9px;}
#grid .card .feat{font-size:11px;}
#grid .card .p-avatar{width:28px; height:28px; border-radius:8px; font-size:12px;}
#grid .card .provider{margin-top:8px; padding-top:10px; gap:8px; flex-wrap:wrap; row-gap:6px;}
#grid .card .provider-name{font-size:12.5px;}
#grid .card .provider-firm{font-size:10.5px;}
#grid .card .provider-home{font-size:11.5px;}
#grid .card .open{font-size:12px; padding:6px 14px;}
#grid .card .zone-tag{font-size:10.5px; padding:3px 8px;}
#grid .card .meta{margin-top:10px; padding-top:10px;}
}
@media (min-width:1080px){
#grid{grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px;}
#grid .card .feat-grid{display:none;}
#grid .card .provider-label,
#grid .card .provider-firm{display:none;}
}
@media (min-width:900px) and (max-width:1079px){
#grid{grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px;}
#grid .card .provider-label,
#grid .card .provider-firm{display:none;}
}
@media (min-width:640px) and (max-width:899px){
#grid{grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px;}
}
@media (max-width:639px){
#grid{grid-template-columns:1fr; gap:16px;}
}