
:root {
  --bg: #f7f5f0;
  --surface: #f0ede6;
  --card: #eae7df;
  --border: rgba(52,211,153,0.15);
  --border2: rgba(52,211,153,0.08);
  --cyan: #34d399;
  --cyan2: #22d3ee;
  --violet: #a78bfa;
  --gold: #f59e0b;
  --rose: #f472b6;
  --text: #1a2e22;
  --text2: #2d4a38;
  --muted: #6b8f7a;
  --muted2: #9ab5a4;
  --sidebar-w: 240px;
  --topbar-h: 56px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html,body{height:100%;overflow:hidden;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:'Noto Sans SC',sans-serif;
  display:flex;flex-direction:column;
}
body::before{
  content:'';position:fixed;inset:0;
  background-image:
    linear-gradient(rgba(52,211,153,0.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(52,211,153,0.03) 1px,transparent 1px);
  background-size:48px 48px;
  pointer-events:none;z-index:0;
}

/* ══ TOPBAR ══ */
.topbar{
  position:relative;z-index:200;
  height:var(--topbar-h);flex-shrink:0;
  display:flex;align-items:center;
  justify-content:space-between;
  background:rgba(247,245,240,0.97);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
  padding:0 20px 0 0;
}
.topbar::after{
  content:'';position:absolute;
  bottom:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--cyan),var(--cyan2),var(--violet),transparent);
  opacity:0.4;
}
.topbar-left{
  width:var(--sidebar-w);
  display:flex;align-items:center;
  padding:0 14px;height:100%;
  border-right:1px solid var(--border);
  flex-shrink:0;
  position:relative;
  z-index:2;
}
.logo-wrap{
  display:flex;align-items:center;
  gap:8px;cursor:pointer;
  text-decoration:none;
  position:relative;
  transition:transform .2s,filter .2s;
  border-radius:10px;
  padding:4px 6px;
}
.logo-wrap:hover{
  transform:scale(1.03);
  filter:drop-shadow(0 0 8px rgba(52,211,153,0.4));
}
.logo-pulse{
  position:absolute;
  bottom:2px;right:2px;
  width:8px;height:8px;
  background:#34d399;
  border-radius:50%;
  animation:logoPulse 2s ease-in-out infinite;
}
@keyframes logoPulse{
  0%,100%{transform:scale(1);opacity:1;box-shadow:0 0 0 0 rgba(52,211,153,0.6);}
  50%{transform:scale(1.2);opacity:0.9;box-shadow:0 0 0 6px rgba(52,211,153,0);}
}
@keyframes commPulse{
  0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(225,29,72,0.7);}
  50%{transform:scale(1.15);box-shadow:0 0 0 6px rgba(225,29,72,0);}
}
.logo-img{
  width:40px;height:40px;
  object-fit:contain;
  border-radius:50%;
  flex-shrink:0;
}
.logo-text{
  font-family:'DM Mono',monospace;
  font-size:20px;font-weight:700;
  color:var(--text);letter-spacing:-0.5px;
}
.logo-text .ai{
  background:linear-gradient(135deg,var(--cyan),var(--cyan2));
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}
.topbar-nav{
  display:flex;gap:0;
  position:absolute;left:50%;
  transform:translateX(-50%);
  max-width:calc(100vw - var(--sidebar-w) - 260px);
  overflow:hidden;
  white-space:nowrap;
  z-index:1;
}
.topbar-nav .tnav{white-space:nowrap;}
.tnav{
  background:none;border:none;
  padding:8px 29px;
  font-family:'DM Mono',monospace;
  font-size:18.7px;font-weight:500;
  letter-spacing:1.5px;text-transform:uppercase;
  color:#1a2e22;cursor:pointer;
  transition:color .2s;position:relative;
}
.tnav::after{
  content:'';position:absolute;
  bottom:-1px;left:24px;right:24px;
  height:2px;
  background:linear-gradient(90deg,var(--cyan),var(--cyan2));
  transform:scaleX(0);transition:transform .3s;
  border-radius:2px;
}
.tnav:hover{color:var(--text2);}
.tnav.active{color:var(--cyan);}
.tnav.active::after{transform:scaleX(1);}
.topbar-right{
  display:flex;align-items:center;gap:8px;
}
.lang-toggle{
  display:flex;align-items:center;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:20px;overflow:hidden;
}
.topbar .lang-toggle{display:none!important;}
.px-translate-wrap{position:relative;display:flex;align-items:center;z-index:9600;pointer-events:auto;}
.px-translate-btn{height:34px;border:1px solid rgba(15,118,110,.16);background:rgba(255,255,255,.78);color:var(--text2);border-radius:999px;padding:0 11px;display:inline-flex;align-items:center;gap:7px;font:800 11px/1 'DM Mono',monospace;letter-spacing:.02em;cursor:pointer;box-shadow:0 8px 22px rgba(26,46,34,.05);}
.px-translate-menu{display:none;position:absolute;right:0;top:42px;width:286px;max-height:min(74vh,560px);overflow:auto;background:#fff;border:1px solid rgba(15,118,110,.14);border-radius:12px;box-shadow:0 18px 42px rgba(15,23,42,.14);padding:8px;z-index:10020;pointer-events:auto;}
.px-translate-menu.show{display:block;}
.lang-opt{
  padding:5px 12px;
  font-family:'DM Mono',monospace;
  font-size:10px;letter-spacing:1px;
  color:var(--muted);cursor:pointer;
  border:none;background:none;
  transition:all .2s;
}
.lang-opt.active{
  background:var(--cyan);
  color:#fff;border-radius:20px;
}
.signin-btn{
  background:transparent;
  border:1px solid var(--cyan);
  padding:6px 18px;
  font-family:'DM Mono',monospace;
  font-size:10px;letter-spacing:2px;
  text-transform:uppercase;
  color:var(--cyan);cursor:pointer;
  transition:all .2s;border-radius:4px;
}
.signin-btn:hover{background:var(--cyan);color:#fff;}

/* ══ LAYOUT ══ */
.main-layout{
  display:flex;flex:1;
  overflow:hidden;position:relative;z-index:1;
}

/* ══ SIDEBAR ══ */
.sidebar{
  width:var(--sidebar-w);flex-shrink:0;
  background:rgba(240,237,230,0.95);
  border-right:1px solid var(--border);
  display:flex;flex-direction:column;
  overflow:hidden;
}
.sidebar-top{
  padding:12px 10px 8px;
  display:flex;flex-direction:column;gap:6px;
}
.new-chat-btn{
  display:flex;align-items:center;gap:8px;
  padding:10px 14px;
  background:rgba(52,211,153,0.1);
  border:1px solid rgba(52,211,153,0.25);
  border-radius:10px;
  color:var(--cyan);cursor:pointer;
  font-family:'DM Mono',monospace;
  font-size:12px;letter-spacing:0.5px;
  font-weight:500;
  transition:all .2s;width:100%;text-align:left;
}
.new-chat-btn:hover{
  background:rgba(52,211,153,0.18);
  border-color:rgba(52,211,153,0.4);
}
.comm-nav-btn{
  position:relative;
  overflow:hidden;
  animation:commBtnPulse 2s ease-in-out infinite !important;
}
.comm-nav-btn::before{
  content:'';
  position:absolute;
  left:0;top:0;bottom:0;
  width:3px;
  background:linear-gradient(180deg,#34d399,#22d3ee);
  border-radius:0 2px 2px 0;
  animation:commBarGlow 2s ease-in-out infinite;
}
@keyframes commBtnPulse{
  0%,100%{
    background:rgba(52,211,153,0.08)!important;
    border-color:rgba(52,211,153,0.25)!important;
    box-shadow:0 0 0 0 rgba(52,211,153,0);
    transform:scale(1);
  }
  50%{
    background:rgba(52,211,153,0.18)!important;
    border-color:rgba(52,211,153,0.5)!important;
    box-shadow:0 0 12px rgba(52,211,153,0.3);
    transform:scale(1.01);
  }
}
@keyframes commBarGlow{
  0%,100%{opacity:0.5;box-shadow:0 0 4px rgba(52,211,153,0.3);}
  50%{opacity:1;box-shadow:0 0 12px rgba(52,211,153,0.8);}
}
.search-wrap{
  display:flex;align-items:center;gap:8px;
  padding:8px 12px;
  background:rgba(255,255,255,0.5);
  border:1px solid var(--border);
  border-radius:8px;
}
.search-wrap input{
  background:none;border:none;outline:none;
  color:var(--text);width:100%;
  font-family:'Noto Sans SC',sans-serif;
  font-size:12px;
}
.search-wrap input::placeholder{color:var(--muted2);}
.search-ico{color:var(--muted2);font-size:13px;}
.sidebar-section{
  padding:12px 10px 4px;
  flex:1;
  overflow-y:auto;
  min-height:0;
  scrollbar-width:thin;
  scrollbar-color:rgba(52,211,153,0.2) transparent;
}
.section-label{
  font-family:'DM Mono',monospace;
  font-size:9px;letter-spacing:3px;
  text-transform:uppercase;
  color:var(--muted2);margin-bottom:6px;
  padding-left:4px;
}
.recent-item{
  display:flex;align-items:center;gap:8px;
  padding:7px 10px;
  color:var(--muted);font-size:12px;
  cursor:pointer;transition:all .2s;
  border-radius:8px;
  border-left:2px solid transparent;
  white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis;
}
.recent-item:hover{
  color:var(--text);
  background:rgba(52,211,153,0.08);
  border-left-color:var(--cyan);
}
.sidebar-bottom{
  flex-shrink:0;
  padding:10px;
  border-top:1px solid var(--border);
}
.sidebar-footer-btn{
  display:flex;align-items:center;gap:8px;
  padding:8px 10px;color:var(--muted);
  font-size:12px;cursor:pointer;
  transition:all .2s;border-radius:8px;
  width:100%;border:none;background:none;
  text-align:left;
}
.sidebar-footer-btn:hover{
  color:var(--text);
  background:rgba(52,211,153,0.06);
}

/* ══ CONTENT ══ */
.content{flex:1;overflow:hidden;display:flex;flex-direction:column;}
.page{display:none;flex:1;flex-direction:column;overflow:hidden;}
.page.active{display:flex;}

#searchResults {
  --arrow-left: 340px;
}
#searchResults::before {
  content: '';
  position: absolute;
  top: -8px;
  left: var(--arrow-left, 340px);
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 8px solid var(--border);
  pointer-events: none;
}
#searchResults::after {
  content: '';
  position: absolute;
  top: -7px;
  left: var(--arrow-left, 340px);
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 8px solid #fff;
  pointer-events: none;
}


