@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Noto+Sans+SC:wght@400;500;600;700;900&display=swap');
:root{--bg:#090d18;--panel:#101726;--panel2:#121c2e;--line:rgba(153,178,220,.14);--text:#eaf0ff;--muted:#8794ae;--cyan:#5ce1e6;--violet:#9d8bff;--green:#83efc3;--red:#ff8b9c}
*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;color:var(--text);font-family:Manrope,"Noto Sans SC",sans-serif;background:radial-gradient(ellipse at 50% -25%,#192a4b 0,transparent 55%),var(--bg);min-height:100vh;position:relative;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.ambient{position:fixed;pointer-events:none;filter:blur(90px);opacity:.13;border-radius:50%;z-index:0}.ambient-one{width:320px;height:320px;background:#5ce1e6;top:230px;left:-240px}.ambient-two{width:380px;height:380px;background:#8067ff;top:650px;right:-280px}.topbar,.shell,.footer{position:relative;z-index:1}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;max-width:1200px;padding:0 28px;margin:auto;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.02em}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(92,225,230,.6);border-radius:12px;color:var(--cyan);font-size:21px;background:linear-gradient(145deg,rgba(92,225,230,.15),rgba(157,139,255,.08));box-shadow:0 0 24px rgba(92,225,230,.08)}.brand small{display:block;color:#7887a5;font:9px "DM Mono",monospace;letter-spacing:.18em;margin-top:3px}.topbar nav{display:flex;gap:30px;color:#aab5cc;font-size:13px}.topbar nav a:hover{color:var(--cyan)}.shell{max-width:1160px;margin:auto;padding:0 28px 80px}.hero{text-align:center;padding:78px 0 65px}.eyebrow,.kicker{font:10px "DM Mono",monospace;letter-spacing:.17em;color:#91a0bc}.eyebrow{display:inline-flex;align-items:center;gap:10px;padding:9px 14px;border:1px solid var(--line);border-radius:100px;background:rgba(14,23,40,.7)}.pulse{width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 12px var(--cyan)}h1,h2,h3,p{margin-top:0}.hero h1{font-size:clamp(38px,5vw,64px);line-height:1.22;letter-spacing:-.055em;margin:25px 0 16px;font-weight:800}.gradient-text{background:linear-gradient(100deg,#e7faff 5%,#5ce1e6 42%,#a99aff 90%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-copy{font-size:14px;color:var(--muted);margin-bottom:30px}.searchbar{max-width:630px;margin:auto;display:flex;align-items:center;gap:12px;padding:7px 7px 7px 20px;border:1px solid rgba(142,177,226,.27);border-radius:15px;background:rgba(14,22,38,.88);box-shadow:0 18px 70px rgba(0,0,0,.18),0 0 35px rgba(92,225,230,.035)}.search-icon{font-size:26px;color:var(--cyan)}.searchbar input{min-width:0;flex:1;color:var(--text);background:transparent;border:0;outline:none;font-size:13px}.searchbar input::placeholder{color:#697791}.searchbar button,.button{border:0;border-radius:10px;padding:12px 17px;background:linear-gradient(110deg,#5ce1e6,#7cdbec);color:#07141f;font-weight:800;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:16px;transition:transform .2s,filter .2s}.searchbar button:hover,.button:hover{transform:translateY(-1px);filter:brightness(1.08)}.hero-meta{display:flex;justify-content:center;gap:24px;margin-top:18px;font:10px "DM Mono",monospace;color:#687792}.hero-meta span{display:flex;align-items:center;gap:7px}.hero-meta i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--green)}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:30px}.section-head{display:flex;align-items:end;justify-content:space-between;margin:0 0 17px}.section-head h2{font-size:21px;letter-spacing:-.03em;margin:7px 0 0}.muted{color:var(--muted);font-size:11px}.category-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:35px}.category-chip{padding:9px 13px;border:1px solid var(--line);border-radius:8px;color:#9ba9c3;background:rgba(16,23,38,.75);font-size:11px;transition:.2s}.category-chip:hover,.category-chip.active{color:var(--cyan);border-color:rgba(92,225,230,.45);background:rgba(92,225,230,.07)}.resource-head{margin-bottom:15px}.resource-list{display:flex;flex-direction:column;gap:10px}.resource-card{display:flex;align-items:center;gap:15px;padding:17px 16px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(120deg,rgba(17,26,43,.9),rgba(12,19,32,.86));transition:border-color .2s,transform .2s}.resource-card:hover{border-color:rgba(92,225,230,.32);transform:translateY(-1px)}.resource-icon{flex-shrink:0;width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,rgba(92,225,230,.13),rgba(157,139,255,.12));border:1px solid rgba(130,173,222,.18);font-weight:800;font-size:17px;color:#bceef5}.resource-info{min-width:0;flex:1}.resource-title-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.resource-title-line h3{font-size:14px;margin:0;font-weight:700}.category-label{font-size:9px;padding:4px 7px;border:1px solid rgba(157,139,255,.22);border-radius:5px;color:#b6a9ff;background:rgba(157,139,255,.06)}.resource-info p{font-size:11px;color:#8997b1;line-height:1.6;margin:7px 0 6px}.tagline{display:flex;gap:9px;flex-wrap:wrap;color:#65748f;font:9px "DM Mono",monospace}.resource-action{display:flex;align-items:center;gap:12px;color:#687994}.click-count{font:10px "DM Mono",monospace;white-space:nowrap}.visit-link{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;border:1px solid var(--line);color:var(--cyan)}.visit-link:hover{background:rgba(92,225,230,.1)}.sidebar{display:flex;flex-direction:column;gap:15px}.side-panel,.submit-panel,.note-panel{border:1px solid var(--line);border-radius:14px;background:rgba(15,23,39,.83);padding:19px}.side-title{display:flex;gap:11px;align-items:center;padding-bottom:17px;border-bottom:1px solid var(--line)}.rank-symbol{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:rgba(157,139,255,.1);color:var(--violet)}.side-title h3{font-size:14px;margin:5px 0 0}.side-title .kicker{font-size:9px}.popular-item{display:flex;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid rgba(153,178,220,.08)}.popular-item:last-child{border-bottom:0;padding-bottom:0}.rank-num{font:11px "DM Mono",monospace;color:#687a99}.popular-name{font-size:11px;font-weight:700;flex:1}.popular-name small{display:block;color:#71809a;font-size:9px;font-weight:400;margin-top:4px}.popular-clicks{font:9px "DM Mono",monospace;color:#6f829f}.submit-panel{padding:21px;background:radial-gradient(circle at 100% 0,rgba(157,139,255,.14),transparent 48%),rgba(15,23,39,.9)}.submit-orbit{width:37px;height:37px;display:grid;place-items:center;border:1px solid rgba(92,225,230,.35);border-radius:11px;color:var(--cyan);font-size:21px;margin-bottom:17px;background:rgba(92,225,230,.06)}.submit-panel h3{font-size:17px;margin:9px 0}.submit-panel p{font-size:11px;color:#8997b1;line-height:1.7;margin-bottom:18px}.button.full{width:100%;justify-content:space-between}.button.secondary{color:#b9c4db;background:rgba(138,158,196,.1);border:1px solid var(--line)}.note-panel{display:flex;gap:9px;padding:14px}.note-dot{width:6px;height:6px;border-radius:50%;background:var(--violet);margin-top:5px;flex-shrink:0}.note-panel p{font-size:10px;color:#7c8aa5;line-height:1.7;margin:0}.empty-state{text-align:center;border:1px dashed rgba(153,178,220,.22);border-radius:14px;padding:48px 20px}.empty-icon{font-size:35px;color:var(--cyan);margin-bottom:10px}.empty-state h3{font-size:16px}.empty-state p{color:var(--muted);font-size:12px}.page-intro{text-align:center;padding:60px 0 25px}.page-intro h1,.admin-header h1{font-size:clamp(28px,4vw,43px);letter-spacing:-.05em;margin:12px 0}.page-intro p,.admin-header p{font-size:13px;color:var(--muted)}.form-panel{max-width:650px;margin:0 auto 50px;padding:28px;border:1px solid var(--line);border-radius:16px;background:rgba(15,23,39,.88);display:flex;flex-direction:column;gap:19px}.form-panel.narrow{max-width:440px}.form-panel label{font-size:12px;font-weight:700;color:#cbd5e8;display:flex;flex-direction:column;gap:9px}.form-panel label span{font-size:10px;color:var(--cyan);display:inline}.form-panel input,.form-panel textarea,.form-panel select{width:100%;background:#0b1220;color:var(--text);border:1px solid rgba(153,178,220,.2);border-radius:9px;padding:12px 13px;outline:none;font-size:12px}.form-panel input:focus,.form-panel textarea:focus,.form-panel select:focus{border-color:rgba(92,225,230,.6)}.form-panel textarea{resize:vertical}.form-footnote{font-size:10px;color:#6f7f99;text-align:center;margin:0;line-height:1.7}.flashes{padding-top:18px}.flash{padding:12px 15px;border-radius:9px;font-size:12px;margin-bottom:8px;border:1px solid var(--line);background:#121d2e}.flash.success{color:var(--green)}.flash.error,.flash.warning{color:#ffcf91}.admin-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:48px 0 25px}.admin-header h1{margin:8px 0}.admin-actions{display:flex;gap:9px;flex-wrap:wrap}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:25px}.stat-card{border:1px solid var(--line);border-radius:12px;padding:18px;background:rgba(15,23,39,.83)}.stat-card span,.stat-card small{display:block;color:var(--muted);font-size:10px}.stat-card strong{display:block;font-size:29px;margin:9px 0 4px;letter-spacing:-.04em}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:15px}.admin-tabs a{font-size:11px;padding:9px 13px;border-radius:8px;color:#9ba9c3;border:1px solid var(--line)}.admin-tabs a.active{color:var(--cyan);border-color:rgba(92,225,230,.4);background:rgba(92,225,230,.07)}.admin-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:rgba(15,23,39,.83)}.admin-table{width:100%;border-collapse:collapse;min-width:760px;text-align:left}.admin-table th{color:#8493af;font-size:10px;font-weight:500;background:rgba(255,255,255,.018)}.admin-table th,.admin-table td{padding:15px;border-bottom:1px solid rgba(153,178,220,.09);vertical-align:middle}.admin-table td{font-size:11px;color:#b4c0d6}.admin-table tr:last-child td{border-bottom:0}.admin-table td strong,.table-url,.table-desc{display:block}.admin-table td strong{font-size:12px;color:#e5edff}.table-url{font:9px "DM Mono",monospace;color:#5dcbd5;margin-top:5px;max-width:300px;overflow-wrap:anywhere}.table-desc{font-size:10px;color:#75849f;margin-top:5px;max-width:300px}.status{display:inline-block;padding:5px 7px;border-radius:5px;font-size:9px}.status.pending{color:#ffd18e;background:rgba(255,209,142,.09)}.status.approved{color:var(--green);background:rgba(131,239,195,.08)}.status.rejected{color:#ff9dab;background:rgba(255,139,156,.08)}.table-actions{display:flex;gap:5px;flex-wrap:wrap}.table-actions form{margin:0}.mini-button{border:1px solid var(--line);border-radius:6px;padding:6px 8px;background:#182237;color:#aab8d0;font-size:10px;cursor:pointer}.mini-button.good{color:var(--green);border-color:rgba(131,239,195,.22)}.mini-button.danger{color:#ff9dab;border-color:rgba(255,139,156,.22)}.table-empty{text-align:center;padding:35px!important;color:var(--muted)!important}.footer{max-width:1160px;margin:auto;border-top:1px solid var(--line);padding:22px 28px 30px;display:flex;justify-content:space-between;color:#5e6c86;font:9px "DM Mono",monospace;letter-spacing:.08em}
@media(max-width:850px){.content-grid{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:1fr 1fr;align-items:start}.note-panel{grid-column:1/-1}.hero{padding-top:58px}.stats-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.topbar{height:auto;min-height:72px;padding:15px 18px;align-items:flex-start;gap:15px}.brand{font-size:13px}.brand-mark{width:34px;height:34px}.topbar nav{gap:12px;flex-wrap:wrap;justify-content:flex-end;font-size:10px;padding-top:8px}.shell{padding:0 16px 55px}.hero{padding:50px 0 45px}.hero h1{font-size:39px}.hero-copy{font-size:12px}.searchbar{padding-left:12px;gap:8px}.searchbar button{padding:12px}.hero-meta{gap:12px;font-size:9px}.sidebar{grid-template-columns:1fr}.note-panel{grid-column:auto}.resource-card{gap:10px;padding:13px 11px}.resource-icon{width:37px;height:37px}.resource-title-line h3{font-size:12px}.resource-info p{font-size:10px}.resource-action{flex-direction:column;gap:7px}.section-head h2{font-size:18px}.form-panel{padding:20px 16px}.admin-header{align-items:flex-start;flex-direction:column}.stats-grid{gap:8px}.stat-card{padding:13px}.stat-card strong{font-size:24px}.footer{padding-left:18px;padding-right:18px;gap:15px;font-size:8px}}

/* TG星球品牌Logo */
.brand-logo {
  width: 44px;
  height: 44px;
  object-fit: contain;
  flex-shrink: 0;
  border-radius: 10px;
}

.brand {
  min-width: 0;
  gap: 10px;
}

.brand span {
  line-height: 1.35;
}

.brand small {
  font-size: 10px;
  letter-spacing: 0.04em;
}

/* 手机浏览器适配 */
@media (max-width: 600px) {
  .topbar {
    height: auto;
    min-height: 70px;
    padding: 12px 14px;
    gap: 12px;
  }

  .brand-logo {
    width: 36px;
    height: 36px;
  }

  .brand {
    gap: 8px;
    font-size: 13px;
  }

  .brand small {
    font-size: 9px;
    letter-spacing: 0;
  }

  .topbar nav {
    gap: 12px;
    font-size: 12px;
    flex-shrink: 0;
  }
}

/* ===== TG星球 TeleSphere 首页改版 ===== */

.hero {
  padding: 76px 24px 42px;
  text-align: center;
  max-width: 920px;
  margin: 0 auto;
}

.hero .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  border: 1px solid rgba(92, 225, 230, .24);
  border-radius: 999px;
  background: rgba(92, 225, 230, .06);
  color: #8be8ed;
  font-size: 11px;
  letter-spacing: .12em;
}

.hero h1 {
  margin: 25px 0 16px;
  font-size: clamp(32px, 5.2vw, 58px);
  line-height: 1.24;
  letter-spacing: -.045em;
}

.hero-copy {
  color: #9aa8c3;
  font-size: 15px;
  line-height: 1.9;
  margin: 0 auto 28px;
  max-width: 600px;
}

.searchbar {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  max-width: 700px;
  margin: 0 auto;
  padding: 8px;
  border: 1px solid rgba(135, 160, 200, .24);
  border-radius: 17px;
  background: rgba(15, 24, 42, .94);
  box-shadow: 0 18px 55px rgba(0, 0, 0, .18);
}

.search-icon {
  color: #7ce4e9;
  font-size: 25px;
  padding-left: 10px;
}

.searchbar input {
  flex: 1;
  min-width: 0;
  color: #edf4ff;
  border: 0;
  outline: 0;
  background: transparent;
  padding: 12px 0;
}

.searchbar input::placeholder {
  color: #7585a2;
}

.searchbar button {
  border: 0;
  border-radius: 11px;
  padding: 13px 22px;
  background: linear-gradient(135deg, #65e2e6, #8da8ff);
  color: #10182a;
  font-weight: 800;
  cursor: pointer;
}

.hero-meta {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin-top: 18px;
  color: #8494b0;
  font-size: 12px;
}

.hero-meta i,
.note-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 7px;
  border-radius: 50%;
  background: #63dfc1;
  box-shadow: 0 0 12px rgba(99, 223, 193, .55);
}

.quick-search {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 9px;
  margin: 30px auto 0;
}

.quick-label {
  color: #8797b4;
  font-size: 12px;
  margin-right: 4px;
}

.quick-chip {
  padding: 8px 12px;
  border: 1px solid rgba(135, 160, 200, .2);
  border-radius: 999px;
  background: rgba(25, 36, 58, .7);
  color: #c5d3e9;
  font-size: 12px;
  transition: border-color .2s, color .2s, transform .2s;
}

.quick-chip:hover {
  border-color: #63dce8;
  color: #63dce8;
  transform: translateY(-1px);
}

.directory-section,
.featured-section,
.all-categories-section {
  margin: 28px 0 54px;
}

.section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 22px;
}

