/* 本地 RSS 阅读器 —— 界面风格参照 FreshRSS */
:root {
  --side-bg: #f6f8fa;
  --side-bg-hover: rgba(0, 0, 0, .04);
  --side-active: #0969da;
  --side-text: #1f2328;
  --side-dim: #656d76;
  --line: #e3e7ec;
  --blue: #0969da;
  --red: #b0202b;
  --unread-bg: #f7e8e8;
  --star: #f4b400;
  --dim: #7a848e;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  height: 100%;
  font-family: "Segoe UI", "Microsoft YaHei", "PingFang SC", Helvetica, Arial, sans-serif;
  font-size: 14px;
  color: #22262b;
  background: #fff;
}

a { color: inherit; text-decoration: none; }
button { font: inherit; }

/* ---------------- 顶栏 ---------------- */
.topbar {
  height: 52px;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 0 14px;
  border-bottom: 1px solid var(--line);
  background: #fff;
}

.brand { display: flex; align-items: center; gap: 8px; }

.brand-logo {
  width: 24px;
  height: 24px;
  display: block;
  flex: 0 0 auto;
}

.brand-name { font-size: 17px; font-weight: 700; color: #14558f; letter-spacing: .5px; }

.search { flex: 1; max-width: 560px; margin: 0 auto; position: relative; }
.search input {
  width: 100%;
  height: 34px;
  border: 1px solid #d5dbe2;
  border-radius: 18px;
  padding: 0 16px 0 38px;
  outline: none;
  font-size: 13px;
  color: #22262b;
  background: #fff;
}
.search input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(9, 105, 218, .12); }
.search-ic {
  position: absolute; left: 13px; top: 8px; width: 17px; height: 17px; color: #98a3ae;
}