/* ══ HOME PAGE ══ */
#homePage{overflow-y:auto;}
#homePage::-webkit-scrollbar{width:4px;}
#homePage::-webkit-scrollbar-thumb{background:rgba(52,211,153,0.2);border-radius:2px;}

/* HERO */
.hero{
  padding:48px 52px 40px;
  position:relative;overflow:hidden;
  border-bottom:1px solid var(--border);
  background:linear-gradient(135deg,rgba(52,211,153,0.04) 0%,transparent 60%);
}
.hero::before{
  content:'';position:absolute;
  top:-80px;right:-60px;
  width:400px;height:400px;
  background:radial-gradient(circle,rgba(52,211,153,0.06) 0%,transparent 70%);
  pointer-events:none;
}
.hero::after{
  content:'';position:absolute;
  bottom:-60px;left:20%;
  width:300px;height:300px;
  background:radial-gradient(circle,rgba(167,139,250,0.05) 0%,transparent 70%);
  pointer-events:none;
}
.hero-tag{
  font-family:'DM Mono',monospace;
  font-size:10px;letter-spacing:4px;
  text-transform:uppercase;color:var(--cyan);
  margin-bottom:18px;
  display:flex;align-items:center;gap:10px;
}
.hero-tag::before{content:'';width:28px;height:1px;background:var(--cyan);}
.hero-title-en{
  font-family:'DM Serif Display',serif;
  font-size:clamp(32px,4vw,54px);
  line-height:1.1;letter-spacing:-1px;
  color:var(--text);margin-bottom:8px;
}
.hero-title-en em{
  font-style:italic;
  background:linear-gradient(135deg,var(--cyan),var(--cyan2));
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}
.hero-title-zh{
  font-size:clamp(14px,1.8vw,18px);
  color:var(--muted);font-weight:300;
  letter-spacing:2px;margin-bottom:24px;
  line-height:1.7;
}
.hero-desc{
  max-width:680px;
  padding:16px 20px;
  background:rgba(255,255,255,0.5);
  border-left:3px solid var(--cyan);
  border-radius:0 8px 8px 0;
  margin-bottom:32px;
}
.hero-desc-en{
  font-size:14px;line-height:1.8;
  color:var(--text2);margin-bottom:8px;
}
.hero-desc-zh{
  font-size:12px;line-height:1.8;
  color:var(--muted);
}
.hero-stats{
  display:flex;gap:40px;flex-wrap:wrap;
  margin-bottom:28px;
}
.stat{border-left:2px solid var(--border);padding-left:16px;}
.stat-num{
  font-family:'DM Mono',monospace;
  font-size:26px;font-weight:700;
  color:var(--cyan);display:block;line-height:1;
}
.stat-en{font-size:11px;color:var(--muted);margin-top:3px;}
.stat-zh{font-size:10px;color:var(--muted2);}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap;}
.btn-primary{
  background:linear-gradient(135deg,var(--cyan),var(--cyan2));
  border:none;padding:11px 28px;
  font-family:'DM Mono',monospace;
  font-size:12px;letter-spacing:1.5px;
  text-transform:uppercase;
  color:#fff;cursor:pointer;
  transition:all .25s;border-radius:6px;
  font-weight:500;
  box-shadow:0 4px 15px rgba(52,211,153,0.25);
}
.btn-primary:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 20px rgba(52,211,153,0.35);
}
.btn-ghost{
  background:transparent;
  border:1px solid var(--border);
  padding:11px 28px;
  font-family:'DM Mono',monospace;
  font-size:12px;letter-spacing:1.5px;
  text-transform:uppercase;
  color:var(--muted);cursor:pointer;
  transition:all .25s;border-radius:6px;
}
.btn-ghost:hover{
  border-color:var(--cyan);color:var(--cyan);
  background:rgba(52,211,153,0.05);
}

/* MISSION */
.mission{
  padding:40px 52px;
  background:rgba(255,255,255,0.3);
  border-bottom:1px solid var(--border);
}
.mission-inner{
  max-width:900px;
  display:grid;grid-template-columns:1fr 1.2fr;
  gap:48px;align-items:center;
}
.mission-tag{
  font-family:'DM Mono',monospace;
  font-size:9px;letter-spacing:4px;
  text-transform:uppercase;color:var(--violet);
  margin-bottom:14px;
  display:flex;align-items:center;gap:8px;
}
.mission-tag::before{content:'';width:20px;height:1px;background:var(--violet);}
.mission-title-en{
  font-family:'DM Serif Display',serif;
  font-size:clamp(24px,2.8vw,36px);
  color:var(--text);line-height:1.15;
  margin-bottom:6px;
}
.mission-title-zh{
  font-size:13px;color:var(--muted);
  letter-spacing:2px;margin-bottom:18px;
}
.mission-body-en{
  font-size:13px;line-height:1.9;
  color:var(--text2);margin-bottom:8px;
}
.mission-body-zh{
  font-size:12px;line-height:1.8;color:var(--muted);
}
.mission-pillars{display:flex;flex-direction:column;gap:7px;}
.pillar{
  padding:10px 11px;
  background:rgba(255,255,255,0.6);
  border:1px solid var(--border);
  border-radius:10px;transition:all .2s;
}
.pillar:hover{
  border-color:rgba(52,211,153,0.3);
  background:rgba(255,255,255,0.9);
  transform:translateX(4px);
}
.pillar-head{display:flex;align-items:center;gap:8px;margin-bottom:4px;}
.pillar-dot{
  width:7px;height:7px;border-radius:50%;
  background:var(--p-color,var(--cyan));flex-shrink:0;
}
.pillar-title-en{font-size:13px;font-weight:600;color:var(--text);}
.pillar-title-zh{font-size:11px;color:var(--muted);margin-left:15px;margin-bottom:4px;}
.pillar-desc-en{font-size:12px;color:var(--muted);line-height:1.6;padding-left:15px;}

/* MODULES */
.modules{
  display:grid;grid-template-columns:repeat(4,1fr);
  border-bottom:1px solid var(--border);
  background:var(--border);gap:1px;
}
.module{
  background:var(--bg);
  padding:24px 20px;cursor:pointer;
  transition:background .2s;position:relative;
  overflow:hidden;
}
.module::after{
  content:'';position:absolute;
  bottom:0;left:0;right:0;height:2px;
  background:var(--m-color,var(--cyan));
  transform:scaleX(0);transform-origin:left;
  transition:transform .3s;
}
.module:hover{background:var(--surface);}
.module:hover::after{transform:scaleX(1);}
.module-icon{font-size:26px;margin-bottom:12px;display:block;}
.module-title-en{font-size:13px;font-weight:700;color:var(--text);margin-bottom:2px;}
.module-title-zh{font-size:11px;color:var(--muted);margin-bottom:8px;letter-spacing:1px;}
.module-desc{font-size:11px;color:var(--muted2);line-height:1.6;}

