.inner-page { background:#fff; }
.inner-portal-header { background:var(--blue); color:#fff; }
.inner-portal-inner { min-height:116px; display:flex; flex-direction:column; justify-content:center; gap:12px; padding-block:14px 16px; }
.inner-brand { align-self:center; color:#fff; font-size:24px; font-weight:600; letter-spacing:-.05em; }
.inner-brand .hamster-mark { width:25px; height:25px; flex-basis:25px; border-radius:7px; }
.inner-brand .hamster-mark::before { left:6px; top:7px; width:11px; height:11px; }
.inner-brand .hamster-mark::after { left:8px; top:11px; }
.inner-search { min-height:43px; grid-template-columns:32px minmax(0,1fr) 62px; }
.inner-search input { height:41px; }

.category-page { padding-top:18px; padding-bottom:36px; }
.breadcrumbs { display:flex; align-items:center; gap:9px; min-height:34px; color:#8a94a2; font-size:12px; }
.breadcrumbs a:hover { color:var(--blue); }
.breadcrumbs strong { color:#687385; font-weight:400; }

.category-intro { display:grid; grid-template-columns:58px minmax(0,1fr); gap:14px; align-items:center; padding:18px 0 19px; border-bottom:1px solid var(--line); }
.category-symbol { width:58px; height:58px; display:grid; place-items:center; border-radius:10px; background:#f0f6fd; }
.category-symbol::before { content:""; width:23px; height:17px; border:2px solid #6b9ee8; border-radius:3px 3px 5px 5px; box-shadow:8px 0 0 -6px #6b9ee8; }
.category-title-line { display:flex; align-items:baseline; gap:12px; }
.category-title-line h1 { margin:0; color:#182234; font-size:25px; font-weight:600; letter-spacing:-.04em; }
.category-title-line span { color:#8a94a2; font-size:12px; }
.category-intro p { margin:6px 0 0; color:#687385; font-size:13px; }

.category-switcher,.group-index { display:flex; align-items:center; overflow-x:auto; scrollbar-width:none; border-bottom:1px solid var(--line); }
.category-switcher::-webkit-scrollbar,.group-index::-webkit-scrollbar { display:none; }
.category-switcher a,.group-index a { flex:none; position:relative; color:#4d5869; text-align:center; white-space:nowrap; }
.category-switcher a { min-width:92px; padding:13px 14px 12px; font-size:13px; }
.group-index a { min-width:86px; padding:11px 12px 10px; font-size:12.5px; }
.category-switcher a.active,.group-index a.active,.category-switcher a:hover,.group-index a:hover { color:var(--blue-deep); }
.category-switcher a.active::after,.group-index a.active::after { content:""; position:absolute; right:20%; bottom:0; left:20%; height:2px; background:var(--blue); }
.group-index { background:#fbfcfe; }

.category-groups { margin-top:12px; }
.category-group { margin-bottom:10px; overflow:hidden; border:1px solid var(--line-strong); border-radius:7px; background:#fff; scroll-margin-top:12px; }
.category-group > header { min-height:48px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 14px; border-bottom:1px solid var(--line-strong); background:var(--blue-row); }
.category-group > header > span { min-width:0; display:flex; align-items:center; gap:9px; }
.group-mark { width:14px; height:14px; border:1.5px solid #6b9ee8; border-radius:4px; }
.category-group > header strong { color:#263246; font-size:15px; font-weight:600; white-space:nowrap; }
.category-group > header small,.category-group > header > b { color:#7e8998; font-size:12px; font-weight:400; }
.category-group > header > b { white-space:nowrap; }
.category-site-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.category-site { min-width:0; min-height:72px; display:grid; grid-template-columns:34px minmax(0,1fr); gap:10px; align-items:center; padding:10px 13px; border-bottom:1px solid var(--line); transition:background .16s ease; }
.category-site:nth-child(odd) { border-right:1px solid var(--line); }
.category-site:nth-last-child(-n+2) { border-bottom:0; }
.category-site:hover { background:#f8fbff; }
.category-site-mark { width:34px; height:34px; border-radius:7px; font-size:14px; }
.category-site > span { min-width:0; }
.category-site strong,.category-site small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.category-site strong { color:#273142; font-size:14px; font-weight:500; }
.category-site small { margin-top:3px; color:#8a94a2; font-size:11.5px; }

.category-guide { margin-top:12px; overflow:hidden; border:1px solid var(--line); border-radius:7px; background:#fff; }
.category-guide header { min-height:44px; display:flex; align-items:center; gap:9px; padding:0 14px; background:var(--blue-pale); }
.section-glyph { width:16px; height:13px; border:1.5px solid #2f7fe8; border-radius:2px; }
.category-guide h2 { margin:0; font-size:15px; font-weight:600; }
.category-guide p { margin:0; padding:12px 14px 8px; color:#687385; font-size:12px; line-height:1.7; }
.guide-links { display:flex; gap:0; flex-wrap:wrap; padding:0 14px 13px; }
.guide-links a { color:var(--blue); font-size:12px; }
.guide-links a:not(:last-child)::after { content:"·"; margin:0 10px; color:#a8b1bd; }
.guide-catalog { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:12px; overflow:hidden; border:1px solid var(--line-strong); border-radius:7px; }
.guide-catalog > a { min-height:86px; display:grid; grid-template-columns:34px minmax(0,1fr); gap:11px; align-items:center; padding:14px; border-bottom:1px solid var(--line); }
.guide-catalog > a:nth-child(odd) { border-right:1px solid var(--line); }
.guide-catalog > a:nth-last-child(-n+2) { border-bottom:0; }
.guide-catalog > a:hover { background:#f8fbff; }
.guide-catalog > a > img { width:26px; height:26px; }
.guide-link-mark { width:25px; height:25px; display:block; border:1.5px solid #6b9ee8; border-radius:7px; box-shadow:5px -5px 0 -4px #6b9ee8; }
.guide-catalog strong,.guide-catalog small { display:block; }
.guide-catalog strong { color:#273142; font-size:14px; font-weight:500; }
.guide-catalog small { margin-top:4px; color:#8a94a2; font-size:11.5px; }

@media (min-width:820px) {
  .inner-portal-inner { min-height:126px; }
  .inner-brand { font-size:27px; }
  .category-page { max-width:920px; }
  .category-switcher a { flex:1; }
  .group-index a { flex:1; }
  .category-site { min-height:76px; }
}

@media (max-width:540px) {
  .inner-portal-inner { width:100%; min-height:94px; gap:8px; padding:9px 12px 10px; }
  .inner-brand { font-size:20px; }
  .inner-search { min-height:39px; }
  .inner-search input { height:37px; }
  .category-page { width:100%; padding:10px 12px 28px; }
  .breadcrumbs { min-height:30px; }
  .category-intro { grid-template-columns:48px minmax(0,1fr); gap:11px; padding:10px 0 11px; }
  .category-symbol { width:48px; height:48px; border-radius:9px; }
  .category-title-line { gap:8px; }
  .category-title-line h1 { font-size:22px; }
  .category-title-line span { font-size:10.5px; }
  .category-intro p { font-size:12px; line-height:1.55; }
  .category-switcher { margin-inline:-12px; padding-inline:4px; }
  .group-index { margin-inline:-12px; padding-inline:4px; }
  .category-switcher a { min-width:83px; padding-inline:10px; }
  .group-index a { min-width:76px; padding:9px 9px 8px; }
  .category-group > header { padding-inline:10px; }
  .category-group > header small { max-width:122px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .category-site { min-height:68px; grid-template-columns:30px minmax(0,1fr); gap:8px; padding:9px 10px; }
  .category-site-mark { width:30px; height:30px; border-radius:6px; font-size:12px; }
  .category-site strong { font-size:13px; }
  .category-site small { font-size:10px; }
  .guide-catalog { grid-template-columns:1fr; }
  .guide-catalog > a,.guide-catalog > a:nth-child(odd),.guide-catalog > a:nth-last-child(-n+2) { min-height:76px; border-right:0; border-bottom:1px solid var(--line); }
  .guide-catalog > a:last-child { border-bottom:0; }
}
