/*!
 * LTHIDC 官网主题 - 深空科技风格
 * 设计令牌 + 响应式 + 导航/主题切换辅助类
 * 配色与断点 1:1 取自设计交接稿（docs/design_handoff_lthidc）
 */
*{box-sizing:border-box;}
body{margin:0; background:var(--bg);}
img{max-width:100%;}
a{color:inherit;}
svg.lucide{display:block;}

.lth-wrap{width:100%; background:var(--bg); color:var(--text); font-family:'Noto Sans SC',sans-serif; overflow-x:hidden;}
.lth-container{max-width:1200px; margin:0 auto; padding-left:clamp(20px,5vw,32px); padding-right:clamp(20px,5vw,32px);}

/* ============================================================
   组件层（class 化，替代行内样式）。视觉与设计稿一致，集中维护。
   仅出现一次的装饰结构（hero 光晕、节点延迟面板等）仍内联，不在此列。
   ============================================================ */

/* 区块容器与标题 */
.lth-section{ max-width:1200px; margin:0 auto; padding:clamp(56px,9vw,96px) clamp(20px,5vw,32px) 0; }
.lth-section--pb{ padding-bottom:clamp(56px,9vw,96px); }
.lth-sec-head{ text-align:center; margin-bottom:48px; }
.lth-eyebrow{ font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:2px; color:var(--accent-text); margin-bottom:14px; }
.lth-h2{ font-size:clamp(28px,4.8vw,40px); font-weight:900; letter-spacing:-1px; margin:0 0 12px; }
.lth-sub{ font-size:16px; color:var(--text-2); margin:0; }