/* NEWS */
.news-section{padding:36px 52px;}
.news-header{
  display:flex;align-items:center;
  justify-content:space-between;margin-bottom:20px;
}
.news-title-en{
  font-family:'DM Serif Display',serif;
  font-size:22px;color:var(--text);
}
.news-title-zh{font-size:12px;color:var(--muted);margin-top:2px;}
.news-refresh{
  font-family:'DM Mono',monospace;
  font-size:10px;letter-spacing:1px;
  color:var(--muted);cursor:pointer;
  background:none;border:1px solid var(--border);
  padding:5px 12px;border-radius:4px;
  transition:all .2s;
}
.news-refresh:hover{color:var(--cyan);border-color:rgba(52,211,153,0.3);}
.news-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.news-card{
  background:rgba(255,255,255,0.6);
  border:1px solid var(--border);
  border-radius:10px;padding:16px;
  cursor:pointer;transition:all .2s;
  position:relative;overflow:hidden;
}
.news-card:hover{
  border-color:rgba(52,211,153,0.3);
  background:rgba(255,255,255,0.9);
  transform:translateY(-2px);
  box-shadow:0 4px 20px rgba(52,211,153,0.1);
}
.news-card.ad-slot{
  border:1px dashed rgba(251,159,0,0.3);
  background:rgba(251,159,0,0.03);
  display:flex;align-items:center;
  justify-content:center;flex-direction:column;
  gap:8px;min-height:120px;
}
.ad-label{
  font-family:'DM Mono',monospace;
  font-size:9px;letter-spacing:2px;
  text-transform:uppercase;color:var(--gold);
}
.news-source{
  font-family:'DM Mono',monospace;
  font-size:9px;letter-spacing:1px;
  text-transform:uppercase;
  color:var(--cyan);margin-bottom:6px;
  display:flex;align-items:center;gap:6px;
}
.news-card-title{
  font-size:13px;font-weight:600;
  color:var(--text);line-height:1.5;
  margin-bottom:6px;
}
.news-card-desc{
  font-size:11px;color:var(--muted);
  line-height:1.6;margin-bottom:8px;
}
.news-meta{
  font-family:'DM Mono',monospace;
  font-size:9px;color:var(--muted2);
  display:flex;justify-content:space-between;
}
.news-loading{
  grid-column:1/-1;
  text-align:center;padding:40px;
  color:var(--muted);font-size:13px;
}

/* CTA STRIP */
.cta-strip{
  margin:0 52px 40px;
  padding:28px 32px;
  background:linear-gradient(135deg,rgba(52,211,153,0.06),rgba(34,211,238,0.04));
  border:1px solid var(--border);
  border-radius:14px;
  display:flex;align-items:center;
  justify-content:space-between;flex-wrap:wrap;gap:16px;
}
.cta-text-en{
  font-family:'DM Serif Display',serif;
  font-size:20px;color:var(--text);margin-bottom:4px;
}
.cta-text-zh{font-size:12px;color:var(--muted);}
.cta-actions{display:flex;align-items:center;gap:14px;margin-left:auto;}
.cta-btns{display:flex;gap:10px;}
.cta-legal-box{
  display:flex;align-items:center;gap:4px;
  padding:4px;
  background:rgba(255,255,255,0.72);
  border:1px solid rgba(52,211,153,0.2);
  border-radius:10px;
  box-shadow:0 8px 24px rgba(26,46,34,0.07);
  position:relative;
}
.cta-icon-btn,.cta-legal-menu summary{
  width:32px;height:32px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid transparent;
  border-radius:8px;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
  transition:all .2s;
  list-style:none;
}
.cta-icon-btn:hover,.cta-legal-menu summary:hover{
  color:var(--cyan);
  background:rgba(52,211,153,0.08);
  border-color:rgba(52,211,153,0.18);
}
.cta-legal-menu{position:relative;}
.cta-legal-menu summary::-webkit-details-marker{display:none;}
.cta-legal-pop{
  position:absolute;right:0;bottom:40px;
  min-width:126px;
  padding:6px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:10px;
  box-shadow:0 12px 34px rgba(26,46,34,0.14);
  display:flex;flex-direction:column;gap:2px;
  z-index:5;
}
.cta-legal-pop a{
  padding:8px 10px;
  border-radius:7px;
  color:var(--muted);
  text-decoration:none;
  font-family:'DM Mono',monospace;
  font-size:10px;
  letter-spacing:.4px;
}
.cta-legal-pop a:hover{background:rgba(52,211,153,0.08);color:var(--cyan);}