.section-head h2,
.search-result-summary h2 {
  margin: 7px 0 0;
  font-size: clamp(22px, 3vw, 29px);
  letter-spacing: -.03em;
}

.kicker {
  color: #71dfe5;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
}

.muted {
  color: #8494b0;
  font-size: 12px;
}

.category-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 15px;
}

.category-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 158px;
  padding: 20px;
  overflow: hidden;
  border: 1px solid rgba(135, 160, 200, .17);
  border-radius: 17px;
  background: linear-gradient(145deg, rgba(25, 36, 58, .94), rgba(15, 23, 40, .94));
  transition: transform .2s, border-color .2s, box-shadow .2s;
}

.category-card:hover {
  transform: translateY(-3px);
  border-color: rgba(99, 220, 232, .52);
  box-shadow: 0 12px 35px rgba(0, 0, 0, .15);
}

.category-card-icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  margin-bottom: 15px;
  border-radius: 12px;
  background: rgba(92, 225, 230, .09);
  color: #75e3e8;
  font-size: 22px;
}

.category-card-name {
  color: #f0f5ff;
  font-size: 15px;
  font-weight: 800;
}

.category-card-desc {
  margin-top: 7px;
  color: #8999b5;
  font-size: 12px;
}

.category-card-arrow {
  position: absolute;
  right: 18px;
  top: 19px;
  color: #7586a5;
  font-size: 18px;
}

