/* 城南笔记全站统一页头：dashboard.html 与 ai.html 共用 */
.cn-global-header{
  position:relative!important;
  z-index:20;
  display:flex;
  flex-direction:column;
  margin:10px 10px 0!important;
  min-height:286px;
  padding:18px 26px 20px!important;
  border-radius:34px!important;
  overflow:hidden;
  color:#fff;
  background:linear-gradient(180deg,#e23f3f 0%,#cf3030 100%)!important;
  box-shadow:0 10px 26px rgba(190,42,42,.22);
}
.cn-header-main{
  display:grid;
  grid-template-columns:minmax(220px,.9fr) minmax(280px,1.4fr) 72px;
  align-items:center;
  gap:14px;
  min-height:112px;
  padding:12px 14px;
  border:2px solid transparent;
  border-radius:24px;
  background:linear-gradient(105deg,#ff8539 0%,#f34845 100%) padding-box,
             linear-gradient(120deg,#ffd27a 0%,#ff7b3d 38%,#f04445 72%,#c92c42 100%) border-box;
  box-shadow:0 0 0 2px rgba(255,174,91,.35),0 10px 24px rgba(190,42,42,.24);
}
.cn-site-brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  color:#fff;
  text-decoration:none!important;
}
.cn-logo-mark{display:block;flex:0 0 62px;width:62px;height:48px;border-radius:12px;object-fit:fill;box-shadow:0 6px 14px rgba(130,20,35,.22)}
.cn-brand-copy{min-width:0}
.cn-brand-copy strong{
  display:block;
  color:#fff;
  font-size:27px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}
.cn-brand-copy strong span{color:#ffd27a}
.cn-brand-copy small{
  display:block;
  margin-top:7px;
  color:rgba(255,255,255,.9);
  font-size:12px;
  letter-spacing:1px;
  white-space:nowrap;
}
.cn-global-search{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  height:48px;
  padding:5px 9px;
  border:2px solid rgba(255,255,255,.78);
  border-radius:999px;
  background:rgba(255,255,255,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4);
}
.cn-search-icon{
  display:grid;
  place-items:center;
  flex:0 0 34px;
  width:34px;
  height:34px;
  border-radius:10px;
  background:#c93632;
  color:#fff;
  font-size:13px;
  font-weight:900;
}
.cn-global-search input{
  width:100%;
  min-width:0;
  border:0!important;
  outline:0;
  background:transparent!important;
  color:#fff!important;
  font:inherit;
  font-size:15px;
}
.cn-global-search input::placeholder{color:rgba(255,255,255,.88)}
.cn-api-entry{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:70px;
  height:70px;
  border:1px solid rgba(255,255,255,.6)!important;
  border-radius:50%;
  background:linear-gradient(145deg,#ef3f4c,#c91e31)!important;
  color:#fff!important;
  font-size:20px;
  font-weight:950;
  line-height:1.05;
  text-decoration:none!important;
  box-shadow:0 8px 16px rgba(130,20,35,.25);
}
.cn-api-entry small{margin-top:4px;font-size:11px;font-weight:750}
.cn-risk-tip{
  margin:14px auto 20px;
  color:#ffe0a3;
  font-size:14px;
  line-height:1.4;
  text-align:center;
}
.cn-global-header .links{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
  margin:0!important;
  overflow:visible!important;
}
.cn-global-header .links a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:44px;
  padding:8px 6px;
  border:1px solid rgba(255,255,255,.2)!important;
  border-radius:14px;
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
  font-size:15px;
  font-weight:800;
  line-height:1.25;
  text-align:center;
  text-decoration:none!important;
  white-space:normal;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2);
}
.cn-global-header .links a.on,
.cn-global-header .links a:hover{
  background:rgba(255,255,255,.24)!important;
  border-color:rgba(255,255,255,.42)!important;
  color:#fff!important;
}
.cn-global-header a:focus-visible,
.cn-global-search input:focus-visible{
  outline:3px solid rgba(255,225,164,.8);
  outline-offset:2px;
}
@media(max-width:860px){
  .cn-global-header{
    min-height:0;
    margin:8px 8px 0!important;
    padding:6px 8px 7px!important;
    border-radius:20px!important;
  }
  .cn-header-main{
    grid-template-columns:minmax(0,1fr) 46px;
    grid-template-rows:auto auto;
    gap:3px;
    min-height:0;
    padding:5px;
    border-radius:16px;
  }
  .cn-site-brand{grid-column:1;grid-row:1;gap:6px}
  .cn-logo-mark{flex-basis:42px;width:42px;height:32px;border-radius:8px}
  .cn-brand-copy strong{font-size:18px}
  .cn-brand-copy small{margin-top:2px;font-size:9px;letter-spacing:0}
  .cn-global-search{grid-column:1 / -1;grid-row:2;height:30px;padding:3px 6px}
  .cn-search-icon{flex-basis:24px;width:24px;height:24px;border-radius:7px;font-size:10px}
  .cn-global-search input{font-size:12px}
  .cn-api-entry{grid-column:2;grid-row:1;width:40px;height:40px;font-size:14px}
  .cn-api-entry small{font-size:8px}
  .cn-risk-tip{margin:3px auto 4px;font-size:10px;line-height:1.15}
  .cn-global-header .links{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
  .cn-global-header .cn-dashboard-nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
  .cn-global-header .cn-dashboard-nav a[data-tab="calendar"],
  .cn-global-header .cn-dashboard-nav a[data-tab="ann"]{display:none}
  .cn-global-header .links a{min-height:28px;padding:4px 3px;border-radius:9px;font-size:12px}
}
@media(max-width:420px){
  .cn-global-header{padding:5px 7px 6px!important}
  .cn-header-main{gap:3px;padding:4px}
  .cn-logo-mark{flex-basis:38px;width:38px;height:30px}
  .cn-brand-copy strong{font-size:17px}
  .cn-brand-copy small{font-size:8px}
  .cn-global-search{height:28px}
  .cn-api-entry{width:38px;height:38px}
  .cn-risk-tip{margin:2px auto 3px;font-size:9px}
  .cn-global-header .links{gap:4px}
  .cn-global-header .links a{min-height:26px;padding:3px 2px;font-size:11.5px}
}
/* AI工作台在统一头部下保留满屏对话区 */
.cn-ai-shell{
  height:calc(100dvh - 296px);
  min-height:calc(100dvh - 296px);
}
.cn-ai-shell>.workspace{height:100%;max-height:100%}
.cn-ai-online{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-left:0;
  color:#748096;
  font-size:11px;
  white-space:nowrap;
}
.cn-ai-online .dot{width:7px;height:7px;margin:0;background:#68c9a1;border-radius:50%}
@media(max-width:860px){
  .cn-ai-shell{height:calc(100dvh - 194px);min-height:calc(100dvh - 194px)}
  .cn-ai-online{margin-right:auto}
  .cn-ai-online span:last-child{display:none}
}
@media(max-width:420px){
  .cn-ai-shell{height:calc(100dvh - 170px);min-height:calc(100dvh - 170px)}
}
@media(prefers-reduced-motion:reduce){
  .cn-global-header *{scroll-behavior:auto!important;transition:none!important}
}
/* Keep touch-triggered focus rings compact and follow the rounded controls. */
.cn-site-brand{width:fit-content;max-width:100%;justify-self:start;border-radius:14px}
.cn-global-header a:focus-visible{outline:2px solid rgba(255,225,164,.9);outline-offset:3px}
.cn-global-search:focus-within{outline:2px solid rgba(255,225,164,.9);outline-offset:2px}
.cn-global-search input:focus-visible{outline:0!important;outline-offset:0}

/* 玻璃渐变统一页头 */
.cn-global-header{
  border:1px solid rgba(255,255,255,.42)!important;
  background:radial-gradient(ellipse at 10% 0%,rgba(255,191,126,.30),transparent 45%),linear-gradient(135deg,rgba(255,105,115,.86),rgba(238,91,111,.78))!important;
  box-shadow:0 14px 34px rgba(174,39,55,.20),inset 0 1px 0 rgba(255,255,255,.48)!important;
  backdrop-filter:blur(24px) saturate(155%)!important;
  -webkit-backdrop-filter:blur(24px) saturate(155%)!important;
}
.cn-header-main{
  border:1px solid rgba(255,255,255,.72)!important;
  background:linear-gradient(120deg,rgba(116,20,42,.38),rgba(147,31,52,.26)) padding-box,linear-gradient(135deg,rgba(255,244,221,.9),rgba(255,255,255,.28),rgba(255,179,154,.60)) border-box!important;
  box-shadow:0 10px 24px rgba(112,27,45,.17),inset 0 1px 0 rgba(255,255,255,.48)!important;
  backdrop-filter:blur(22px) saturate(155%)!important;
  -webkit-backdrop-filter:blur(22px) saturate(155%)!important;
}
.cn-global-search{background:linear-gradient(135deg,rgba(255,255,255,.28),rgba(255,255,255,.12))!important;backdrop-filter:blur(18px) saturate(150%)!important;-webkit-backdrop-filter:blur(18px) saturate(150%)!important}
.cn-api-entry{background:linear-gradient(145deg,rgba(255,255,255,.30),rgba(181,34,60,.42))!important;border:1px solid rgba(255,255,255,.76)!important;box-shadow:0 8px 18px rgba(117,24,40,.20),inset 0 1px 0 rgba(255,255,255,.62)!important;backdrop-filter:blur(16px) saturate(145%)!important;-webkit-backdrop-filter:blur(16px) saturate(145%)!important}
.cn-global-header .links a{background:linear-gradient(135deg,rgba(255,255,255,.24),rgba(255,255,255,.09))!important;border:1px solid rgba(255,255,255,.44)!important;box-shadow:0 6px 16px rgba(110,24,40,.14),inset 0 1px 0 rgba(255,255,255,.48)!important;backdrop-filter:blur(14px) saturate(145%)!important;-webkit-backdrop-filter:blur(14px) saturate(145%)!important}
.cn-global-header .links a.on,.cn-global-header .links a:hover{background:linear-gradient(135deg,rgba(255,255,255,.40),rgba(255,255,255,.18))!important;border-color:rgba(255,255,255,.74)!important}
.cn-logo-mark{border:1px solid rgba(255,255,255,.55);box-shadow:0 7px 16px rgba(102,23,37,.23),inset 0 1px 0 rgba(255,255,255,.4)}
/* Mobile header: compact one-line brand/search, translucent glass surface */
@media(max-width:860px){
  .cn-global-header{
    margin:5px 6px 0!important;
    padding:5px 7px 6px!important;
    background:
      radial-gradient(ellipse at 15% 0%,rgba(255,255,255,.26),transparent 48%),
      linear-gradient(135deg,rgba(255,105,115,.78),rgba(238,91,111,.68))!important;
    box-shadow:0 10px 24px rgba(174,39,55,.14),inset 0 1px 0 rgba(255,255,255,.62)!important;
    backdrop-filter:blur(28px) saturate(165%)!important;
    -webkit-backdrop-filter:blur(28px) saturate(165%)!important;
  }
  .cn-header-main{
    grid-template-columns:minmax(100px,.72fr) minmax(0,1fr) 38px;
    grid-template-rows:auto;
    gap:5px;
    padding:4px;
    background:linear-gradient(120deg,rgba(255,255,255,.23),rgba(255,255,255,.10)) padding-box,
      linear-gradient(135deg,rgba(255,255,255,.78),rgba(255,255,255,.28),rgba(255,190,176,.64)) border-box!important;
    box-shadow:0 6px 16px rgba(112,27,45,.11),inset 0 1px 0 rgba(255,255,255,.62)!important;
    backdrop-filter:blur(24px) saturate(160%)!important;
    -webkit-backdrop-filter:blur(24px) saturate(160%)!important;
  }
  .cn-site-brand{grid-column:1;grid-row:1;gap:5px}
  .cn-logo-mark{flex-basis:34px;width:34px;height:30px}
  .cn-brand-copy strong{font-size:16px}
  .cn-brand-copy small{margin-top:2px;font-size:8px}
  .cn-global-search{grid-column:2;grid-row:1;height:28px;padding:2px 5px}
  .cn-search-icon{flex-basis:22px;width:22px;height:22px}
  .cn-global-search input{font-size:11px}
  .cn-api-entry{grid-column:3;grid-row:1;width:36px;height:36px}
  .cn-api-entry small{font-size:7px}
  .cn-risk-tip{margin:3px auto;font-size:9px;line-height:1.1}
  .cn-global-header .links{gap:4px}
  .cn-global-header .links a{min-height:25px;padding:3px 2px;font-size:11px}
}
/* Keep the lighter coral glass header readable on phone screens. */
@media(max-width:860px){
  .cn-global-header{
    background:
      radial-gradient(ellipse at 15% 0%,rgba(255,255,255,.24),transparent 48%),
      linear-gradient(135deg,rgba(242,77,90,.90),rgba(220,57,79,.86))!important;
    border-color:rgba(255,255,255,.68)!important;
  }
}
.cn-brand-copy strong{color:#7e293e!important}
.cn-brand-copy small{color:rgba(83,42,53,.92)!important}
.cn-global-search{
  background:linear-gradient(135deg,rgba(255,255,255,.70),rgba(255,255,255,.48))!important;
  border-color:rgba(125,43,57,.34)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.88)!important;
}
.cn-global-search input{color:#542735!important}
.cn-global-search input::placeholder{color:rgba(84,39,53,.70)!important}
.cn-api-entry{
  background:linear-gradient(145deg,#ed5c69,#d8445b)!important;
  border-color:rgba(255,255,255,.88)!important;
  color:#fff!important;
}
.cn-risk-tip{color:#743444!important}
.cn-global-header .links a{
  color:#813347!important;
  background:linear-gradient(135deg,rgba(255,255,255,.66),rgba(255,255,255,.42))!important;
  border-color:rgba(255,255,255,.82)!important;
  box-shadow:0 4px 12px rgba(110,24,40,.10),inset 0 1px 0 rgba(255,255,255,.92)!important;
}
.cn-global-header .links a.on,
.cn-global-header .links a:hover{
  color:#fff!important;
  background:linear-gradient(135deg,#ee6570,#db4b61)!important;
  border-color:rgba(255,255,255,.86)!important;
}
/* Eastmoney market search results panel */
.cn-mx-search-overlay{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(20,31,51,.42);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.cn-mx-search-overlay[hidden]{display:none!important}
.cn-mx-search-sheet{display:flex;flex-direction:column;width:min(780px,100%);height:min(86dvh,820px);max-height:calc(100vh - 36px);overflow:hidden;border:1px solid rgba(255,255,255,.88);border-radius:24px;background:linear-gradient(145deg,rgba(250,252,255,.98),rgba(235,242,253,.98));box-shadow:0 24px 80px rgba(19,38,70,.24);color:#19263b}
.cn-mx-search-head{display:flex;align-items:center;gap:12px;padding:13px 16px 9px;border-bottom:1px solid rgba(130,151,183,.18)}
.cn-mx-search-title{flex:1;margin:0;font-size:17px;line-height:1.3;font-weight:750}
.cn-mx-search-close{width:34px;height:34px;border:1px solid rgba(130,151,183,.25);border-radius:12px;background:rgba(255,255,255,.8);color:#52647e;font-size:20px;line-height:1;cursor:pointer}
.cn-mx-search-form{display:flex;gap:8px;padding:10px 16px 8px}
.cn-mx-search-form input{flex:1;min-width:0;height:42px;padding:0 14px;border:1px solid rgba(105,132,175,.28);border-radius:14px;background:#fff;color:#19263b;font-size:16px!important;outline:none}
.cn-mx-search-form input:focus{border-color:#6388d6;box-shadow:0 0 0 3px rgba(99,136,214,.14)}
.cn-mx-search-submit{min-width:76px;padding:0 16px;border:0;border-radius:14px;background:linear-gradient(135deg,#527be0,#6c65dc);color:#fff;font-size:14px;font-weight:700;cursor:pointer}
.cn-mx-search-status{min-height:20px;padding:0 16px 6px;color:#72809a;font-size:12px}
.cn-mx-search-results{flex:1;min-height:0;overflow:auto;padding:0 16px 14px;-webkit-overflow-scrolling:touch}
.cn-mx-search-result{margin:0 0 8px;padding:11px 13px;border:1px solid rgba(255,255,255,.95);border-radius:17px;background:rgba(255,255,255,.76);box-shadow:0 8px 24px rgba(46,69,105,.06)}
.cn-mx-search-result h3{margin:0 0 5px;color:#202c41;font-size:15px;line-height:1.45}
.cn-mx-search-meta{margin-bottom:5px;color:#8390a4;font-size:11.5px}
.cn-mx-search-result p{margin:0;color:#59677d;font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.cn-mx-search-result details{margin-top:5px;color:#536fbd;font-size:12px}
.cn-mx-search-result details summary{cursor:pointer;user-select:none}
.cn-mx-search-empty{padding:32px 12px;text-align:center;color:#8793a6;font-size:13px}
.cn-mx-search-loading{display:inline-block;width:14px;height:14px;margin-right:7px;border:2px solid rgba(90,117,170,.22);border-top-color:#6384d2;border-radius:50%;vertical-align:-2px;animation:cn-mx-spin .7s linear infinite}
@keyframes cn-mx-spin{to{transform:rotate(360deg)}}
@media(max-width:640px){.cn-mx-search-overlay{padding:0;align-items:stretch}.cn-mx-search-sheet{width:100%;height:100dvh;max-height:100vh;border:0;border-radius:0;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.cn-mx-search-head{padding:12px 16px 8px}.cn-mx-search-form{padding:10px 16px 6px}.cn-mx-search-status{padding:0 16px 6px}.cn-mx-search-results{padding:0 12px 14px}.cn-mx-search-result{padding:11px 13px}.cn-mx-search-title{font-size:17px}}

/* 2026-10-24 A4: 桌面顶栏压缩高度，副标题完整显示 */
@media(min-width:861px){
  .cn-global-header{min-height:0;padding:12px 20px 14px;border-radius:26px}
  .cn-header-main{grid-template-columns:minmax(250px,.85fr) minmax(280px,1.5fr) 64px;min-height:0;padding:8px 12px;border-radius:18px}
  .cn-logo-mark{flex-basis:52px;width:52px;height:40px}
  .cn-brand-copy strong{font-size:24px}
  .cn-brand-copy small{margin-top:5px;font-size:11.5px;overflow:visible}
  .cn-site-brand{overflow:visible;padding:4px 8px 5px}
  .cn-brand-copy{overflow:visible;min-width:0}
  .cn-global-search{height:42px}
  .cn-search-icon{flex-basis:30px;width:30px;height:30px}
  .cn-api-entry{width:60px;height:60px;font-size:17px}
  .cn-risk-tip{margin:8px auto 10px;font-size:12.5px}
  .cn-global-header .links a{min-height:36px;font-size:14px}
  .cn-ai-shell{height:calc(100dvh - 216px);min-height:calc(100dvh - 216px)}
}

/* 审计修复 B15: 搜索弹层示例词 */
.cn-mx-search-examples{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:2px 16px 8px}
.cn-mx-search-examples span{color:#72809a;font-size:12px}
.cn-mx-search-examples button{border:1px solid rgba(105,132,175,.25);background:#fff;color:#3c5a96;border-radius:999px;padding:4px 11px;font-size:12.5px;cursor:pointer}