/* ══ AI PAGE ══ */
#aiPage{overflow:hidden;}
.ai-layout{display:flex;flex:1;overflow:hidden;}
.chat-main{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative;}
.chat-messages{
  flex:1;overflow-y:auto;padding:24px 0;
  scroll-behavior:smooth;
}
.chat-messages::-webkit-scrollbar{width:4px;}
.chat-messages::-webkit-scrollbar-thumb{background:rgba(52,211,153,0.2);border-radius:2px;}
.msg-wrap{max-width:860px;margin:0 auto 0 83px;padding:0 32px 18px 24px;}
.msg-collapsible{position:relative;max-height:300px;overflow:hidden;transition:max-height .3s ease;}
.msg-collapsible.expanded{max-height:none;}
.msg-fade{position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(transparent,rgba(247,245,240,0.95));pointer-events:none;}
.msg-read-more{display:block;text-align:center;padding:6px 0 2px;font-size:11px;color:var(--cyan);cursor:pointer;font-family:'DM Mono',monospace;letter-spacing:0.5px;}
.msg-read-more:hover{text-decoration:underline;}
.msg-user{display:flex;flex-direction:column;align-items:flex-end;}
.attach-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;background:rgba(52,211,153,0.12);border:1px solid rgba(52,211,153,0.3);border-radius:12px;font-size:12px;color:var(--cyan);cursor:pointer!important;text-decoration:none;margin-bottom:4px;user-select:none;max-width:240px;min-width:0;overflow:hidden;}
.attach-chip:hover{background:rgba(52,211,153,0.2);}
.attach-chip img{width:44px;height:44px;border-radius:8px;object-fit:cover;background:#fff;}
.attach-chip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.msg-user-files{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin-bottom:6px;max-width:75%;}
.msg-user-bubble{
  background:rgba(52,211,153,0.1);
  border:1px solid rgba(52,211,153,0.2);
  border-radius:18px 18px 4px 18px;
  padding:12px 18px;max-width:75%;
  font-size:14px;line-height:1.7;color:var(--text);
}
.msg-ai-row{display:flex;gap:12px;align-items:flex-start;}
.ai-ava{
  width:34px;height:34px;flex-shrink:0;
  border-radius:50%;overflow:hidden;
  border:1px solid rgba(52,211,153,0.2);
  background:var(--surface);
}
.ai-ava img{width:100%;height:100%;object-fit:contain;}
.ai-bubble-wrap{flex:1;}
.ai-bubble-name{
  font-family:'DM Mono',monospace;
  font-size:10px;letter-spacing:2px;
  text-transform:uppercase;
  color:var(--cyan);margin-bottom:6px;
}
.ai-bubble{
  background:rgba(255,255,255,0.7);
  border:1px solid var(--border);
  border-radius:4px 18px 18px 18px;
  padding:14px 18px;
}
.ai-text{
  font-size:14px;line-height:1.8;color:var(--text);
}
.ai-text strong{color:var(--text);font-weight:600;}

/* LITERATURE */
.lit-section{
  margin-top:14px;
  background:rgba(52,211,153,0.03);
  border:1px solid var(--border);
  border-radius:10px;padding:12px 16px;
}
.lit-title{
  font-family:'DM Mono',monospace;
  font-size:9px;letter-spacing:2px;
  text-transform:uppercase;color:var(--cyan);
  margin-bottom:10px;
  display:flex;align-items:center;gap:6px;
}
.lit-item{
  padding:8px 0;
  border-bottom:1px solid var(--border2);
  cursor:pointer;transition:all .2s;
}
.lit-item:last-child{border-bottom:none;}
.lit-item:hover{padding-left:6px;}
.lit-item-title{
  font-size:12px;font-weight:600;
  color:var(--text2);line-height:1.5;margin-bottom:3px;
}
.lit-item-meta{
  font-family:'DM Mono',monospace;
  font-size:9px;color:var(--muted2);
  display:flex;gap:10px;
}
.lit-open{color:var(--cyan);}

/* AI THINKING */
.typing{display:inline-flex;gap:4px;align-items:center;padding:4px 0;}
.typing span{width:6px;height:6px;border-radius:50%;background:var(--cyan);opacity:.3;animation:typePulse 1.2s infinite;}
.typing span:nth-child(2){animation-delay:.2s;}
.typing span:nth-child(3){animation-delay:.4s;}
@keyframes typePulse{0%,100%{opacity:.2;transform:scale(.8);}50%{opacity:1;transform:scale(1.1);}}
.ai-thinking{
  display:inline-flex;align-items:center;gap:10px;
  min-height:36px;padding:8px 12px;border-radius:999px;
  border:1px solid rgba(16,185,129,.18);
  background:linear-gradient(90deg,rgba(236,253,245,.96),rgba(255,255,255,.98),rgba(236,253,245,.96));
  background-size:220% 100%;
  color:#0f766e;font-size:12px;font-weight:900;
  box-shadow:0 10px 24px rgba(15,118,110,.08);
  animation:aiThinkingGlow 1.8s ease-in-out infinite;
}
.ai-thinking-dot{
  display:none;
}
.ai-thinking-star{
  width:22px;height:22px;position:relative;display:inline-block;flex:0 0 22px;
  color:#0f8f68;
  animation:aiThinkingStarSpin 1.4s linear infinite;
}
.ai-thinking-star:before{
  content:"\2726";position:absolute;left:2px;top:-1px;
  font-size:18px;line-height:1;color:#0f8f68;
  text-shadow:0 0 10px rgba(52,211,153,.58);
}
.ai-thinking-star:after{
  content:"\2727";position:absolute;right:0;bottom:1px;
  font-size:10px;line-height:1;color:#34d399;
  animation:aiThinkingStarTwinkle .9s ease-in-out infinite;
}
.ai-thinking-wave{display:inline-flex;gap:3px;align-items:flex-end;height:14px;}
.ai-thinking-wave i{display:block;width:3px;border-radius:999px;background:#10b981;animation:aiThinkingWave .9s ease-in-out infinite;}
.ai-thinking-wave i:nth-child(1){height:6px;}
.ai-thinking-wave i:nth-child(2){height:11px;animation-delay:.12s;}
.ai-thinking-wave i:nth-child(3){height:8px;animation-delay:.24s;}
@keyframes aiThinkingSpin{to{transform:rotate(360deg);}}
@keyframes aiThinkingStarSpin{to{transform:rotate(360deg);}}
@keyframes aiThinkingStarTwinkle{0%,100%{opacity:.45;transform:scale(.78);}50%{opacity:1;transform:scale(1.18);}}
@keyframes aiThinkingGlow{0%,100%{background-position:0 0;}50%{background-position:100% 0;}}
@keyframes aiThinkingWave{0%,100%{transform:scaleY(.7);opacity:.55;}50%{transform:scaleY(1.15);opacity:1;}}

/* INPUT BAR */
.input-bar{
  flex-shrink:0;
  border-top:1px solid var(--border);
  background:rgba(240,237,230,0.98);
  padding:12px 24px 16px;
}
.input-inner{max-width:860px;margin:0 auto 0 83px;}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px;}
.chip{
  background:rgba(255,255,255,0.7);
  border:1px solid var(--border);
  border-radius:20px;padding:5px 14px;
  font-size:11px;color:var(--muted);
  cursor:pointer;transition:all .2s;white-space:nowrap;
}
.chip:hover{border-color:rgba(52,211,153,0.4);color:var(--cyan);}
.ai-attach-preview{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 8px 52px;min-height:0;}
.ai-attach-preview.hidden{display:none;}
.ai-attach-chip{position:relative;display:grid;grid-template-columns:42px minmax(0,130px) 18px;align-items:center;gap:8px;max-width:220px;min-width:0;padding:6px 8px;border:1px solid rgba(15,143,104,.18);border-radius:12px;background:rgba(255,255,255,.82);box-shadow:0 8px 20px rgba(15,23,42,.05);font-size:12px;color:var(--text);overflow:hidden;}
.ai-attach-chip.is-uploading{opacity:.72;}
.ai-attach-chip.is-error{border-color:rgba(225,29,72,.45);background:#fff5f7;}
.ai-attach-thumb{width:42px;height:42px;border-radius:9px;display:grid;place-items:center;overflow:hidden;background:rgba(52,211,153,.1);color:var(--cyan);font-weight:800;font-size:11px;text-transform:uppercase;}
.ai-attach-thumb img{width:100%;height:100%;object-fit:cover;}
.ai-attach-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;}
.ai-attach-meta{display:block;color:var(--muted);font-size:10px;font-weight:500;margin-top:2px;}
.ai-attach-remove{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:18px;line-height:1;}
.input-row{display:flex;align-items:center;gap:8px;}
.attach-btn{
  background:rgba(255,255,255,0.7);
  border:1px solid var(--border);
  border-radius:10px;
  width:44px;height:44px;flex-shrink:0;
  display:flex;align-items:center;
  justify-content:center;
  cursor:pointer;color:var(--muted);
  font-size:18px;transition:all .2s;
}
.attach-btn:hover{border-color:rgba(52,211,153,0.4);color:var(--cyan);}
.msg-input{
  flex:1;
  background:rgba(255,255,255,0.8);
  border:1px solid var(--border);
  border-radius:14px;
  padding:11px 16px;
  font-family:'Noto Sans SC',sans-serif;
  font-size:14px;color:var(--text);
  resize:none;outline:none;
  min-height:132px;max-height:264px;
  line-height:1.55;transition:border-color .2s,height .12s ease;
  overflow-y:hidden;
}
.msg-input:focus{border-color:rgba(52,211,153,0.4);}
.msg-input::placeholder{color:var(--muted2);}
.send-btn{
  background:linear-gradient(135deg,var(--cyan),var(--cyan2));
  border:none;border-radius:10px;
  padding:0 20px;height:44px;
  font-family:'DM Mono',monospace;
  font-size:12px;letter-spacing:1px;
  color:#fff;cursor:pointer;
  transition:all .2s;flex-shrink:0;
  display:flex;align-items:center;gap:6px;
  box-shadow:0 4px 12px rgba(52,211,153,0.25);
}
.send-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 16px rgba(52,211,153,0.35);
}
.send-btn:disabled{
  background:var(--muted2);
  box-shadow:none;cursor:not-allowed;
  transform:none;
}
.input-hint{
  font-family:'DM Mono',monospace;
  font-size:9px;letter-spacing:1px;
  color:var(--muted2);margin-top:8px;
  text-align:center;
}
#aiPage .input-inner.ai-input-is-collapsed .input-hint{display:none!important;}

@media (min-width:769px){
  #aiPage .chat-messages{
    padding:34px 24px 190px;
  }
  #aiPage .msg-wrap{
    max-width:940px;
    margin:0 auto;
    padding:0 24px 18px;
  }
  #aiPage .mw{
    max-width:940px;
    margin:0 auto;
    padding:0 24px 18px;
  }
  #aiPage .mar{
    display:flex;
    gap:12px;
    align-items:flex-start;
  }
  #aiPage .aava{
    width:34px;
    height:34px;
    flex:0 0 auto;
    border-radius:50%;
    overflow:hidden;
    border:1px solid rgba(52,211,153,.2);
    background:var(--surface);
  }
  #aiPage .aava img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
  }
  #aiPage .abw{
    flex:1;
    min-width:0;
  }
  #aiPage .anm{
    font-family:'DM Mono',monospace;
    font-size:10px;
    letter-spacing:2px;
    text-transform:uppercase;
    color:var(--cyan);
    margin-bottom:6px;
  }
  #aiPage .ai-bubble{
    border-radius:18px;
    padding:18px 20px;
    background:rgba(255,255,255,.82);
    box-shadow:0 18px 46px rgba(15,23,42,.06);
  }
  #aiPage .ab{
    border-radius:18px;
    padding:18px 20px;
    background:rgba(255,255,255,.82);
    border:1px solid var(--border);
    box-shadow:0 18px 46px rgba(15,23,42,.06);
  }
  #aiPage .ai-text{
    font-size:15px;
    line-height:1.8;
  }
  #aiPage .at{
    font-size:15px;
    line-height:1.8;
    color:var(--text);
  }
  #aiPage .input-bar{
    padding:16px 24px 20px;
  }
  #aiPage .input-inner{
    max-width:960px;
    margin:0 auto;
  }
  #aiPage .input-row{
    align-items:flex-end;
  }
  #aiPage .msg-input{
    min-height:96px;
    max-height:220px;
    border-radius:16px;
  }
}