.featured-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 15px;
}

.featured-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 205px;
  padding: 20px;
  border: 1px solid rgba(135, 160, 200, .17);
  border-radius: 17px;
  background: linear-gradient(145deg, rgba(25, 36, 58, .9), rgba(13, 20, 35, .95));
  transition: border-color .2s, transform .2s;
}

.featured-card:hover {
  border-color: rgba(99, 220, 232, .5);
  transform: translateY(-2px);
}

.featured-top,
.featured-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.featured-number {
  color: #63dce8;
  font-size: 19px;
  font-weight: 800;
}

.featured-card h3 {
  margin: 20px 0 8px;
  overflow-wrap: anywhere;
  font-size: 17px;
}

.featured-card p {
  flex: 1;
  margin: 0 0 20px;
  color: #9aa8c3;
  font-size: 12px;
  line-height: 1.8;
}

.featured-bottom {
  padding-top: 13px;
  border-top: 1px solid rgba(135, 160, 200, .13);
  color: #91a1bd;
  font-size: 11px;
}

.featured-bottom span:last-child {
  color: #6cdee5;
}

.resource-category-section {
  margin-top: 28px;
  padding: 22px;
  border: 1px solid rgba(135, 160, 200, .17);
  border-radius: 19px;
  background: rgba(14, 22, 38, .62);
}

