.page{padding-top:15px;}
.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(236px,1fr));gap:14px;}

.tools-viewport .tool-library-frame{height:calc(100dvh - var(--tools-frame-top, 153px) - 12px);display:flex;flex-direction:column;min-height:0;}
.tools-viewport .pg-tools .phead{flex:none;}
.tools-viewport .pg-tools .lib{flex:1;min-height:0;align-items:stretch;}
.tools-viewport .pg-tools .flt{position:static;min-height:0;max-height:100%;overflow-y:auto;scrollbar-width:none;}
.tools-viewport .pg-tools .tmain{min-height:0;}
.tools-viewport .pg-tools .intent{flex:none;}
.tools-viewport .pg-tools .res{display:flex;flex-direction:column;flex:1;min-height:0;}
.tools-viewport .pg-tools .rbar{flex:none;}
.tools-viewport .tool-results-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;padding:2px 0 4px;}
.tools-viewport .pg-tools .flt::-webkit-scrollbar,.tools-viewport .tool-results-scroll::-webkit-scrollbar{display:none;}
.tools-viewport .tool-results-scroll:focus-visible{outline-offset:-2px;}

@media (max-width:640px){
.page{padding-top:12px;}
.tgrid{gap:10px;grid-template-columns:repeat(auto-fill,minmax(276px,1fr));}
}

.share-toast{
  position:fixed;z-index:200;
  display:flex;align-items:center;justify-content:center;gap:5px;
  padding:0 8px;border:1px solid rgba(23,178,106,.5);border-radius:var(--r-s);
  background:#F0FBF6;color:var(--green);
  font-size:13px;font-weight:600;white-space:nowrap;
  opacity:0;transform:scale(.96);
  transition:opacity .18s ease,transform .18s ease;pointer-events:none;
}

.share-toast svg{flex:none;width:14px;height:14px;}


.thead{
  display:flex;gap:18px;align-items:flex-start;
  padding:20px 22px;margin-top:14px;
  border:1px solid var(--line);border-radius:var(--r-l);background:#fff;
}
.th-logo{
  width:88px;height:88px;border-radius:16px;flex:none;overflow:hidden;
  display:grid;place-items:center;color:#fff;font-size:29px;font-weight:700;letter-spacing:-.02em;
}
.th-logo img{width:100%;height:100%;object-fit:cover;display:block;}
.th-main{flex:1;min-width:0;align-self:stretch;display:flex;flex-direction:column;}
.th-titlerow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.th-titlerow h1{font-size:30px;letter-spacing:-.02em;line-height:1.2;}
.th-titlerow .pill{height:23px;padding:0 9px;border-radius:5px;font-size:13.5px;}
.th-sub{font-size:14.5px;color:var(--ink3);margin-top:8px;}

.th-stats{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:var(--r-s);background:var(--bg2);margin-top:auto;}
.th-stats > span, .th-stats > .th-stat{
  flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;
  padding:8px 0 7px;font-size:13px;color:var(--ink3);
}
.th-stats > * + *{border-left:1px solid var(--line);}
.th-stats b{font-size:15.5px;color:var(--ink);font-weight:600;}
.th-stats > .th-stat{
  background:none;border-top:0;border-right:0;border-bottom:0;border-left:0;
  cursor:pointer;font-family:inherit;line-height:inherit;transition:color .15s;
}
.th-stats > .th-stat:hover{color:var(--brand);}

.detail{display:grid;grid-template-columns:minmax(0,1fr) 296px;gap:22px;align-items:start;margin-top:20px;}
.dmain{min-width:0;}

.dside{position:sticky;top:72px;display:flex;flex-direction:column;gap:14px;}
.sinfo{display:flex;flex-direction:column;gap:0;margin:0;}
.sinfo>div{display:flex;gap:10px;font-size:14px;padding:6px 0;}
.sinfo dt{color:var(--ink3);flex:none;width:64px;}
.sinfo dd{margin:0;color:var(--ink2);min-width:0;}

.abnote{
  padding:13px 15px;border:1px solid var(--line);border-radius:var(--r);
  background:var(--bg2);font-size:14.5px;color:var(--ink2);line-height:1.75;
}

@media (max-width:1180px){
.detail{grid-template-columns:minmax(0,1fr) 260px;gap:18px;}
}
@media (max-width:900px){
.detail{grid-template-columns:minmax(0,1fr);}
.dside{position:static;}
.thead{flex-wrap:wrap;}
.th-stats{flex:1;margin-left:8px;}
}
@media (max-width:640px){
.th-logo{width:52px;height:52px;border-radius:13px;font-size:24px;}
.th-titlerow h1{font-size:21px;}
.thead{padding:16px;}
.th-stats{flex-basis:100%;margin-left:0;}
}


.dsec{margin-top:14px;}
.dsec>h2{font-size:18px;letter-spacing:-.01em;padding-bottom:10px;border-bottom:1px solid var(--line2);margin-bottom:14px;}

.aitems{display:flex;flex-direction:column;gap:10px;}

.ptable{width:100%;border-collapse:collapse;font-size:14.5px;}
.ptable th{
  text-align:left;font-weight:500;color:var(--ink3);font-size:13.5px;
  padding:0 12px 8px;border-bottom:1px solid var(--line);white-space:nowrap;
}
.ptable td{padding:11px 12px;border-bottom:1px solid var(--line2);color:var(--ink2);vertical-align:top;}
.ptable td:first-child{color:var(--ink);font-weight:500;white-space:nowrap;}
.ptable tr:last-child td{border-bottom:0;}

.sim{display:flex;flex-direction:column;gap:10px;}
.sim a{
  display:flex;gap:11px;align-items:flex-start;
  padding:11px;border-radius:var(--r-l);background:#F9FAFB;
  border:1px solid transparent;transition:border-color .15s,box-shadow .15s,background .15s;
}
.sim a:hover{background:#fff;border-color:var(--brand-line);box-shadow:var(--sh-h);}
.sim .sl{width:40px;height:40px;border-radius:10px;flex:none;display:grid;place-items:center;color:#fff;font-size:15px;font-weight:700;overflow:hidden;border:1px solid var(--line);}
.sim .sl img{display:block;width:100%;height:100%;object-fit:cover;}
.sim .sc{flex:1;min-width:0;}
.sim .sc b{display:block;font-size:14.5px;color:var(--ink);}
.sim .sc p{
  margin:3px 0 0;font-size:12.5px;line-height:1.5;color:var(--ink3);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}

@media (max-width:640px){
.ptable{font-size:14px;}
.ptable td,.ptable th{padding:9px 8px;}
.ptable td:first-child{white-space:normal;}
}

.drich{font-size:15px;line-height:1.9;overflow-wrap:anywhere;}
.drich p{margin:0 0 12px;}
.drich p:last-child{margin-bottom:0;}
.drich h2,.drich h3,.drich h4{font-size:17px;line-height:1.5;margin:22px 0 10px;letter-spacing:-.01em;}
.drich h2:first-child,.drich h3:first-child,.drich h4:first-child{margin-top:0;}
.drich ul,.drich ol{margin:0 0 12px;padding-left:22px;}
.drich li{margin:4px 0;}
.drich img{max-width:100%;height:auto;}
.drich table{display:block;max-width:100%;overflow:auto;border-collapse:collapse;font-size:14px;}
.drich td,.drich th{padding:8px 12px;border:1px solid var(--line);}
.drich blockquote{margin:0 0 12px;padding:8px 14px;border-left:3px solid var(--brand);background:var(--bg2);color:var(--ink2);}
.drich pre{overflow:auto;padding:14px;background:var(--bg2);}
.drich a{color:var(--brand);}