/* ══ COMMUNITY PAGE ══ */
#communityPage{overflow:hidden;}
.community-layout{position:relative;display:flex;flex:1;overflow:hidden;}
.community-main{flex:1;overflow-y:auto;padding:28px 32px;}
.community-main::-webkit-scrollbar{width:4px;}
.community-main::-webkit-scrollbar-thumb{background:rgba(52,211,153,0.2);border-radius:2px;}
.comm-tabs{
  display:flex;gap:2px;
  border-bottom:1px solid var(--border);
  margin-bottom:24px;
  flex-wrap:wrap;
}
.ctab{
  background:none;border:none;
  padding:10px 18px;
  font-family:'DM Mono',monospace;
  font-size:11px;letter-spacing:1px;
  text-transform:uppercase;
  color:var(--muted);cursor:pointer;
  border-bottom:2px solid transparent;
  margin-bottom:-1px;transition:all .2s;
}
.ctab.active{color:var(--cyan);border-bottom-color:var(--cyan);}
.ctab:hover{color:var(--text2);}
.comm-new-btn{
  margin-left:auto;
  background:transparent;
  border:1px solid var(--cyan);
  border-radius:6px;
  padding:7px 16px;
  font-family:'DM Mono',monospace;
  font-size:10px;letter-spacing:1.5px;
  text-transform:uppercase;
  color:var(--cyan);cursor:pointer;
  transition:all .2s;align-self:center;
  margin-bottom:2px;
}
.comm-new-btn:hover{background:var(--cyan);color:#fff;}

/* LAB SHARE */
.lab-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.lab-card{
  background:rgba(255,255,255,0.7);
  border:1px solid var(--border);
  border-radius:12px;overflow:hidden;
  cursor:pointer;transition:all .25s cubic-bezier(.34,1.56,.64,1);
  margin-bottom:14px;
}
.lab-card:hover{
  border-color:rgba(52,211,153,0.5);
  transform:translateY(-4px);
  box-shadow:0 8px 28px rgba(52,211,153,0.15);
  background:rgba(255,255,255,0.95);
}
.lab-img{
  width:100%;height:160px;
  background:linear-gradient(135deg,rgba(52,211,153,0.1),rgba(167,139,250,0.1));
  display:flex;align-items:center;justify-content:center;
  font-size:40px;
}
.lab-body{padding:14px;}
.lab-tags{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:8px;}
.lab-tag{
  font-family:'DM Mono',monospace;
  font-size:9px;letter-spacing:1px;
  text-transform:uppercase;
  padding:2px 8px;border:1px solid;border-radius:10px;
}
.lab-title{font-size:13px;font-weight:600;color:var(--text);margin-bottom:4px;line-height:1.4;}
.lab-title-zh{font-size:11px;color:var(--muted);margin-bottom:8px;}
.lab-meta{
  display:flex;justify-content:space-between;align-items:center;
  font-family:'DM Mono',monospace;font-size:9px;color:var(--muted2);
}
.lab-likes{color:var(--rose);font-size:11px;}

/* FORUM */
.forum-list{
  display:flex;flex-direction:column;gap:1px;
  background:var(--border);
  border:1px solid var(--border);
  border-radius:12px;overflow:hidden;
}
.forum-card{
  background:rgba(255,255,255,0.7);
  padding:18px 22px;cursor:pointer;
  transition:background .2s;
  display:flex;gap:16px;
}
.forum-card:hover{background:rgba(255,255,255,0.95);}
.forum-votes{
  flex-shrink:0;text-align:center;min-width:40px;
}
.vote-num{
  font-family:'DM Mono',monospace;
  font-size:18px;font-weight:700;color:var(--cyan);
}
.vote-label{font-size:9px;color:var(--muted2);letter-spacing:1px;}
.forum-body{flex:1;min-width:0;}
.forum-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px;}
.ftag{
  font-family:'DM Mono',monospace;
  font-size:9px;letter-spacing:1px;
  text-transform:uppercase;
  padding:2px 8px;border:1px solid;border-radius:10px;
}
.ftag-cyan{color:var(--cyan);border-color:rgba(52,211,153,0.3);}
.ftag-violet{color:var(--violet);border-color:rgba(167,139,250,0.3);}
.ftag-gold{color:var(--gold);border-color:rgba(245,158,11,0.3);}
.ftag-rose{color:var(--rose);border-color:rgba(244,114,182,0.3);}
.forum-title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:3px;line-height:1.5;}
.forum-title-zh{font-size:12px;color:var(--muted);margin-bottom:6px;}
.forum-meta{
  font-family:'DM Mono',monospace;
  font-size:10px;color:var(--muted2);
  display:flex;gap:14px;flex-wrap:wrap;
}

/* PATENT */
.patent-list{display:flex;flex-direction:column;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:12px;overflow:hidden;}
.patent-card{background:rgba(255,255,255,0.7);padding:18px 22px;cursor:pointer;transition:background .2s;display:flex;justify-content:space-between;align-items:center;gap:20px;}
.patent-card:hover{background:rgba(255,255,255,0.95);}
.patent-info{flex:1;}
.patent-title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:3px;}
.patent-title-zh{font-size:12px;color:var(--muted);margin-bottom:8px;}
.patent-tags{display:flex;gap:6px;flex-wrap:wrap;}
.patent-right{text-align:right;flex-shrink:0;}
.patent-price{font-family:'DM Mono',monospace;font-size:16px;font-weight:700;color:var(--cyan);margin-bottom:6px;}
.patent-status{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:1px;padding:3px 10px;border-radius:10px;}
.status-open{color:var(--gold);border:1px solid rgba(245,158,11,0.3);background:rgba(245,158,11,0.06);}
.status-hot{color:var(--rose);border:1px solid rgba(244,114,182,0.3);background:rgba(244,114,182,0.06);}
.patent-btn{margin-top:8px;background:transparent;border:1px solid var(--cyan);border-radius:4px;padding:5px 14px;font-family:'DM Mono',monospace;font-size:10px;letter-spacing:1px;color:var(--cyan);cursor:pointer;transition:all .2s;}
.patent-btn:hover{background:var(--cyan);color:#fff;}

/* BLOCKCHAIN */
.chain-upload{
  background:rgba(255,255,255,0.6);
  border:2px dashed var(--border);
  border-radius:14px;padding:40px;
  text-align:center;margin-bottom:20px;
  cursor:pointer;transition:all .2s;
}
.chain-upload:hover{border-color:rgba(52,211,153,0.4);background:rgba(255,255,255,0.9);}
.chain-upload-icon{font-size:40px;margin-bottom:12px;}
.chain-upload-en{font-size:15px;font-weight:600;color:var(--text);margin-bottom:4px;}
.chain-upload-zh{font-size:12px;color:var(--muted);}
.chain-records{display:flex;flex-direction:column;gap:10px;}
.chain-record{
  background:rgba(255,255,255,0.7);
  border:1px solid var(--border);
  border-radius:10px;padding:16px 18px;
  display:flex;justify-content:space-between;align-items:center;gap:16px;
}
.chain-record-info{flex:1;}
.chain-record-title{font-size:13px;font-weight:600;color:var(--text);margin-bottom:4px;}
.chain-record-hash{
  font-family:'DM Mono',monospace;
  font-size:10px;color:var(--cyan);
  word-break:break-all;margin-bottom:4px;
}
.chain-record-meta{font-family:'DM Mono',monospace;font-size:9px;color:var(--muted2);}
.chain-cert-btn{
  background:transparent;
  border:1px solid var(--violet);
  border-radius:4px;padding:6px 14px;
  font-family:'DM Mono',monospace;
  font-size:10px;letter-spacing:1px;
  color:var(--violet);cursor:pointer;
  transition:all .2s;white-space:nowrap;
}
.chain-cert-btn:hover{background:var(--violet);color:#fff;}

/* LITERATURE TAB */
.lit-search-wrap{
  display:flex;gap:10px;margin-bottom:20px;
}
.lit-search-input{
  flex:1;background:rgba(255,255,255,0.8);
  border:1px solid var(--border);border-radius:10px;
  padding:10px 16px;font-size:14px;
  color:var(--text);outline:none;
  font-family:'Noto Sans SC',sans-serif;
  transition:border-color .2s;
}
.lit-search-input:focus{border-color:rgba(52,211,153,0.4);}
.lit-search-input::placeholder{color:var(--muted2);}
.lit-search-btn{
  background:linear-gradient(135deg,var(--cyan),var(--cyan2));
  border:none;border-radius:10px;
  padding:0 24px;
  font-family:'DM Mono',monospace;
  font-size:11px;letter-spacing:1px;
  color:#fff;cursor:pointer;transition:all .2s;
}
.lit-search-btn:hover{opacity:.9;}
.lit-results{display:flex;flex-direction:column;gap:10px;}
.lit-card{
  background:rgba(255,255,255,0.7);
  border:1px solid var(--border);
  border-radius:10px;padding:16px 18px;
  cursor:pointer;transition:all .2s;
}
.lit-card:hover{
  border-color:rgba(52,211,153,0.3);
  background:rgba(255,255,255,0.95);
}
.lit-card-title{font-size:13px;font-weight:600;color:var(--text);margin-bottom:6px;line-height:1.5;}
.lit-card-abstract{font-size:12px;color:var(--muted);line-height:1.7;margin-bottom:8px;}
.lit-card-meta{
  font-family:'DM Mono',monospace;
  font-size:9px;color:var(--muted2);
  display:flex;gap:12px;flex-wrap:wrap;
  align-items:center;
}
.lit-free{color:var(--cyan);}
.lit-cite{
  margin-left:auto;
  background:none;border:1px solid var(--border);
  border-radius:4px;padding:3px 10px;
  font-family:'DM Mono',monospace;font-size:9px;
  color:var(--muted);cursor:pointer;transition:all .2s;
}
.lit-cite:hover{border-color:var(--cyan);color:var(--cyan);}

/* GENE BADGE */
.gene-badge{
  display:flex;align-items:center;gap:5px;
  background:rgba(52,211,153,0.08);
  border:1px solid rgba(52,211,153,0.2);
  border-radius:20px;padding:4px 10px;
  font-family:'DM Mono',monospace;
  font-size:11px;color:var(--cyan);
}
.gene-icon{font-size:13px;}

/* ANIMATIONS */
@keyframes fadeUp{
  from{opacity:0;transform:translateY(16px);}
  to{opacity:1;transform:translateY(0);}
}
.fade-in{opacity:0;animation:fadeUp .5s forwards;}

/* SCROLLBAR */
::-webkit-scrollbar{width:4px;height:4px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:rgba(52,211,153,0.15);border-radius:2px;}

/* RESPONSIVE */
@media(max-width:768px){
  :root{--sidebar-w:0px;}

  /* ── 侧边栏 ── */
  .sidebar{display:none;}

  /* ── 顶部导航 ── */
  .topbar{padding:0 6px;gap:0;}
  .topbar-left{display:none;}
  .topbar-nav{position:static;transform:none;gap:0;flex-shrink:1;padding-left:6px;}
  .tnav{font-size:11px;padding:6px 8px;letter-spacing:0;}
  .topbar-right{gap:4px;flex-shrink:0;}
  .topbar-right .lang-toggle{display:none;}
  #uInfoBtn{padding:3px 6px 3px 3px !important;}
  #uInfoBtn .u-name{display:none;}
  #uInfoBtn div:last-child{display:none;}

  /* ── HOME页 ── */
  .hero{padding:20px 16px 16px;}
  .hero-title{font-size:28px !important;}
  .hero-title-zh{font-size:24px !important;}
  .hero-stats{gap:14px;flex-wrap:wrap;}
  .stat{padding-left:10px;}
  .mission{padding:20px 16px;}
  .mission-inner{grid-template-columns:1fr;gap:20px;}
  .mission-title-en{font-size:28px !important;}
  .mission-title-zh{font-size:26px !important;}
  .modules{grid-template-columns:1fr 1fr;}
  .news-section{padding:20px 16px;}
  .news-grid{grid-template-columns:1fr;}
  .cta-strip{margin:0 16px 20px;flex-direction:column;text-align:center;align-items:center;}
  .cta-actions{margin-left:0;flex-wrap:wrap;justify-content:center;gap:10px;}
  .cta-btns{justify-content:center;flex-wrap:wrap;}

  /* ── Community ── */
  .community-main{padding:12px;}
  .comm-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
  .comm-tabs::-webkit-scrollbar{display:none;}
  .ctab{flex-shrink:0;font-size:10px;padding:8px 12px;}
  #commLab [style*="columns:3"]{columns:1 !important;}
  #patentGrid{columns:1 !important;}
  #bcRecordGrid{columns:1 !important;}
  .forum-cat-btn{font-size:10px;padding:4px 8px;}
  #globalSearch{width:140px !important;}

  /* ── AI 对话 ── */
  .ai-layout{flex-direction:column;}
  .msg-wrap{padding:0 12px 14px;margin:0 auto 0 0 !important;max-width:100% !important;}
  .input-inner{margin:0 auto 0 0 !important;max-width:100% !important;}
  .input-bar{padding:8px 10px 12px;}
  .msg-input{font-size:14px;}
  .ai-bubble{font-size:13px;}
  .msg-user-bubble{font-size:13px;max-width:90%;}
  .chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;}
  .chips::-webkit-scrollbar{display:none;}
  .chip{flex-shrink:0;}
  #scrollBtnWrap{bottom:70px !important;}

  /* ── 弹窗 ── */
  .modal-box{width:95% !important;padding:20px 16px !important;}
}

@media(max-width:480px){
  .tnav{font-size:10px;padding:6px 8px;}
  .topbar-logo span{display:none;}
  .hero-title{font-size:22px !important;}
  .modules{grid-template-columns:1fr;}
  #commLab [style*="columns"],#patentGrid,#bcRecordGrid{columns:1 !important;}
  .stats-row{flex-wrap:wrap;}
}


.minp {
  min-height: 90px !important;
  height: 90px !important;
  max-height: 200px !important;
}
.input-row {
  align-items: center !important;
}
.irow {
  align-items: center !important;
}
#msgInput.msg-input {
  min-height: 48px !important;
  height: 48px !important;
  max-height: 132px !important;
  overflow-y: hidden !important;
  align-self: center !important;
}
#msgInput.msg-input.ai-input-expanded {
  min-height: 96px !important;
  height: 96px !important;
  max-height: 192px !important;
}
#msgInput.msg-input.ai-input-scroll {
  overflow-y: auto !important;
}
.send-btn, .snd {
  align-self: center !important;
  height: 48px !important;
}
.attach-btn, .att-btn {
  align-self: center !important;
  height: 48px !important;
  width: 48px !important;
}
.sidebar-footer-btn:has-text, .sf-btn {
  display: flex;
  align-items: center;
}