.resource-category-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}

.resource-category-heading h3 {
  margin: 6px 0 0;
  font-size: 21px;
}

.text-link {
  color: #69dfe6;
  font-size: 13px;
  white-space: nowrap;
}

.resource-list {
  display: grid;
  gap: 10px;
}

.resource-card {
  display: flex;
  align-items: center;
  gap: 15px;
  min-width: 0;
  padding: 16px;
  border: 1px solid rgba(135, 160, 200, .13);
  border-radius: 13px;
  background: rgba(25, 36, 58, .54);
  transition: border-color .2s, background .2s;
}

.resource-card:hover {
  border-color: rgba(99, 220, 232, .34);
  background: rgba(28, 43, 66, .8);
}

.resource-icon {
  display: grid;
  place-items: center;
  flex: 0 0 43px;
  width: 43px;
  height: 43px;
  border: 1px solid rgba(92, 225, 230, .18);
  border-radius: 13px;
  background: linear-gradient(145deg, rgba(92, 225, 230, .13), rgba(141, 168, 255, .12));
  color: #80e5ea;
  font-size: 18px;
  font-weight: 800;
}

.resource-info {
  flex: 1;
  min-width: 0;
}

.resource-title-line {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.resource-title-line h3 {
  margin: 0;
  overflow-wrap: anywhere;
  font-size: 14px;
}

.category-label {
  display: inline-block;
  padding: 4px 8px;
  border: 1px solid rgba(99, 220, 232, .19);
  border-radius: 6px;
  background: rgba(92, 225, 230, .07);
  color: #8bdfe6;
  font-size: 10px;
  white-space: nowrap;
}

.resource-info p {
  margin: 7px 0;
  color: #9aa8c3;
  font-size: 12px;
  line-height: 1.7;
  overflow-wrap: anywhere;
}

.tagline {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tagline span {
  color: #8394b1;
  font-size: 10px;
}

.resource-action {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

.click-count {
  color: #8595b0;
  font-size: 11px;
  white-space: nowrap;
}

.visit-link {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(99, 220, 232, .22);
  border-radius: 10px;
  color: #73dfe6;
  background: rgba(92, 225, 230, .06);
}

.visit-link:hover {
  background: rgba(92, 225, 230, .15);
}

.category-empty {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 20px 14px;
  border: 1px dashed rgba(135, 160, 200, .2);
  border-radius: 12px;
  color: #8595b0;
}

.category-empty > span {
  color: #67dce5;
  font-size: 22px;
}

.category-empty p {
  margin: 0;
  font-size: 13px;
}

.search-result-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 15px;
  margin: 15px 0 24px;
}

.search-result-summary + .resource-list {
  margin-bottom: 40px;
}

.bottom-submit-panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 65px 0 30px;
  padding: 42px 24px;
  border: 1px solid rgba(99, 220, 232, .2);
  border-radius: 22px;
  background: radial-gradient(ellipse at 50% 0, rgba(92, 225, 230, .1), transparent 65%), rgba(15, 24, 42, .8);
  text-align: center;
}

.bottom-submit-symbol {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  margin-bottom: 20px;
  border: 1px solid rgba(99, 220, 232, .25);
  border-radius: 17px;
  background: rgba(92, 225, 230, .08);
  color: #72e1e7;
  font-size: 30px;
}

.bottom-submit-panel h2 {
  margin: 12px 0;
  font-size: clamp(22px, 3vw, 30px);
}

.bottom-submit-panel > p {
  max-width: 580px;
  margin: 0 0 23px;
  color: #9aa8c3;
  font-size: 13px;
  line-height: 1.9;
}

.bottom-submit-panel .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: auto;
  min-width: 190px;
  padding: 14px 24px;
}