/* ---------- 骨架屏：列表/侧栏加载期间占位，避免白屏 ---------- */
.skel-row { padding: 13px 0; border-bottom: 1px solid #f0f2f5; }
.skel-row.side { padding: 9px 12px; border-bottom: none; }
.skel {
  background: linear-gradient(90deg, #eef1f4 25%, #e3e8ee 37%, #eef1f4 63%);
  background-size: 400% 100%;
  animation: skel 1.4s ease infinite;
  border-radius: 4px;
  height: 12px;
  margin-bottom: 8px;
}
.skel-title { height: 15px; width: 62%; }
.skel-line { width: 92%; }
.skel-line.short { width: 45%; margin-bottom: 0; }
@keyframes skel {
  0% { background-position: 100% 50%; }
  100% { background-position: 0 50%; }
}

/* ---------------- 主体 ---------------- */
.main { display: flex; height: calc(100vh - 52px); }

.sidebar {
  width: 274px;
  min-width: 274px;
  background: var(--side-bg);
  color: var(--side-text);
  overflow-y: auto;
  padding-bottom: 30px;
}

.side-add {
  margin: 12px 12px 6px;
  padding: 10px 10px;
  background: var(--side-active);
  color: #fff;
  border-radius: 6px;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.side-add:hover { background: #0550ae; }

/* 侧栏筛选订阅源（订阅上千时按名字定位） */
.side-search { padding: 0 12px 8px; }
.side-search input {
  width: 100%;
  height: 32px;
  box-sizing: border-box;
  padding: 0 10px;
  border: 1px solid #d1d9e0;
  border-radius: 6px;
  background: #fff;
  color: var(--side-text);
  font-size: 14px;
  outline: none;
}
.side-search input::placeholder { color: #8c959f; }
.side-search input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(9, 105, 218, .12); }
.side-cat { color: #6e7781; font-size: 12.5px; margin-left: 6px; }

/* 展开后的订阅列表：源多时在自己的区域内滚动，不把整条侧栏撑爆 */
.side-subs {
  max-height: 320px;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
}

/* 浅色侧栏的滚动条 */
.sidebar::-webkit-scrollbar { width: 9px; }
.sidebar::-webkit-scrollbar-thumb { background: #c7cdd3; border-radius: 5px; }
.sidebar::-webkit-scrollbar-thumb:hover { background: #aeb5bd; }
.sidebar::-webkit-scrollbar-track { background: transparent; }
.side-subs::-webkit-scrollbar { width: 8px; }
.side-subs::-webkit-scrollbar-thumb { background: #c7cdd3; border-radius: 4px; }
.side-subs::-webkit-scrollbar-track { background: rgba(0, 0, 0, .05); }

.side-item {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 9px 14px;
  font-size: 15.5px;
  cursor: pointer;
  user-select: none;
  line-height: 1.35;
  color: var(--side-text);
}
.side-item:hover { background: var(--side-bg-hover); }
.side-item.active { background: var(--side-active); color: #fff; font-weight: 600; }
.side-item .lab { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.side-item .badge {
  margin-left: auto;
  color: var(--side-dim);
  font-size: 12.5px;
  font-weight: 500;
  padding: 1px 9px;
  min-width: 14px;
  text-align: center;
  background: rgba(0, 0, 0, .06);
  border-radius: 999px;
  flex: 0 0 auto;
}
.side-item.active .badge { color: #fff; background: rgba(255, 255, 255, .22); }

/* 侧栏菜单项的左侧图标（首页/重要/收藏） */
.side-ic { width: 17px; height: 17px; flex: 0 0 auto; display: inline-flex; color: #656d76; }
.side-ic .ic { width: 17px; height: 17px; }
.side-ic.star { color: #f4b400; }
.side-item.active .side-ic { color: #fff; }

/* 分类行：该分类下有采集失败的源时显示红色警告（同 FreshRSS） */
.side-warn { width: 15px; height: 15px; flex: 0 0 auto; display: inline-flex; color: #e5484d; }
.side-warn .ic { width: 15px; height: 15px; }

.side-sub {
  padding-left: 36px;
  font-size: 14.5px;
  color: #4b5563;
}
/* 源行的 favicon（加载失败时全局监听会替换成首字母色块） */
.side-fav, .side-sub .fav-fb { width: 17px; height: 17px; border-radius: 4px; flex: 0 0 auto; object-fit: cover; cursor: pointer; }
.side-fav { background: #fff; border: 1px solid #d1d9e0; }
.side-sub .fav-fb:hover, .side-fav:hover { box-shadow: 0 0 0 2px rgba(9, 105, 218, .25); }
.side-gear { width: 18px; height: 18px; flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center;
  color: #8c959f; cursor: pointer; border-radius: 4px; transition: color .12s, background .12s; }
.side-gear .ic { width: 17px; height: 17px; }
.side-gear:hover { color: var(--blue); background: rgba(9, 105, 218, .08); }
.side-sub .lab { flex: 1 1 auto; min-width: 0; }
.side-sub.has-unread .lab { font-weight: 600; color: var(--side-text); }

.side-caret { width: 17px; height: 17px; transition: transform .15s; color: #6e7781; flex: 0 0 auto; }
.side-caret.collapsed { transform: rotate(-90deg); }
.side-grp.collapsed .side-caret { transform: rotate(-90deg); }

.side-sep { height: 1px; background: rgba(0, 0, 0, .08); margin: 10px 12px; }
.side-note { padding: 4px 14px 8px; font-size: 12.5px; color: #6e7781; }
.dot { width: 6px; height: 6px; border-radius: 50%; background: #8c959f; margin: 0 5px 0 6px; flex: 0 0 auto; }

/* ---------------- 内容区 ---------------- */
.content { flex: 1; min-width: 0; overflow-y: auto; background: #fff; }

.toolbar {
  position: sticky;
  top: 0;
  z-index: 6;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 6px 16px;
  background: #fcfdfe;
  border-bottom: 1px solid var(--line);
}
.tool-left { display: flex; align-items: center; gap: 4px; }
.tool-right { display: flex; align-items: center; gap: 10px; }
.scope-title { font-weight: 700; font-size: 14.5px; color: #26303a; }
.scope-count {
  color: #6b7683;
  font-size: 12px;
  background: #eef2f6;
  padding: 2px 9px;
  border-radius: 10px;
}

.icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: none;
  background: transparent;
  color: #5c6874;
  border-radius: 4px;
  cursor: pointer;
}
.icon-btn:hover { background: #eceff3; color: #22303f; }

.ic { width: 18px; height: 18px; }
.ic.caret { width: 13px; height: 13px; }

.tool-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  height: 30px;
  padding: 0 9px;
  border: 1px solid transparent;
  background: transparent;
  color: #4b5765;
  border-radius: 4px;
  cursor: pointer;
  font-size: 13px;
}
.tool-btn:hover { background: #eceff3; }
.tool-btn.on { background: #e4f0ff; color: var(--blue); border-color: #c7e0ff; }
.tool-btn .ic.caret { margin-left: 2px; }

/* 标签筛选：点击左侧源后自动列出该源文章的标签 */
.tag-bar {
  display: none;
  align-items: center;
  gap: 6px;
  margin-left: 6px;
  padding-left: 10px;
  border-left: 1px solid var(--line);
  flex-wrap: wrap;
}
.tag-bar.show { display: inline-flex; }
.tag-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 26px;
  padding: 0 10px;
  border: 1px solid #d5dbe2;
  background: #fff;
  color: #4b5765;
  border-radius: 13px;
  cursor: pointer;
  font-size: 12.5px;
  transition: background .12s, border-color .12s, color .12s;
}
.tag-chip:hover { background: #f1f4f8; border-color: #b8c0c8; }
.tag-chip.active { background: #e4f0ff; color: var(--blue); border-color: #c7e0ff; font-weight: 600; }
.tag-chip .tcnt { color: #8c959f; font-size: 11.5px; }
.tag-chip.active .tcnt { color: var(--blue); opacity: .75; }

.dropdown { position: relative; }
.menu {
  position: absolute;
  top: 32px;
  left: 0;
  min-width: 190px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 6px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, .12);
  padding: 4px;
  z-index: 20;
  display: none;
}
.menu.show { display: block; }
.menu-item { padding: 7px 10px; font-size: 13px; border-radius: 4px; cursor: pointer; white-space: nowrap; }
.menu-item:hover { background: #f1f4f8; }
.menu-sep { height: 1px; background: var(--line); margin: 4px 2px; }

/* 顶栏用户芯片（登录态 / 后台入口） */
.user-chip {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 32px;
  padding: 0 8px 0 4px;
  margin-left: 6px;
  border-radius: 16px;
  cursor: pointer;
  color: #4b5765;
  user-select: none;
}
.user-chip:hover { background: #eceff3; }
.uc-avatar {
  width: 26px; height: 26px; border-radius: 50%;
  background: var(--blue); color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 13px; font-weight: 600; flex: 0 0 auto;
}
.uc-name { font-size: 13px; max-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-chip .ic.caret { width: 13px; height: 13px; opacity: .6; }
.user-menu { top: 38px; right: 0; left: auto; min-width: 140px; }
.user-menu .menu-item { text-decoration: none; color: #4b5765; display: block; }


/* ---------------- 文章列表 ---------------- */
.list { padding-bottom: 28px; }

.day-head {
  position: sticky;
  top: 45px;
  z-index: 3;
  padding: 14px 16px 9px;
  background: #fff;
  font-size: 15.5px;
  font-weight: 700;
  color: #101418;
  letter-spacing: .2px;
  border-bottom: 1px solid #e8ebef;
}
.day-head:first-child { padding-top: 12px; }

/* FreshRSS 式行布局：状态条 | 邮件 | 星标 | 来源(固定列) | 标题 | 时间 | 外链 */
.entry {
  display: flex;
  align-items: center;
  padding: 0 14px 0 10px;
  height: 52px;
  border-left: 4px solid transparent;
  background: #fff;
  cursor: pointer;
  transition: background .12s ease, opacity .15s ease;
}
/* 行与行之间的浅分割线（半透明，未读红底/已读白底都协调） */
.entry + .entry { box-shadow: inset 0 1px 0 rgba(20, 32, 50, .16); }
.entry.unread { background: #f9e9e9; border-left-color: #d64541; }
.entry:hover { background: #eef2f7; }
.entry.unread:hover { background: #f4dede; }
.entry.active { background: #e8f1fd; }

.entry .icon-btn { width: 32px; height: 32px; border-radius: 6px; flex: 0 0 auto; }
.entry .icon-btn:hover { background: rgba(20, 40, 70, .09); }
.entry .ic { width: 22px; height: 22px; }

.e-mail { color: #b3bdc7; }
.entry.unread .e-mail { color: #d64541; }
.e-star { color: #c6cdd5; }
.e-star.faved { color: var(--star); }
.e-star:hover { color: #e0a800; }

/* 来源固定宽列：favicon + 名称，所有标题从同一位置开始 */
.e-feed {
  flex: 0 0 208px;
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding-right: 18px;
  color: #0969da;
  font-size: 15.5px;
  white-space: nowrap;
}
.e-feed:hover .e-feed-name { text-decoration: underline; }
.e-feed .fav { width: 21px; height: 21px; border-radius: 4px; flex: 0 0 auto; object-fit: cover; }
.fav-fb {
  width: 21px;
  height: 21px;
  border-radius: 4px;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1;
}
.e-feed-name { overflow: hidden; text-overflow: ellipsis; }

.e-title {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 18px;
  color: #5f6871;
}
.entry.unread .e-title { font-weight: 600; color: #14181d; }

.e-time {
  flex: 0 0 152px;
  text-align: right;
  color: #79838f;
  font-size: 14.5px;
  font-variant-numeric: tabular-nums;
}

.e-ext {
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  margin-left: 8px;
  border: 1px solid #d9dfe6;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #98a3ae;
  opacity: .55;
  transition: opacity .12s ease, color .12s ease, border-color .12s ease;
}
.e-ext .ic { width: 15px; height: 15px; }
.entry:hover .e-ext { opacity: 1; color: var(--blue); border-color: #b9d2f5; }

.empty { padding: 60px 20px; text-align: center; color: var(--dim); }

.pager { display: flex; justify-content: center; align-items: center; gap: 12px; padding: 14px 0 30px; }
.pager button {
  height: 30px;
  padding: 0 14px;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 4px;
  cursor: pointer;
  color: #45505c;
}
.pager button:hover:not(:disabled) { background: #f1f4f8; }
.pager button:disabled { color: #b8c0c8; cursor: default; }
.pager .pinfo { color: var(--dim); font-size: 13px; }

/* 每页条数选择器 */
.pager .psize { color: var(--dim); font-size: 13px; display: inline-flex; align-items: center; gap: 5px; }
.psize-sel {
  height: 28px;
  padding: 0 6px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #fff;
  color: #45505c;
  font-size: 13px;
  cursor: pointer;
}
.psize-sel:hover { border-color: var(--brand, #4a7fd4); }

/* ---------------- 文章弹窗 ---------------- */
.mask { position: fixed; inset: 0; background: rgba(15, 20, 26, .45); z-index: 60; }

.win {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  /* 自适应窗口大小，接近全屏（留一点边，方便双击遮罩关闭） */
  width: calc(100vw - 28px);
  max-width: 1800px;
  height: calc(100vh - 28px);
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 16px 48px rgba(0, 0, 0, .32);
  display: flex;
  flex-direction: column;
  z-index: 61;
  overflow: hidden;
}

.win-top {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 34px 12px;
  border-bottom: 1px solid var(--line);
  cursor: default;
}
/* 标题区与正文栏同宽（780px）居中，视觉对齐 */
.win-head { flex: 1; min-width: 0; max-width: 820px; margin: 0 auto; }
.win-title-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding-right: 88px; /* 避开右上角按钮 */
}
.win-title { flex: 1; min-width: 0; }
.win-title-row .star-btn { flex: 0 0 auto; margin-top: -1px; }
.win-title-row .star-btn.faved { color: var(--star); }
.win-title { flex: 1; min-width: 0; font-size: 21px; font-weight: 700; line-height: 1.4; margin-bottom: 6px; }
.win-meta { font-size: 14.5px; color: var(--dim); display: flex; gap: 14px; flex-wrap: wrap; }
.win-meta span:empty { display: none; }
.win-actions { position: absolute; right: 20px; top: 12px; display: flex; align-items: center; gap: 2px; flex: 0 0 auto; }
.win-tip { font-size: 11.5px; color: #9aa5b0; margin-right: 6px; }
#win-star.faved { color: var(--star); }

.win-body {
  flex: 1;
  overflow-y: auto;
  overflow-anchor: none; /* 关闭浏览器滚动锚定，避免图片加载后位置跳动 */
  padding: 28px 34px 56px;
  font-size: 18px;
  line-height: 1.88;
  color: #262b31;
}
/* 正文阅读区：窗口全屏但内容限宽居中，眼睛更舒服 */
.read-wrap {
  max-width: 820px;
  margin: 0 auto;
}
.win-body img { max-width: 100%; height: auto; }
.win-body a { color: var(--blue); }
.win-body pre { overflow-x: auto; background: #f6f8fa; padding: 10px; border-radius: 4px; }
.win-body table { max-width: 100%; }
.win-summary { color: #4d5661; font-size: 14px; }

/* ---------------- 收藏选择 ---------------- */
.fpmask { position: fixed; inset: 0; background: rgba(15, 20, 26, .35); z-index: 70; }

.favpick {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 340px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 14px 40px rgba(0, 0, 0, .28);
  padding: 16px;
  z-index: 71;
}
.fp-title { font-weight: 700; font-size: 15px; margin-bottom: 12px; }
.favpick select, .favpick input {
  width: 100%;
  height: 34px;
  border: 1px solid #d5dbe2;
  border-radius: 4px;
  padding: 0 10px;
  font-size: 13px;
  outline: none;
  margin-bottom: 10px;
}
.favpick input:focus, .favpick select:focus { border-color: var(--blue); }
.fp-actions { display: flex; align-items: center; gap: 8px; margin-top: 4px; }
.spacer { flex: 1; }

/* ---------------- 订阅源菜单弹窗 ---------------- */
.feedmenu {
  position: fixed;
  left: 300px;
  top: 120px;
  width: 300px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 14px 40px rgba(0, 0, 0, .28);
  padding: 14px;
  z-index: 81;
}
.fm-head { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.fm-ic { flex: 0 0 auto; display: inline-flex; }
.fm-ic .fav { width: 30px; height: 30px; border-radius: 6px; object-fit: cover; background: #f2f4f7; }
.fm-ic .fav-fb { width: 30px; height: 30px; border-radius: 6px; font-size: 15px; display: inline-flex; align-items: center; justify-content: center; color: #fff; }
.fm-meta { min-width: 0; }
.fm-name { font-weight: 700; font-size: 14.5px; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fm-sub { color: #7d8998; font-size: 12px; margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fm-stats {
  display: flex; flex-wrap: wrap; gap: 4px 14px;
  background: #f4f6f9; border-radius: 6px;
  padding: 8px 10px; margin-bottom: 10px;
  font-size: 12.5px; color: #5b6875;
}
.fm-stats b { color: #22303e; font-weight: 700; }
.fm-stats .fm-err { color: #e5484d; font-weight: 700; cursor: help; }
.fm-item {
  padding: 9px 10px;
  border-radius: 6px;
  font-size: 13.5px;
  color: #2c3a48;
  cursor: pointer;
  line-height: 1.4;
}
.fm-item:hover { background: #eef4fb; color: #1667c2; }
.fm-div { height: 1px; background: #eceff3; margin: 6px 4px; }
.fm-item.danger { color: #d9342b; }
.fm-item.danger:hover { background: #fdecea; color: #d9342b; }

.btn-primary {
  height: 32px;
  padding: 0 14px;
  border: none;
  border-radius: 4px;
  background: var(--blue);
  color: #fff;
  cursor: pointer;
  font-size: 13px;
}
.btn-primary:hover { background: #1567d3; }
.btn-ghost {
  height: 32px;
  padding: 0 12px;
  border: 1px solid #d5dbe2;
  border-radius: 4px;
  background: #fff;
  color: #55606c;
  cursor: pointer;
  font-size: 13px;
}
.btn-ghost:hover { background: #f2f5f8; }
.btn-danger { color: #c0392b; }

/* ---------------- 通用表单弹窗 ---------------- */
.dlgmask { position: fixed; inset: 0; background: rgba(15, 20, 26, .35); z-index: 85; }
.dialog {
  position: fixed; left: 50%; top: 50%; transform: translate(-50%, -50%);
  width: 420px; max-width: calc(100vw - 28px); max-height: calc(100vh - 28px);
  background: #fff; border-radius: 10px; box-shadow: 0 16px 48px rgba(0, 0, 0, .28);
  z-index: 86; display: flex; flex-direction: column; overflow: hidden;
}
.dlg-head { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; border-bottom: 1px solid var(--line); }
.dlg-title { font-weight: 700; font-size: 15.5px; }
.dlg-body { padding: 16px; overflow-y: auto; }
.dlg-foot { display: flex; justify-content: flex-end; gap: 8px; padding: 12px 16px; border-top: 1px solid var(--line); }
.field { margin-bottom: 12px; }
.field label { display: block; font-size: 13px; font-weight: 600; color: #334; margin-bottom: 5px; }
.field input, .field select {
  width: 100%; height: 34px; border: 1px solid #d5dbe2; border-radius: 5px;
  padding: 0 10px; font-size: 13px; outline: none; background: #fff;
}
.field input:focus, .field select:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(9, 105, 218, .12); }
.field .hint { font-size: 12px; color: #7a848e; margin-top: 4px; }
.chk { display: flex; align-items: center; gap: 7px; font-weight: 500 !important; cursor: pointer; }
.chk input { width: auto; height: auto; }

/* ---------------- 提示 ---------------- */
.toast {
  position: fixed;
  left: 50%;
  bottom: 40px;
  transform: translateX(-50%);
  background: rgba(30, 38, 48, .92);
  color: #fff;
  padding: 9px 18px;
  border-radius: 18px;
  font-size: 13px;
  z-index: 99;
}

.hidden { display: none !important; }