.tnav {
  font-weight: 700 !important;
  font-size: calc(1em * 1.3) !important;
  letter-spacing: 1.5px !important;
}

.overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:1000;align-items:center;justify-content:center;}
.overlay.on{display:flex;}
.auth-box{background:var(--bg);border-radius:16px;padding:32px;width:360px;position:relative;box-shadow:0 20px 60px rgba(0,0,0,0.2);}
.auth-box h2{font-size:22px;margin-bottom:24px;}
.auth-inp{width:100%;padding:12px 16px;margin-bottom:12px;border:1px solid var(--border);border-radius:10px;font-size:14px;background:#fff;outline:none;font-family:inherit;box-sizing:border-box;}
.auth-inp:focus{border-color:var(--cyan);}
.auth-submit{width:100%;padding:13px;background:var(--cyan);color:#fff;border:none;border-radius:10px;font-size:15px;cursor:pointer;font-weight:600;margin-top:4px;}
.auth-submit:hover{background:#10b981;}
.auth-google{width:100%;height:44px;margin:10px 0 4px;border:1px solid rgba(15,143,104,.18);border-radius:12px;background:#fff;color:#17352d;font-size:14px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;font-family:inherit;box-shadow:0 8px 24px rgba(5,55,40,.04);}
.auth-google:hover{border-color:rgba(15,143,104,.38);background:#f7fffb;transform:translateY(-1px);}
.auth-google-mark{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#4285f4,#34a853 45%,#fbbc05 68%,#ea4335);color:#fff;font-weight:900;font-family:Arial,sans-serif;font-size:14px;}
.auth-divider{display:flex;align-items:center;gap:10px;color:#8bab9d;font-size:11px;font-weight:700;margin:10px 0;}
.auth-divider:before,.auth-divider:after{content:"";height:1px;background:rgba(15,143,104,.16);flex:1;}
.auth-link{text-align:center;margin-top:16px;font-size:13px;color:var(--muted);}
.close-x{position:absolute;top:16px;right:16px;background:none;border:none;font-size:20px;cursor:pointer;color:var(--muted);}
.ferr{color:#e11d48;font-size:13px;margin-bottom:10px;display:none;}
.ferr.on{display:block;}
.fsuc{color:#10b981;font-size:13px;margin-bottom:10px;display:none;}
.fsuc.on{display:block;}

.forum-cat-btn{padding:6px 14px;border:1px solid var(--border);border-radius:20px;background:var(--surface);color:var(--muted);font-size:12px;cursor:pointer;transition:all .2s;}
.forum-cat-btn.active,.forum-cat-btn:hover{background:var(--cyan);color:#fff;border-color:var(--cyan);}
.forum-sort-btn{padding:5px 14px;border-radius:20px;border:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:11px;cursor:pointer;font-family:inherit;transition:all .2s;}
.forum-sort-btn.active,.forum-sort-btn:hover{background:var(--cyan);color:#fff;border-color:var(--cyan);}
.forum-item{background:var(--surface);border-radius:12px;padding:16px 20px;cursor:pointer;transition:all .2s;border:1px solid transparent;}
.forum-item:hover{border-color:rgba(52,211,153,0.3);transform:translateY(-1px);box-shadow:0 4px 16px rgba(0,0,0,0.06);}
.forum-cat-tag{display:inline-block;padding:2px 10px;border-radius:20px;font-size:10px;font-weight:700;margin-bottom:8px;}
.fcat-qa{background:rgba(251,191,36,0.15);color:#d97706;}
.fcat-research{background:rgba(52,211,153,0.15);color:#059669;}
.fcat-announcement{background:rgba(99,102,241,0.15);color:#4f46e5;}
.fcat-ideas{background:rgba(244,114,182,0.15);color:#db2777;}
.fcat-bug{background:rgba(239,68,68,0.15);color:#dc2626;}


    html,body{background:#f7f5f0;}
    body:not(.alses-splash-done)::before{
      content:"";position:fixed;inset:0;z-index:99997;
      background:linear-gradient(135deg,#f7f5f0 0%,#edfdf5 100%);
      pointer-events:auto;
    }
    body:not(.alses-splash-done)::after{
      content:"alsesAI";position:fixed;left:50%;top:50%;z-index:99998;
      transform:translate(-50%,-50%);
      font-family:'DM Mono',monospace;font-size:28px;font-weight:800;letter-spacing:-1px;
      color:#1a2e22;text-shadow:0 0 22px rgba(52,211,153,.28);
      animation:firstPaintSplashPulse 1.2s ease-in-out infinite;
      pointer-events:none;
    }
    @keyframes firstPaintSplashPulse{
      0%,100%{opacity:.72;filter:drop-shadow(0 0 0 rgba(52,211,153,0));}
      50%{opacity:1;filter:drop-shadow(0 0 12px rgba(52,211,153,.35));}
    }
    .ql-toolbar.ql-snow{border-radius:10px 10px 0 0 !important;border-color:#d1d5db !important;background:#f9fafb;}
    .ql-container.ql-snow{border-radius:0 0 10px 10px !important;border-color:#d1d5db !important;font-size:14px;font-family:inherit;}
    .ql-editor{min-height:160px;line-height:1.8;}
    .ql-editor.ql-blank::before{font-style:normal;color:#9ab5a4;}
    .ql-snow .ql-toolbar button:hover{color:#34d399 !important;}
    .ql-snow.ql-toolbar button.ql-active{color:#34d399 !important;}
  

@keyframes splashIn {
  from { opacity:0; transform:scale(0.85) translateY(20px); }
  to   { opacity:1; transform:scale(1) translateY(0); }
}
@keyframes splashPulse {
  0%,100% { transform:scale(1); box-shadow:0 0 0 0 rgba(52,211,153,0.6); }
  50%     { transform:scale(1.2); box-shadow:0 0 0 6px rgba(52,211,153,0); }
}
@keyframes splashAutoHide {
  0%,78% { opacity:1; visibility:visible; pointer-events:auto; transform:none; }
  100% { opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-12px); }
}
#alsesRouteSplash{
  position:fixed;inset:0;z-index:99998;
  display:none;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#f7f5f0 0%,#edfdf5 100%);
  pointer-events:auto;
}
#alsesRouteSplash.show{display:flex;animation:routeSplashIn .18s ease both;}
.route-splash-card{display:flex;flex-direction:column;align-items:center;gap:20px;}
.route-splash-logo{position:relative;width:96px;height:96px;padding:12px;box-sizing:border-box;border-radius:28px;background:rgba(255,255,255,.78);box-shadow:0 8px 32px rgba(52,211,153,.25);}
.route-splash-logo img{width:100%;height:100%;border-radius:18px;object-fit:contain;display:block;}
.route-splash-logo span{position:absolute;bottom:6px;right:6px;width:20px;height:20px;background:#34d399;border-radius:50%;border:4px solid #f7f5f0;animation:splashPulse 1.5s ease-in-out infinite;}
.route-splash-title{font-size:28px;font-weight:800;letter-spacing:-1px;color:#1a2e22;font-family:'DM Mono',monospace;text-align:center;}
.route-splash-title b{color:#34d399;}
.route-splash-sub{font-size:12px;color:#6b8f7a;margin-top:4px;letter-spacing:1px;text-align:center;}
.route-splash-track{width:160px;height:3px;background:rgba(52,211,153,.15);border-radius:10px;overflow:hidden;}
.route-splash-bar{height:100%;width:0%;background:linear-gradient(90deg,#34d399,#22d3ee);border-radius:10px;transition:width .12s linear;}
@keyframes routeSplashIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}


#mobileMenuBtn{display:none;background:none;border:none;cursor:pointer;font-size:22px;color:var(--text);padding:4px 8px;border-radius:8px;flex-shrink:0;}
#sidebarBackdrop{display:none;position:fixed;top:var(--topbar-h);bottom:0;right:0;left:260px;background:rgba(0,0,0,0.4);z-index:1999;cursor:pointer;}
#sidebarBackdrop.on{display:block;}
@media(max-width:768px){
  #mobileMenuBtn{display:flex !important;align-items:center;justify-content:center;}
  .sidebar{display:flex !important;position:fixed !important;left:-261px !important;top:var(--topbar-h) !important;bottom:0 !important;width:260px !important;z-index:2000 !important;transition:left .28s cubic-bezier(0.4,0,0.2,1) !important;}
  .sidebar.mob-open{left:0 !important;box-shadow:4px 0 24px rgba(0,0,0,0.2) !important;}
  #aiFloatWidget{display:none !important;}
  #genePop{right:8px !important;left:8px !important;width:auto !important;}
  #searchResults{right:8px !important;left:8px !important;width:auto !important;}
}


html { font-size: 112% !important; }
.hero-title-en { font-size: clamp(36px, 4.5vw, 60px) !important; }
.hero-title-zh { font-size: clamp(15px, 2vw, 20px) !important; }
.hero-desc-en { font-size: 15px !important; }
.hero-desc-zh { font-size: 13px !important; }
.stat-num { font-size: 30px !important; }
.stat-en { font-size: 12px !important; }
.stat-zh { font-size: 11px !important; }
.mission-title-en { font-size: clamp(26px, 3vw, 40px) !important; }
.mission-body-en { font-size: 14px !important; }
.mission-body-zh { font-size: 13px !important; }
.pillar-title-en { font-size: 14px !important; }
.pillar-title-zh { font-size: 12px !important; }
.pillar-desc-en { font-size: 13px !important; }
.module-title-en { font-size: 14px !important; }
.module-title-zh { font-size: 12px !important; }
.module-desc { font-size: 12px !important; }
.news-title-en { font-size: 24px !important; }
.news-title-zh { font-size: 13px !important; }
.news-card-title { font-size: 14px !important; }
.news-card-desc { font-size: 12px !important; }
.cta-text-en { font-size: 22px !important; }
.cta-text-zh { font-size: 13px !important; }
.tnav { font-size: 14px !important; }
.ai-text { font-size: 15px !important; }
.ai-bubble-name { font-size: 11px !important; }
.msg-user-bubble { font-size: 15px !important; }
.msg-input { font-size: 15px !important; }
.chip { font-size: 12px !important; }
.send-btn { font-size: 13px !important; }
.input-hint { font-size: 10px !important; }
.new-chat-btn { font-size: 13px !important; }
.recent-item { font-size: 13px !important; }
.section-label { font-size: 10px !important; }
.sidebar-footer-btn { font-size: 13px !important; }
.gene-badge { font-size: 12px !important; }
.lang-opt { font-size: 11px !important; }
.signin-btn { font-size: 11px !important; }
.lab-title { font-size: 14px !important; }
.lab-title-zh { font-size: 12px !important; }
.lab-meta { font-size: 10px !important; }
.forum-title { font-size: 15px !important; }
.forum-title-zh { font-size: 13px !important; }
.forum-meta { font-size: 11px !important; }
.vote-num { font-size: 20px !important; }
.patent-title { font-size: 15px !important; }
.patent-title-zh { font-size: 13px !important; }
.patent-price { font-size: 18px !important; }
.chain-upload-en { font-size: 16px !important; }
.chain-upload-zh { font-size: 13px !important; }
.chain-record-title { font-size: 14px !important; }
.chain-record-hash { font-size: 11px !important; }
.chain-record-meta { font-size: 10px !important; }
.lit-search-input { font-size: 15px !important; }
.lit-card-title { font-size: 14px !important; }
.lit-card-abstract { font-size: 13px !important; }
.ctab { font-size: 12px !important; }
.comm-new-btn { font-size: 11px !important; }


.logo-img {
  width: 52px !important;
  height: 52px !important;
  background: transparent !important;
  box-shadow: none !important;
}
.logo-text {
  font-size: 26px !important;
}
.ai-ava,
#aiPage .aava {
  background: transparent !important;
  border-color: transparent !important;
}
.ai-ava img,
#aiPage .aava img {
  background: transparent !important;
}
.topbar {
  height: 64px !important;
}
.topbar-left {
  height: 64px !important;
}


.gene-badge {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: rgba(52,211,153,0.08) !important;
  border: 1px solid rgba(52,211,153,0.2) !important;
  border-radius: 20px !important;
  padding: 4px 12px 4px 4px !important;
}
.gene-icon {
  display: none !important;
}
.gene-badge-img {
  width: 28px !important;
  height: 28px !important;
  object-fit: contain !important;
  border-radius: 50% !important;
}


.g-ico, .gene-badge-img { width: 21px !important; height: 21px !important; }
#genePop {
  display:none;position:fixed;top:70px;right:20px;width:280px;
  background:#f7f5f0;border:1px solid rgba(52,211,153,0.25);
  border-radius:14px;box-shadow:0 10px 40px rgba(0,0,0,0.15);
  z-index:800;padding:18px;
  animation:fadeDown .25s ease;
}
@keyframes fadeDown{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:translateY(0);}}
#genePop .gp-top{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid rgba(52,211,153,0.15);}
#genePop .gp-top img{width:38px;height:38px;object-fit:contain;}
#genePop .gp-pts{font-family:'DM Mono',monospace;font-size:22px;font-weight:700;color:#34d399;}
#genePop .gp-un{font-size:12px;color:#1a2e22;font-weight:600;}
#genePop .gp-lv{font-size:11px;color:#6b8f7a;}
#genePop h4{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:#9ab5a4;margin:10px 0 6px;}
#genePop .gp-row{display:flex;justify-content:space-between;font-size:11px;color:#2d4a38;padding:3px 0;border-bottom:1px solid rgba(52,211,153,0.07);}
#genePop .gp-row:last-child{border-bottom:none;}
#genePop .gp-val{font-family:'DM Mono',monospace;font-size:10px;color:#34d399;font-weight:600;}
#genePop .gp-close{position:absolute;top:10px;right:12px;background:none;border:none;font-size:16px;color:#9ab5a4;cursor:pointer;}


#uInfoBtn .u-name, #uInfoBtn div div:first-child {
  font-size: 13px !important;
  font-weight: 700 !important;
  font-family: 'DM Mono', monospace !important;
}

.ai-actions{display:flex;gap:2px;margin-top:4px;opacity:0;transition:opacity .2s;}
.ai-bubble-wrap:hover .ai-actions{opacity:1;}
.ai-action-btn{width:24px;height:24px;border:none;background:transparent;color:var(--muted2);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;outline:none;box-shadow:none;}
.ai-action-btn:hover{color:var(--cyan);}

/* ══ 骨架屏 ══ */
.skeleton{background:linear-gradient(90deg,#e8e4dc 25%,#f0ede6 50%,#e8e4dc 75%);background-size:200% 100%;animation:skeleton-loading 1.4s infinite;}
@keyframes skeleton-loading{0%{background-position:200% 0;}100%{background-position:-200% 0;}}
.skeleton-card{background:#fff;border-radius:14px;overflow:hidden;margin-bottom:14px;break-inside:avoid;}
.skeleton-img{height:120px;}
.skeleton-body{padding:12px 14px;}
.skeleton-line{height:12px;border-radius:4px;margin-bottom:8px;}
.skeleton-line.short{width:60%;}
.skeleton-line.xshort{width:40%;}
.skeleton-row{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border);background:#fff;}
.skeleton-circle{width:36px;height:36px;border-radius:50%;flex-shrink:0;}
.skeleton-row-body{flex:1;}

.verify-bar{display:none;background:linear-gradient(135deg,#fef3c7,#fde68a);border-bottom:1px solid #f59e0b;padding:8px 20px;text-align:center;font-size:13px;color:#92400e;position:relative;z-index:100;}
.verify-bar a{color:#d97706;font-weight:700;cursor:pointer;text-decoration:underline;margin-left:6px;}


#genePointsRow { display:none !important; }
.gene-badge, .gene-badge-img, #geneBadge { display:none !important; }
#genePop { display:none !important; }


@media(max-width:768px){
  html{font-size:100% !important;-webkit-text-size-adjust:100%;}
  body{overflow-x:hidden;}
  .topbar{height:56px !important;min-height:56px !important;padding:0 10px !important;gap:6px !important;}
  .topbar-nav{flex:1 !important;justify-content:center !important;min-width:0 !important;padding-left:0 !important;}
  .tnav{font-size:12px !important;padding:7px 10px !important;border-radius:10px !important;letter-spacing:.04em !important;white-space:nowrap !important;}
  .topbar-right{gap:6px !important;max-width:42vw !important;min-width:0 !important;}
  .signin-btn{height:34px !important;padding:0 12px !important;border-radius:999px !important;white-space:nowrap !important;}
  .main-layout{height:calc(100vh - 56px) !important;min-width:0 !important;}
  .content{width:100% !important;min-width:0 !important;}
  .page.active{overflow:auto !important;-webkit-overflow-scrolling:touch;}
  #homePage{overflow:auto !important;}

  .hero{margin:10px !important;padding:18px 14px !important;border-radius:12px !important;min-height:auto !important;}
  .hero-tag{font-size:10px !important;letter-spacing:.14em !important;line-height:1.45 !important;white-space:normal !important;gap:8px !important;}
  .hero-tag::before{width:18px !important;flex:0 0 18px !important;}
  .hero-title-en{font-size:clamp(26px,8vw,34px) !important;line-height:1.08 !important;}
  .hero-title-zh{font-size:22px !important;line-height:1.25 !important;}
  .hero-desc-en,.hero-desc-zh{font-size:13px !important;line-height:1.7 !important;}
  .hero-stats{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important;}
  .stat{padding:12px !important;border:1px solid rgba(52,211,153,.12) !important;border-radius:10px !important;background:rgba(255,255,255,.64) !important;}
  .stat-num{font-size:22px !important;}
  .hero-btns,.cta-btns{gap:8px !important;}
  .btn-primary,.btn-ghost{min-height:42px !important;padding:0 14px !important;border-radius:10px !important;font-size:12px !important;}

  .eco-home{margin:10px !important;grid-template-columns:1fr !important;padding:14px !important;border-radius:12px !important;}
  .eco-title{font-size:18px !important;line-height:1.25 !important;}
  .eco-copy{font-size:12px !important;line-height:1.65 !important;}
  .eco-metrics{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  .eco-actions{gap:7px !important;}
  .eco-btn{height:34px !important;padding:0 10px !important;font-size:10px !important;}

  .mission,.news-section{margin:10px !important;padding:16px 14px !important;border-radius:12px !important;}
  .mission-inner{grid-template-columns:1fr !important;gap:14px !important;}
  .mission-title-en{font-size:25px !important;}
  .mission-title-zh{font-size:24px !important;}
  .pillar{padding:12px !important;border-radius:10px !important;}
  .news-header{gap:10px !important;}
  .news-grid{gap:12px !important;}
  .cta-strip{margin:10px !important;padding:16px 14px !important;border-radius:12px !important;}

  .community-main{padding:10px !important;}
  .comm-tabs{position:sticky !important;top:0 !important;z-index:15 !important;background:rgba(247,245,240,.94) !important;backdrop-filter:blur(8px);padding:8px !important;margin:-10px -10px 10px !important;}
  .ctab{font-size:11px !important;padding:8px 10px !important;border-radius:10px !important;}
  #globalSearch{width:min(58vw,230px) !important;min-width:0 !important;}
  .lab-card,.forum-card,.patent-card,.chain-card,.lit-card,.event-card{border-radius:12px !important;}

  .events-shell{padding:12px 10px 22px !important;}
  .events-layout{grid-template-columns:1fr !important;gap:12px !important;}
  .events-hero-main,.events-assistant,.events-panel{padding:14px !important;border-radius:12px !important;}
  .events-title{font-size:26px !important;line-height:1.12 !important;}
  .events-subtitle{font-size:13px !important;line-height:1.65 !important;}
  .events-hero-search{width:100% !important;}
  .events-search-results{grid-template-columns:1fr !important;max-height:360px !important;}
  .events-intel-row{grid-template-columns:1fr !important;}
  .plan-list{max-height:260px !important;}

  .input-bar{padding:10px 10px calc(12px + env(safe-area-inset-bottom)) !important;}
  .input-inner{width:100% !important;margin:0 !important;max-width:none !important;}
  .input-row{gap:8px !important;align-items:center !important;}
  .attach-btn{width:42px !important;height:42px !important;border-radius:12px !important;}
  .send-btn{height:42px !important;padding:0 12px !important;border-radius:12px !important;}
  #msgInput.msg-input{min-height:44px !important;height:44px !important;max-height:132px !important;border-radius:12px !important;padding:10px 12px !important;font-size:14px !important;}
  #msgInput.msg-input.ai-input-expanded{min-height:88px !important;height:88px !important;max-height:176px !important;}
  .input-hint{font-size:9px !important;line-height:1.4 !important;padding:0 8px !important;}
  .msg-wrap{padding:0 10px 14px !important;max-width:100% !important;}
  .ai-bubble,.msg-user-bubble{font-size:13px !important;}

  #aiFloatWidget{display:none !important;}
  .ww-modal,.ww-reader,.ww-composer{width:100vw !important;height:calc(100vh - 56px) !important;max-width:none !important;max-height:none !important;border-radius:0 !important;left:0 !important;right:0 !important;top:56px !important;bottom:0 !important;}
  .dm-modal,.dm-window,#dmModal{max-width:100vw !important;width:100vw !important;left:0 !important;right:0 !important;border-radius:0 !important;}
}
@media(max-width:480px){
  .hero-stats{grid-template-columns:1fr 1fr !important;}
  .eco-metrics{grid-template-columns:1fr !important;}
  .news-header{align-items:flex-start !important;flex-direction:column !important;}
  .events-hero-search .events-input{min-width:0 !important;}
  #msgInput.msg-input{min-height:44px !important;height:44px !important;max-height:132px !important;}
  #msgInput.msg-input.ai-input-expanded{min-height:82px !important;height:82px !important;max-height:164px !important;}
}
@media(display-mode:standalone) and (max-width:768px){
  .topbar{padding-top:env(safe-area-inset-top) !important;height:calc(56px + env(safe-area-inset-top)) !important;}
  .main-layout{height:calc(100vh - 56px - env(safe-area-inset-top)) !important;}
}