.review-note {
  margin-top: 18px;
  color: #7f8eaa;
  font-size: 11px;
}

.compact-empty {
  padding: 15px;
}

/* 平板适配 */
@media (max-width: 850px) {
  .category-grid,
  .featured-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hero {
    padding-top: 58px;
  }

  .resource-category-section {
    padding: 16px;
  }
}

/* 手机端与 iPhone Safari 适配 */
@media (max-width: 600px) {
  .hero {
    padding: 44px 4px 28px;
  }

  .hero h1 {
    font-size: clamp(29px, 8vw, 39px);
    margin-top: 22px;
  }

  .hero-copy {
    font-size: 13px;
  }

  .searchbar {
    gap: 7px;
    padding: 6px;
    border-radius: 13px;
  }

  .search-icon {
    padding-left: 5px;
    font-size: 21px;
  }

  .searchbar input {
    font-size: 13px;
  }

  .searchbar button {
    padding: 12px 13px;
    font-size: 12px;
    white-space: nowrap;
  }

  .hero-meta {
    gap: 8px 14px;
    font-size: 10px;
  }

  .quick-search {
    justify-content: flex-start;
    gap: 7px;
    margin-top: 23px;
  }

  .quick-label {
    width: 100%;
    text-align: left;
  }

  .quick-chip {
    padding: 7px 10px;
    font-size: 11px;
  }

  .directory-section,
  .featured-section,
  .all-categories-section {
    margin: 28px 0 38px;
  }

  .section-head {
    align-items: flex-start;
  }

  .section-head h2 {
    font-size: 22px;
  }

  .category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .category-card {
    min-height: 137px;
    padding: 14px;
    border-radius: 14px;
  }

  .category-card-icon {
    width: 34px;
    height: 34px;
    margin-bottom: 11px;
    font-size: 19px;
  }

  .category-card-name {
    font-size: 13px;
  }

  .category-card-desc {
    font-size: 10px;
    line-height: 1.6;
  }

  .category-card-arrow {
    top: 13px;
    right: 12px;
  }

  .featured-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .featured-card {
    min-height: 175px;
    padding: 17px;
  }

  .featured-card h3 {
    margin-top: 14px;
  }

  .resource-category-section {
    margin-top: 18px;
    padding: 12px;
    border-radius: 15px;
  }

  .resource-category-heading h3 {
    font-size: 18px;
  }

  .resource-card {
    align-items: flex-start;
    gap: 10px;
    padding: 12px 10px;
  }

  .resource-icon {
    flex-basis: 35px;
    width: 35px;
    height: 35px;
    border-radius: 10px;
    font-size: 15px;
  }

  .resource-title-line h3 {
    font-size: 13px;
  }

  .resource-info p {
    font-size: 11px;
  }

  .resource-action {
    flex-direction: column;
    gap: 6px;
  }

  .click-count {
    font-size: 9px;
  }

  .visit-link {
    width: 29px;
    height: 29px;
  }

  .category-label {
    font-size: 9px;
  }

  .bottom-submit-panel {
    margin-top: 42px;
    padding: 32px 17px;
    border-radius: 17px;
  }

  .bottom-submit-panel h2 {
    font-size: 22px;
  }

  .bottom-submit-panel > p {
    font-size: 12px;
  }

  .search-result-summary {
    align-items: flex-start;
  }
}