/* 按钮 / 链接 */
.lth-btn{ display:inline-flex; align-items:center; gap:8px; font-size:15px; font-weight:600; padding:15px 28px; border-radius:11px; text-decoration:none; cursor:pointer; border:none; }
.lth-btn-primary{ background:linear-gradient(135deg,#5B8CFF,#36D6E8); color:#0A0B0F; box-shadow:0 10px 30px rgba(91,140,255,.4); }
.lth-btn-ghost{ background:var(--fill); border:1px solid var(--line-2); color:var(--text); font-weight:500; }
.lth-link{ display:inline-flex; align-items:center; gap:6px; font-size:14px; font-weight:600; color:var(--accent-text); text-decoration:none; white-space:nowrap; flex-shrink:0; }

/* 卡片：产品大卡（居中）/ 特性卡（居中）/ 套餐卡（左对齐） */
.lth-pcard{ position:relative; background:var(--card-bg); border:1px solid var(--line); border-radius:18px; padding:32px; display:flex; flex-direction:column; text-align:center; }
.lth-fcard{ background:var(--card-soft); border:1px solid var(--line); border-radius:16px; padding:30px; text-align:center; }
.lth-plan{ position:relative; background:var(--card-bg); border:1px solid var(--line); border-radius:18px; padding:26px; display:flex; flex-direction:column; overflow:hidden; }

/* 图标方块 */
.lth-tile{ width:54px; height:54px; border-radius:14px; display:flex; align-items:center; justify-content:center; margin:0 auto 22px; color:#0A0B0F; }
.lth-tile--blue{ background:linear-gradient(135deg,#5B8CFF,#36D6E8); box-shadow:0 12px 28px rgba(91,140,255,.4); }
.lth-tile--silver{ background:var(--tile-silver); box-shadow:0 12px 28px rgba(0,0,0,.5); }
.lth-tile--green{ background:linear-gradient(135deg,#34D399,#36D6E8); box-shadow:0 12px 28px rgba(52,211,153,.35); }
.lth-ficon{ width:50px; height:50px; border-radius:13px; background:linear-gradient(135deg,rgba(91,140,255,.18),rgba(54,214,232,.1)); border:1px solid rgba(91,140,255,.28); color:var(--accent-text); display:flex; align-items:center; justify-content:center; margin:0 auto 20px; }

/* 卡片文字 */
.lth-pcard-title{ font-size:21px; font-weight:700; margin-bottom:10px; }
.lth-pcard-desc{ font-size:14px; color:var(--text-2); line-height:1.65; margin:0 0 22px; }
.lth-fcard-title{ font-size:18px; font-weight:700; margin-bottom:9px; }
.lth-fcard-desc{ font-size:14px; color:var(--text-2); line-height:1.65; }

/* 产品卡勾选列表 */
.lth-checks{ display:flex; flex-direction:column; gap:11px; margin-bottom:26px; }
.lth-check{ display:flex; align-items:center; justify-content:center; gap:9px; font-size:13.5px; color:var(--text-strong-2); }
.lth-check > svg, .lth-check > i{ color:var(--num); flex-shrink:0; }

/* 卡片底部：价格 + 选购 */
.lth-card-foot{ margin-top:auto; display:flex; align-items:flex-end; justify-content:space-between; padding-top:20px; border-top:1px solid var(--line); gap:10px; }
.lth-price{ display:flex; align-items:baseline; gap:5px; }
.lth-price__num{ font-family:'Space Grotesk',sans-serif; font-size:30px; font-weight:700; }
.lth-price__unit{ font-size:13px; color:var(--text-3); }
.lth-badge{ position:absolute; top:22px; right:22px; font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:1px; color:var(--num); background:rgba(54,214,232,.1); border:1px solid rgba(54,214,232,.25); padding:4px 9px; border-radius:6px; }

/* 套餐卡（左对齐）内部 */
.lth-plan-name{ font-size:19px; font-weight:700; line-height:1.3; }
.lth-plan-tag{ font-size:12.5px; color:var(--text-3); margin:6px 0 16px; min-height:18px; }
.lth-plan-foot{ margin-top:auto; display:flex; align-items:flex-end; justify-content:space-between; padding-top:16px; border-top:1px solid var(--line); gap:10px; }
.lth-plan-foot .lth-price__num{ font-size:28px; color:var(--accent-text); }
.lth-buy{ display:inline-flex; align-items:center; gap:5px; background:linear-gradient(135deg,#5B8CFF,#36D6E8); color:#0A0B0F; font-size:13px; font-weight:600; padding:9px 15px; border-radius:9px; white-space:nowrap; text-decoration:none; }

/* 规格行（套餐卡内 标签左 / 值右） */
.lth-specs{ display:flex; flex-direction:column; margin-bottom:18px; }
.lth-spec{ display:flex; justify-content:space-between; align-items:flex-start; gap:14px; font-size:13px; padding:9px 0; border-bottom:1px solid var(--line); }
.lth-spec:last-child{ border-bottom:none; }
.lth-spec__k{ color:var(--text-3); flex-shrink:0; }
.lth-spec__v{ color:var(--text); font-family:'IBM Plex Mono',monospace; text-align:right; word-break:break-word; }

/* 地区 tab */
.lth-tabs{ display:flex; gap:8px; justify-content:center; flex-wrap:wrap; margin-bottom:30px; }
.lth-tab{ font-size:14px; padding:9px 18px; border-radius:30px; background:var(--fill); border:1px solid var(--line); color:var(--text-2); text-decoration:none; }
.lth-tab.is-active{ background:linear-gradient(135deg,#5B8CFF,#36D6E8); color:#0A0B0F; border-color:transparent; font-weight:600; }

/* 空状态（带边框卡片 + 居中图标）。grid-column 仅在网格内生效，独立使用时惰性无害。 */
.lth-empty{ grid-column:1 / -1; text-align:center; padding:64px 20px; background:var(--card-soft); border:1px solid var(--line); border-radius:18px; color:var(--text-3); font-size:15px; }
.lth-empty__icon{ display:flex; justify-content:center; margin-bottom:12px; color:var(--text-4); }

/* 胶囊 eyebrow（静态页区块标题、产品 hero 角标用） */
.lth-pill{ display:inline-flex; align-items:center; gap:9px; font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:1.5px; color:var(--accent-text); background:rgba(91,140,255,.1); border:1px solid rgba(91,140,255,.25); padding:7px 14px; border-radius:30px; margin-bottom:22px; }

/* 静态页：实底服务/价值卡（服务范围 9 项、企业文化 6 项价值观），实底 card-bg + 48px 面板图标 */
.lth-scard{ position:relative; background:var(--card-bg); border:1px solid var(--line); border-radius:18px; padding:28px; text-align:center; }
.lth-scard__icon{ width:48px; height:48px; border-radius:13px; background:var(--panel-feature-bg); border:1px solid var(--line); color:var(--accent-text); display:flex; align-items:center; justify-content:center; margin:0 auto 16px; }
.lth-scard__num{ position:absolute; top:18px; right:18px; font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--text-4); border:1px solid var(--line); border-radius:7px; padding:3px 8px; }
.lth-scard__title{ font-size:17.5px; font-weight:700; margin-bottom:10px; }
.lth-scard__desc{ font-size:13.5px; line-height:1.8; color:var(--text-2); }

.cards3{display:grid; grid-template-columns:repeat(3,1fr);}
.cards2{display:grid; grid-template-columns:repeat(2,1fr);}
@media(max-width:900px){.cards3{grid-template-columns:repeat(2,1fr) !important;}}
@media(max-width:600px){.cards3,.cards2{grid-template-columns:1fr !important;}}

.speclist > div:last-child{border-bottom:none !important;}
.ptable td:nth-child(1), .ptable td:nth-child(2){ white-space:normal !important; min-width:130px; }
.ptable td, .ptable th{ vertical-align:middle; }
/* 套餐「网格 / 表格」视图切换段控件（配置套餐页，配色走主题变量自动适配夜间模式） */
.lth-viewseg{ display:flex; gap:2px; background:var(--fill); border:1px solid var(--line); border-radius:11px; padding:3px; }
.lth-viewbtn{ display:flex; align-items:center; gap:6px; font-size:14px; padding:8px 16px; border-radius:8px; cursor:pointer; font-weight:400; color:var(--text-3); background:transparent; transition:all .15s; user-select:none; }
.lth-viewbtn.is-active{ font-weight:600; color:var(--accent-text); background:var(--seg-active); box-shadow:0 1px 3px rgba(0,0,0,.18); }
/* 表格视图 */
.lth-ptable-wrap{ overflow:hidden; border:1px solid var(--line); border-radius:16px; background:var(--card-bg); }
.lth-ptable-scroll{ overflow-x:auto; }
.lth-ptable{ width:100%; border-collapse:collapse; min-width:920px; font-size:14px; }
.lth-ptable thead tr{ background:var(--card-soft); }
.lth-ptable th{ text-align:left; padding:15px 18px; font-size:12.5px; font-weight:600; color:var(--text-3); border-bottom:1px solid var(--line); white-space:nowrap; }
.lth-ptable td{ padding:15px 18px; border-bottom:1px solid var(--line); color:var(--text-2); vertical-align:middle; white-space:nowrap; }
.lth-ptable tbody tr:last-child td{ border-bottom:none; }
.lth-ptable .lth-ptable-name{ color:var(--text); font-weight:700; line-height:1.5; white-space:normal; min-width:190px; word-break:break-word; }
.lth-ptable .lth-ptable-mono{ font-family:'IBM Plex Mono',monospace; }
/* CPU/带宽列允许换行，避免长机型名把表格撑超容器、挤掉最右「选购」列 */
.lth-ptable .lth-ptable-cpu{ white-space:normal; min-width:160px; word-break:break-word; }
.lth-ptable .lth-ptable-bw{ white-space:normal; min-width:160px; word-break:break-word; }
/* 最右「选购」列：固定不缩、贴右，保证按钮完整可见 */
.lth-ptable th:last-child, .lth-ptable td:last-child{ white-space:nowrap; width:1%; padding-right:18px; }
.lth-ptable-price{ font-family:'Space Grotesk',sans-serif; font-size:17px; font-weight:700; color:var(--accent-text); }
.lth-ptable-buy{ display:inline-flex; align-items:center; gap:5px; background:linear-gradient(135deg,#5B8CFF,#36D6E8); color:#0A0B0F; font-size:12.5px; font-weight:600; padding:7px 14px; border-radius:8px; white-space:nowrap; text-decoration:none; }

/* 联系我们 · 多渠道客服矩阵卡（配色走主题变量自动适配夜间模式；图标品牌色用行内 style 传入） */
/* 瀑布流布局：各渠道条目数差异大（如 TG 多条、邮箱仅一条），用多列按高度错落填充，避免等高网格的拉伸空白与孤行 */
.cc-grid{ column-count:3; column-gap:18px; }
.cc-grid > .cc-card{ break-inside:avoid; -webkit-column-break-inside:avoid; margin-bottom:18px; }
@media(max-width:900px){ .cc-grid{ column-count:2; } }
@media(max-width:600px){ .cc-grid{ column-count:1; } }
.cc-card{ background:var(--card-bg); border:1px solid var(--line); border-radius:18px; padding:24px; display:flex; flex-direction:column; }
.cc-card-head{ display:flex; align-items:center; gap:13px; margin-bottom:18px; }
.cc-ico{ width:46px; height:46px; flex-shrink:0; border-radius:13px; display:flex; align-items:center; justify-content:center; }
.cc-card-title{ font-size:16px; font-weight:700; color:var(--text); }
.cc-card-sub{ font-size:12px; color:var(--text-3); margin-top:2px; }
.cc-rows{ display:flex; flex-direction:column; gap:9px; }
.cc-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; background:var(--fill); border:1px solid var(--line); border-radius:10px; padding:11px 13px; text-decoration:none; transition:border-color .15s, background .15s; }
.cc-row.cc-copy, .cc-row.cc-qr{ cursor:pointer; }
.cc-row:hover{ border-color:var(--line-2); background:var(--chip-bg); }
.cc-row-l{ display:flex; align-items:center; gap:10px; min-width:0; }
.cc-chip{ font-size:11px; color:var(--text-3); background:var(--chip-bg); border:1px solid var(--line); border-radius:6px; padding:3px 9px; white-space:nowrap; flex-shrink:0; }
/* 允许长值（如邮箱）换行完整显示，短值（QQ/TG）仍保持单行 */
.cc-val{ font-family:'IBM Plex Mono',monospace; font-size:13.5px; color:var(--text); overflow-wrap:anywhere; word-break:break-word; }
.cc-act{ flex-shrink:0; }
/* 微信二维码弹窗 */
.cc-qr-modal{ display:none; position:fixed; inset:0; z-index:10001; background:rgba(0,0,0,.6); align-items:center; justify-content:center; padding:20px; cursor:zoom-out; }
.cc-qr-box{ background:var(--card-bg); border:1px solid var(--line); border-radius:18px; padding:24px; text-align:center; max-width:300px; cursor:auto; }
.cc-qr-box img{ width:220px; height:220px; object-fit:contain; border-radius:10px; background:#fff; display:block; }
.cc-qr-title{ display:inline-flex; align-items:center; gap:8px; color:#07C160; font-size:13px; font-weight:700; margin-bottom:18px; }
.cc-qr-name{ font-size:13px; color:var(--text-3); margin-top:14px; font-family:'IBM Plex Mono',monospace; }

:root, :root[data-theme="dark"]{
  --bg:#0A0B0F; --text:#F2F4F8; --text-2:#9AA3B2; --text-3:#8A93A4; --text-strong-2:#C2C9D6; --text-4:#5C6675;
  --line:rgba(255,255,255,.08); --line-2:rgba(255,255,255,.13); --fill:rgba(255,255,255,.05); --grid-dot:rgba(255,255,255,.04);
  --card-bg:linear-gradient(180deg,#12141C,#0C0E13); --card-soft:rgba(255,255,255,.02); --chip-bg:rgba(255,255,255,.03);
  --panel-feature-bg:linear-gradient(135deg,#101725,#0C0E13); --cta-bg:linear-gradient(135deg,#13213D,#0C0E13); --cta-border:rgba(91,140,255,.25);
  --nav-bg:rgba(10,11,15,.72); --accent-text:#8FB4FF; --num:#4FE3EF; --grad-1:#7AA5FF; --grad-2:#4FE3EF;
  --tile-silver:linear-gradient(135deg,#F2F4F8,#9AA3B2); --panel-shadow:rgba(0,0,0,.6); --seg-active:rgba(255,255,255,.1);
}
:root[data-theme="light"]{
  --bg:#EEF1F6; --text:#0C0E16; --text-2:#565E6E; --text-3:#6B7280; --text-strong-2:#3A414E; --text-4:#9AA1AD;
  --line:rgba(12,18,40,.11); --line-2:rgba(12,18,40,.17); --fill:rgba(12,18,40,.04); --grid-dot:rgba(12,30,80,.05);
  --card-bg:#FFFFFF; --card-soft:#FFFFFF; --chip-bg:#FFFFFF;
  --panel-feature-bg:linear-gradient(135deg,#E6EEFF,#FFFFFF); --cta-bg:linear-gradient(135deg,#E6EFFF,#F4F8FF); --cta-border:rgba(45,107,224,.28);
  --nav-bg:rgba(247,249,252,.82); --accent-text:#2D6BE0; --num:#0E8FAE; --grad-1:#2D6BE0; --grad-2:#0E9DB8;
  --tile-silver:linear-gradient(135deg,#E3E8F0,#AEB7C6); --panel-shadow:rgba(16,30,70,.16); --seg-active:#FFFFFF;
}
@media (prefers-color-scheme: light){
  :root:not([data-theme="dark"]):not([data-theme="light"]){
    --bg:#EEF1F6; --text:#0C0E16; --text-2:#565E6E; --text-3:#6B7280; --text-strong-2:#3A414E; --text-4:#9AA1AD;
    --line:rgba(12,18,40,.11); --line-2:rgba(12,18,40,.17); --fill:rgba(12,18,40,.04); --grid-dot:rgba(12,30,80,.05);
    --card-bg:#FFFFFF; --card-soft:#FFFFFF; --chip-bg:#FFFFFF;
    --panel-feature-bg:linear-gradient(135deg,#E6EEFF,#FFFFFF); --cta-bg:linear-gradient(135deg,#E6EFFF,#F4F8FF); --cta-border:rgba(45,107,224,.28);
    --nav-bg:rgba(247,249,252,.82); --accent-text:#2D6BE0; --num:#0E8FAE; --grad-1:#2D6BE0; --grad-2:#0E9DB8;
    --tile-silver:linear-gradient(135deg,#E3E8F0,#AEB7C6); --panel-shadow:rgba(16,30,70,.16); --seg-active:#FFFFFF;
  }
}
@media (max-width:1024px){
  .nav-links, .nav-login{ display:none !important; }
  .stats-grid{ grid-template-columns:1fr 1fr !important; }
  .stat-cell{ padding:24px 16px !important; }
  .stat-cell:nth-child(2n){ border-right:none !important; }
  .stat-cell:nth-child(-n+2){ border-bottom:1px solid var(--line) !important; }
  .stat-cell > div:first-child{ font-size:26px !important; }
}
@keyframes pulseDot{0%,100%{box-shadow:0 0 0 0 rgba(52,211,153,.55);}70%{box-shadow:0 0 0 7px rgba(52,211,153,0);}}
@keyframes floatY{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}

.nav-toggle{ position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.nav-burger{ display:none; align-items:center; justify-content:center; width:42px; height:42px; border-radius:10px; border:1px solid var(--line); color:var(--text); cursor:pointer; background:var(--fill); }
.nav-toggle:checked ~ .mobile-menu{ display:flex !important; }
@media(min-width:1025px){ .mobile-menu{ display:none !important; } }
@media(max-width:1024px){ .nav-burger{ display:flex !important; } }
.th-sun,.th-moon,.th-mon{ display:none !important; }
:root[data-theme="light"] .th-sun{ display:block !important; }
:root[data-theme="dark"] .th-moon{ display:block !important; }
:root:not([data-theme="light"]):not([data-theme="dark"]) .th-mon{ display:block !important; }
/*nav-mobile3*/
@media(max-width:1024px){
  .nav-row{ position:relative; }
  .nav-burger{ position:absolute; left:clamp(20px,5vw,32px); top:50%; transform:translateY(-50%); margin:0; }
  .nav-left{ position:absolute; left:50%; transform:translateX(-50%); gap:0 !important; }
  .nav-right{ margin-left:auto; }
  .nav-console{ display:none !important; }
}
@media(max-width:600px){ .foot-bottom{ flex-direction:column; align-items:flex-start; } }
.nav-links a{ white-space:nowrap; }

/* 分页器（套用主题色，覆盖定制 LinkPager 的 Bootstrap 外观）。
   本项目 LinkPager 实际输出 <nav class="lth-pagination"><ul class="pagination float-right hide"><li class="page-item">…，
   所以布局/去点必须落在内层 <ul>/<li>，而不是外层 nav（UA 的 ul{list-style:disc} 会压过 nav 的继承值）。 */
.lth-pagination > ul,
.lth-pagination .pagination{ display:flex !important; flex-wrap:wrap; gap:8px; justify-content:center; align-items:center; list-style:none; padding:0; margin:0; float:none !important; }
.lth-pagination li,
.lth-pagination .page-item{ list-style:none; margin:0; }
.lth-pagination li > a, .lth-pagination li > span{ display:inline-flex; align-items:center; justify-content:center; min-width:40px; height:40px; padding:0 12px; border-radius:9px; border:1px solid var(--line); background:var(--card-soft); color:var(--text-2); text-decoration:none; font-size:14px; line-height:1; }
.lth-pagination li.active > a, .lth-pagination li.active > span{ background:linear-gradient(135deg,#5B8CFF,#36D6E8); color:#0A0B0F; border-color:transparent; font-weight:600; }
.lth-pagination li.disabled > a, .lth-pagination li.disabled > span{ opacity:.45; pointer-events:none; }

/* 联系我们：ContactWidget 自带 .contact-* 结构 + 注册了 123idc 资源（灰色玻璃卡，为 123idc 暗背景设计）。
   不改共享 widget，改用 .lth-wrap 提高优先级覆盖为深空风格（无论 css 加载先后都能压过裸 .contact-* 类）。 */
.lth-wrap .contact-card{ background:var(--card-bg); border:1px solid var(--line); border-radius:18px; padding:28px 24px; height:100%; }
.lth-wrap .contact-card-title{ font-size:20px; font-weight:700; color:var(--text); text-align:center; margin:0 0 22px; }
.lth-wrap .contact-list{ display:flex; flex-direction:column; align-items:center; gap:22px; }
.lth-wrap .contact-item-card{ display:flex; flex-direction:column; align-items:center; gap:14px; min-width:0; max-width:100%; }
.lth-wrap .contact-item-card a{ color:inherit; text-decoration:none; display:flex; flex-direction:column; align-items:center; gap:14px; }
.lth-wrap .contact-item-icon{ width:64px; height:64px; border-radius:16px; background:linear-gradient(135deg,rgba(91,140,255,.18),rgba(54,214,232,.1)); border:1px solid rgba(91,140,255,.28); display:flex; align-items:center; justify-content:center; }
.lth-wrap .contact-item-icon img{ width:32px; height:32px; }
.lth-wrap .contact-item-content{ display:flex; flex-direction:column; align-items:center; gap:6px; }
.lth-wrap .contact-item-title{ font-size:16px; font-weight:600; color:var(--text); }
.lth-wrap .contact-item-desc{ font-size:13px; color:var(--text-2); word-break:break-all; text-align:center; }
.lth-wrap .contact-qrcode{ display:flex; flex-direction:column; align-items:center; gap:14px; width:100%; }
.lth-wrap .contact-qrcode img{ width:170px; height:170px; border-radius:10px; background:#fff; padding:6px; }

/* 右侧悬浮客服栏（RightWidget，复用 123idc 结构 + 深空配色）。
   弹层 .bg/.info 的样式由 widget 自带 <style> 提供，这里只管主体栏与图标。 */
.side-contact{ position:fixed; right:0; top:50%; transform:translateY(-50%); display:flex; flex-direction:column; gap:6px; background:var(--nav-bg); backdrop-filter:blur(14px); border:1px solid var(--line); border-right:none; border-radius:18px 0 0 18px; padding:14px 8px; z-index:1000; box-shadow:0 18px 40px var(--panel-shadow); }
.side-contact .contact-item{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; min-width:64px; padding:12px 6px; border-radius:12px; cursor:pointer; color:var(--text-2); transition:background .15s, color .15s; }
.side-contact .contact-item:hover{ background:var(--fill); color:var(--text); }
.side-contact .contact-item__icon{ font-size:20px; color:var(--accent-text); }
.side-contact .contact-item__text{ font-size:12px; line-height:1.3; white-space:nowrap; }
