/* ═══════════════════════════════════════════════════
   MangaOS 3.1 — 漫画感动漫桌面
   设计语言：粉彩玻璃 + 漫画描边 + 半调网点 + 水纹背景
   ═══════════════════════════════════════════════════ */

.mgo-root {
  --accent: #ff6fae;
  --ink: #3b2e50;
  --ink-soft: #6f6390;
  --paper: rgba(255, 255, 255, 0.82);
  --paper-strong: rgba(255, 255, 255, 0.92);
  --glass-blur: 20px;
  --line: rgba(59, 46, 80, 0.14);
  --shadow-win: 0 24px 70px -18px rgba(70, 40, 110, 0.35), 0 4px 18px rgba(70, 40, 110, 0.12);
  --r-lg: 26px;
  --r-md: 18px;
  --r-sm: 12px;
  --font: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", "Source Han Sans SC", system-ui, sans-serif;
  --script: "Segoe Script", "Xingkai SC", "STXingkai", "KaiTi", "Comic Sans MS", cursive;
  position: fixed;
  inset: 0;
  z-index: 99990;
  font-family: var(--font);
  color: var(--ink);
  overflow: hidden;
  background: linear-gradient(135deg, #ffe3f1, #e8e4ff 45%, #dff2ff);
  -webkit-font-smoothing: antialiased;
}
.mgo-root *, .mgo-root *::before, .mgo-root *::after { box-sizing: border-box; }
.mgo-root button { font-family: inherit; cursor: pointer; border: 0; background: none; color: inherit; }
.mgo-root img { max-width: 100%; }
.mgo-root ::-webkit-scrollbar { width: 10px; height: 10px; }
.mgo-root ::-webkit-scrollbar-thumb { background: rgba(120, 90, 160, 0.25); border-radius: 8px; border: 2px solid transparent; background-clip: content-box; }
.mgo-root ::-webkit-scrollbar-track { background: transparent; }

/* ═══ 背景：壁纸 + 水纹 + 半调网点 ═══ */
.mgo-bg { position: absolute; inset: 0; overflow: hidden; }
.mgo-wallpaper {
  position: absolute; inset: -3%;
  background-size: cover; background-position: center;
  transform: scale(1.03);
  transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
  will-change: transform;
}
.mgo-wallpaper-next { opacity: 0; transition: opacity 0.9s ease; z-index: 2; }
.mgo-wallpaper-next.is-in { opacity: 1; }
.mgo-wallpaper-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; }
.mgo-ripple-canvas { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 3; pointer-events: none; }
.mgo-halftone {
  position: absolute; inset: 0; z-index: 4; pointer-events: none;
  background-image: radial-gradient(rgba(59, 46, 80, 0.5) 1px, transparent 1.4px);
  background-size: 15px 15px;
  opacity: 0.05;
  mix-blend-mode: multiply;
}
.mgo-vignette {
  position: absolute; inset: 0; z-index: 4; pointer-events: none;
  background:
    radial-gradient(120% 90% at 50% 10%, transparent 55%, rgba(70, 40, 110, 0.16)),
    linear-gradient(180deg, rgba(255, 255, 255, 0.12), transparent 22%);
}

/* ═══ 左侧 Dock ═══ */
.mgo-dock {
  position: fixed; left: 14px; top: 50%; transform: translateY(-50%);
  z-index: 100000;
  display: flex; flex-direction: column; align-items: center; gap: 6px;
  padding: 12px 9px;
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(22px) saturate(1.5);
  -webkit-backdrop-filter: blur(22px) saturate(1.5);
  border: 1.5px solid rgba(255, 255, 255, 0.75);
  border-radius: 24px;
  box-shadow: 0 14px 44px -12px rgba(90, 50, 130, 0.35), inset 0 0 0 1px rgba(255, 160, 205, 0.12);
}
.mgo-dock-sep { width: 20px; height: 1.5px; background: rgba(59, 46, 80, 0.16); margin: 3px 0; border-radius: 2px; }
.mgo-dock-btn {
  position: relative;
  width: 44px; height: 44px;
  display: grid; place-items: center;
  border-radius: 15px;
  transition: transform 0.18s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.2s;
}
.mgo-dock-btn svg { width: 22px; height: 22px; fill: none; stroke: var(--ink); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; transition: stroke 0.2s; }
.mgo-dock-btn:hover { transform: translateY(-4px) scale(1.12); background: rgba(255, 255, 255, 0.85); }
.mgo-dock-btn:hover svg { stroke: var(--accent); }
.mgo-dock-btn.is-active { background: linear-gradient(145deg, var(--accent), #b78bff); box-shadow: 0 8px 18px -6px rgba(255, 111, 174, 0.65); }
.mgo-dock-btn.is-active svg { stroke: #fff; }
.mgo-dock-btn.is-active::after {
  content: ""; position: absolute; left: -8px; top: 50%; transform: translateY(-50%);
  width: 4px; height: 18px; border-radius: 4px; background: var(--accent);
}
/* 漫画对话气泡 tooltip */
.mgo-dock-btn::before {
  content: attr(data-tip);
  position: absolute; left: calc(100% + 16px); top: 50%; transform: translateY(-50%) scale(0.85);
  transform-origin: left center;
  background: var(--paper-strong);
  border: 2px solid var(--ink);
  border-radius: 12px 12px 12px 3px;
  padding: 6px 12px;
  font-size: 12.5px; font-weight: 700; color: var(--ink);
  white-space: nowrap;
  box-shadow: 3px 4px 0 rgba(59, 46, 80, 0.16);
  opacity: 0; pointer-events: none;
  transition: opacity 0.16s ease 0.05s, transform 0.16s cubic-bezier(0.34, 1.56, 0.64, 1) 0.05s;
  z-index: 5;
}
.mgo-dock-btn:hover::before { opacity: 1; transform: translateY(-50%) scale(1); }

/* ═══ 右上问候 + 控制台 ═══ */
.mgo-topright { position: fixed; top: 16px; right: 18px; z-index: 100000; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.mgo-chip {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
  border: 1.5px solid rgba(255, 255, 255, 0.8);
  border-radius: 999px;
  padding: 9px 16px;
  font-size: 13.5px; font-weight: 800; color: var(--ink);
  box-shadow: 0 8px 24px -8px rgba(90, 50, 130, 0.3);
  transition: transform 0.15s ease;
}
.mgo-chip:hover { transform: translateY(-2px); }
.mgo-chip b { font-weight: 800; }
.mgo-chip i { font-style: normal; font-weight: 600; color: var(--ink-soft); font-size: 12px; }
.mgo-caret { width: 14px; height: 14px; fill: none; stroke: var(--ink-soft); stroke-width: 2.4; stroke-linecap: round; }

.mgo-console {
  width: 272px;
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(26px) saturate(1.5); -webkit-backdrop-filter: blur(26px) saturate(1.5);
  border: 1.5px solid rgba(255, 255, 255, 0.85);
  border-radius: var(--r-md);
  box-shadow: var(--shadow-win);
  padding: 18px;
  animation: mgo-pop 0.22s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@keyframes mgo-pop { from { opacity: 0; transform: translateY(-8px) scale(0.96); } }
.mgo-console-clock { font-size: 40px; font-weight: 900; letter-spacing: 1px; line-height: 1; }
.mgo-console-date { margin-top: 6px; font-size: 12.5px; color: var(--ink-soft); font-weight: 600; }
.mgo-console-date b { color: var(--ink); margin-right: 6px; }
.mgo-console-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin-top: 14px; }
.mgo-console-grid > div { background: rgba(255, 255, 255, 0.65); border: 1px solid var(--line); border-radius: 12px; padding: 8px 4px; text-align: center; }
.mgo-console-grid span { display: block; font-size: 10.5px; color: var(--ink-soft); font-weight: 700; }
.mgo-console-grid b { font-size: 15px; font-weight: 900; color: var(--accent); }
.mgo-console-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.mgo-console-actions button {
  flex: 1 1 44%;
  display: inline-flex; align-items: center; gap: 6px; justify-content: center;
  background: rgba(255, 255, 255, 0.7); border: 1.5px solid var(--line);
  border-radius: 11px; padding: 8px 6px; font-size: 12px; font-weight: 700; color: var(--ink);
  transition: all 0.15s ease;
}
.mgo-console-actions button:hover { border-color: var(--accent); color: var(--accent); transform: translateY(-1px); }
.mgo-console-actions button.is-on { background: linear-gradient(135deg, #ffe3f1, #efe8ff); border-color: rgba(255, 111, 174, 0.4); }
.mgo-console-foot { margin-top: 14px; padding-top: 12px; border-top: 1px dashed var(--line); font-size: 11px; font-weight: 700; color: var(--ink-soft); display: flex; align-items: center; gap: 7px; }
.mgo-console-foot .dot { width: 8px; height: 8px; border-radius: 50%; background: #43d397; box-shadow: 0 0 0 3px rgba(67, 211, 151, 0.25); animation: mgo-breath 2s infinite; }
@keyframes mgo-breath { 50% { opacity: 0.5; } }

/* ═══ 桌面首页 ═══ */
.mgo-desktop { position: absolute; inset: 0; z-index: 10; overflow: auto; padding: 70px 56px 90px 108px; }
.mgo-home { max-width: 1180px; margin: 0 auto; min-height: 100%; display: flex; flex-direction: column; justify-content: center; }
.mgo-hero { margin-bottom: 26px; }
.mgo-hero-script { font-family: var(--script); font-size: clamp(22px, 2.6vw, 34px); color: #ff9d3c; text-shadow: 0 2px 0 #fff, 0 4px 14px rgba(255, 157, 60, 0.3); transform: rotate(-2deg); width: fit-content; }
.mgo-hero-title { font-size: clamp(38px, 5.6vw, 76px); font-weight: 900; letter-spacing: 2px; line-height: 1.1; margin: 6px 0 10px; color: var(--ink); text-shadow: 0 3px 0 #fff, 0 10px 30px rgba(90, 50, 130, 0.25); }
.mgo-hero-sign { font-size: 15px; font-weight: 600; color: var(--ink-soft); }

/* Bento 卡片 */
.mgo-bento { display: grid; grid-template-columns: repeat(12, 1fr); gap: 14px; }
.mgo-bc {
  background: var(--paper);
  backdrop-filter: blur(var(--glass-blur)) saturate(1.4); -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(1.4);
  border: 1.5px solid rgba(255, 255, 255, 0.85);
  border-radius: var(--r-lg);
  box-shadow: 0 14px 34px -14px rgba(90, 50, 130, 0.25);
  padding: 18px;
  position: relative;
  overflow: hidden;
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.2s;
  text-align: left;
}
.mgo-bc:hover { transform: translateY(-4px); box-shadow: 0 22px 44px -14px rgba(90, 50, 130, 0.35); }
.mgo-bc-head { display: flex; justify-content: space-between; align-items: center; font-size: 12px; font-weight: 800; color: var(--ink-soft); margin-bottom: 8px; }
.mgo-bc-head i { font-style: normal; }
.mgo-mini-btn { font-size: 11.5px; font-weight: 800; color: var(--accent); }
.mgo-mini-btn:hover { text-decoration: underline; }
.mgo-bc-greet { grid-column: span 3; background: linear-gradient(150deg, rgba(255, 224, 240, 0.9), rgba(238, 232, 255, 0.9)); }
.mgo-bc-greet b { display: block; font-size: 30px; font-weight: 900; line-height: 1.15; }
.mgo-bc-greet p { font-size: 12.5px; color: var(--ink-soft); margin-top: 6px; font-weight: 600; }
.mgo-bc-profile { grid-column: span 4; display: flex; gap: 14px; align-items: center; }
.mgo-avatar { position: relative; flex: none; }
.mgo-avatar img { width: 62px; height: 62px; border-radius: 20px; object-fit: cover; border: 2.5px solid #fff; box-shadow: 0 8px 18px -6px rgba(90, 50, 130, 0.4); }
.mgo-avatar-dot { position: absolute; right: -2px; bottom: -2px; width: 15px; height: 15px; border-radius: 50%; background: #43d397; border: 2.5px solid #fff; }
.mgo-profile-t b { font-size: 17px; font-weight: 900; display: block; }
.mgo-profile-t small { font-size: 12px; color: var(--ink-soft); font-weight: 600; }
.mgo-socials { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.mgo-socials a {
  font-size: 11px; font-weight: 800; text-decoration: none; color: var(--ink);
  background: rgba(255, 255, 255, 0.75); border: 1.5px solid var(--line);
  padding: 3px 9px; border-radius: 999px; transition: all 0.15s;
}
.mgo-socials a:hover { background: var(--accent); border-color: var(--accent); color: #fff; }
.mgo-bc-stat { grid-column: span 2; display: flex; flex-direction: column; gap: 2px; }
.mgo-bc-stat span { font-size: 12px; font-weight: 800; color: var(--ink-soft); }
.mgo-bc-stat b { font-size: 34px; font-weight: 900; color: var(--accent); line-height: 1.1; }
.mgo-bc-stat em { font-style: normal; font-size: 11px; color: var(--ink-soft); font-weight: 600; }
.mgo-bc-heat { grid-column: span 4; }
.mgo-bc-activity { grid-column: span 5; }
.mgo-bc-music { grid-column: span 3; display: flex; align-items: center; gap: 12px; background: linear-gradient(150deg, rgba(255, 236, 220, 0.9), rgba(255, 224, 240, 0.9)); }
.mgo-vinyl-mini { flex: none; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; font-size: 20px; color: #fff; background: conic-gradient(from 0deg, #3b2e50, #6f6390, #3b2e50, #6f6390, #3b2e50); box-shadow: inset 0 0 0 6px rgba(255, 255, 255, 0.25), 0 6px 14px -4px rgba(59, 46, 80, 0.5); }
.mgo-eq { display: flex; align-items: flex-end; gap: 2.5px; height: 20px; margin-left: auto; }
.mgo-eq i { width: 3.5px; border-radius: 2px; background: var(--accent); animation: mgo-eq 0.9s ease-in-out infinite; }
.mgo-eq i:nth-child(1) { height: 30%; animation-delay: 0s; }
.mgo-eq i:nth-child(2) { height: 70%; animation-delay: 0.15s; }
.mgo-eq i:nth-child(3) { height: 45%; animation-delay: 0.3s; }
.mgo-eq i:nth-child(4) { height: 85%; animation-delay: 0.45s; }
@keyframes mgo-eq { 50% { transform: scaleY(0.4); } }

/* 迷你热力图 */
.mgo-mini-heat { --cell: 9px; }
.mgo-activity-list { display: flex; flex-direction: column; gap: 9px; }
.mgo-act { display: flex; gap: 10px; align-items: center; }
.mgo-act-ico { flex: none; width: 32px; height: 32px; display: grid; place-items: center; background: rgba(255, 255, 255, 0.8); border: 1.5px solid var(--line); border-radius: 11px; font-size: 15px; }
.mgo-act b { display: block; font-size: 13px; font-weight: 800; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 260px; }
.mgo-act small { font-size: 11px; color: var(--ink-soft); font-weight: 600; }
.mgo-act.is-empty b { color: var(--ink-soft); }

/* ═══ 窗口 ═══ */
.mgo-windows { position: absolute; inset: 0; z-index: 20; pointer-events: none; }
.mgo-window {
  position: absolute;
  display: flex; flex-direction: column;
  background: rgba(252, 250, 255, 0.93);
  backdrop-filter: blur(26px) saturate(1.4); -webkit-backdrop-filter: blur(26px) saturate(1.4);
  border: 2px solid rgba(59, 46, 80, 0.16);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-win);
  overflow: hidden;
  pointer-events: none;
  visibility: hidden;
  opacity: 0; transform: scale(0.94) translateY(14px);
  transition: opacity 0.2s ease, transform 0.22s cubic-bezier(0.34, 1.56, 0.64, 1), visibility 0.2s;
  min-width: 320px; min-height: 200px;
}
.mgo-window.is-open { opacity: 1; transform: scale(1) translateY(0); pointer-events: auto; visibility: visible; }
.mgo-window.is-minimizing { opacity: 0; transform: scale(0.85) translateY(60px); }
.mgo-window.is-max { left: 1.5vw !important; top: 4vh !important; width: 97vw !important; height: 93vh !important; border-radius: 20px; }
.mgo-window-bar {
  flex: none;
  display: flex; align-items: center; gap: 10px;
  padding: 10px 14px 10px 12px;
  background: linear-gradient(90deg, rgba(255, 240, 248, 0.95), rgba(240, 236, 255, 0.95));
  border-bottom: 1.5px solid rgba(59, 46, 80, 0.1);
  cursor: grab; user-select: none;
}
.mgo-window-bar:active { cursor: grabbing; }
.mgo-win-ico { flex: none; width: 28px; height: 28px; display: grid; place-items: center; background: rgba(255, 111, 174, 0.14); border-radius: 9px; }
.mgo-win-ico svg { width: 16px; height: 16px; fill: none; stroke: var(--accent); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.mgo-win-title { font-size: 13.5px; font-weight: 900; color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mgo-win-ctl { margin-left: auto; display: flex; gap: 7px; }
.mgo-win-ctl button { width: 15px; height: 15px; border-radius: 50%; position: relative; transition: transform 0.12s; }
.mgo-win-ctl button:hover { transform: scale(1.2); }
.mgo-win-ctl button[data-win="min"] { background: #ffd35a; }
.mgo-win-ctl button[data-win="max"] { background: #5ad89c; }
.mgo-win-ctl button[data-win="close"] { background: #ff6f7d; color: #fff; font-size: 11px; line-height: 15px; }
.mgo-win-tools { margin-left: auto; display: flex; gap: 4px; }
.mgo-win-tools + .mgo-win-ctl { margin-left: 10px; }
.mgo-win-tools button, .mgo-runner-ext {
  min-width: 26px; height: 26px; padding: 0 8px;
  display: inline-grid; place-items: center;
  background: rgba(255, 255, 255, 0.7); border: 1.5px solid var(--line); border-radius: 9px;
  font-size: 13px; font-weight: 800; color: var(--ink); text-decoration: none;
}
.mgo-win-tools button:hover, .mgo-runner-ext:hover { border-color: var(--accent); color: var(--accent); }
.mgo-win-body { flex: 1; min-height: 0; display: flex; flex-direction: column; position: relative; }

/* 缩放手柄 */
.mgo-rz { position: absolute; z-index: 30; }
.mgo-rz[data-rz="n"] { top: -5px; left: 12px; right: 12px; height: 9px; cursor: ns-resize; }
.mgo-rz[data-rz="s"] { bottom: -5px; left: 12px; right: 12px; height: 9px; cursor: ns-resize; }
.mgo-rz[data-rz="e"] { right: -5px; top: 12px; bottom: 12px; width: 9px; cursor: ew-resize; }
.mgo-rz[data-rz="w"] { left: -5px; top: 12px; bottom: 12px; width: 9px; cursor: ew-resize; }
.mgo-rz[data-rz="ne"] { top: -6px; right: -6px; width: 15px; height: 15px; cursor: nesw-resize; }
.mgo-rz[data-rz="nw"] { top: -6px; left: -6px; width: 15px; height: 15px; cursor: nwse-resize; }
.mgo-rz[data-rz="se"] { bottom: -6px; right: -6px; width: 15px; height: 15px; cursor: nwse-resize; }
.mgo-rz[data-rz="sw"] { bottom: -6px; left: -6px; width: 15px; height: 15px; cursor: nesw-resize; }

/* ═══ 通用滚动区 / 提示 ═══ */
.mgo-scroll-area { flex: 1; min-height: 0; overflow-y: auto; padding: 22px 26px; }
.mgo-sec-intro { margin-bottom: 18px; }
.mgo-sec-intro span { font-size: 11px; font-weight: 900; letter-spacing: 2px; color: var(--accent); }
.mgo-sec-intro h2 { font-size: 22px; font-weight: 900; margin-top: 4px; }
.mgo-empty-tip { text-align: center; padding: 46px 20px; }
.mgo-empty-tip b { display: block; font-size: 19px; font-weight: 900; }
.mgo-empty-tip span { display: block; margin-top: 8px; font-size: 13px; color: var(--ink-soft); line-height: 1.8; max-width: 420px; margin-left: auto; margin-right: auto; }
.mgo-empty-tip.is-slim { padding: 18px; }
.mgo-loading { display: grid; place-items: center; gap: 10px; height: 100%; min-height: 160px; font-size: 14px; font-weight: 700; color: var(--ink-soft); text-align: center; }
.mgo-loading-star { font-size: 30px; color: var(--accent); animation: mgo-spin 1.6s ease-in-out infinite; display: inline-block; }
@keyframes mgo-spin { 50% { transform: rotate(180deg) scale(1.25); } }

/* ═══ 资料库画布 ═══ */
.mgo-lib { flex: 1; display: flex; min-height: 0; }
.mgo-lib-nav {
  flex: none; width: 148px;
  border-right: 1.5px solid var(--line);
  padding: 16px 10px;
  display: flex; flex-direction: column; gap: 3px;
  overflow-y: auto;
}
.mgo-lib-nav button {
  display: flex; align-items: center; gap: 8px;
  padding: 9px 12px; border-radius: 12px;
  font-size: 13px; font-weight: 800; color: var(--ink);
  transition: all 0.15s;
}
.mgo-lib-nav button span { font-size: 14px; }
.mgo-lib-nav button i { margin-left: auto; font-style: normal; font-size: 11px; font-weight: 800; color: var(--ink-soft); background: rgba(120, 90, 160, 0.1); border-radius: 999px; padding: 1px 7px; }
.mgo-lib-nav button:hover { background: rgba(255, 111, 174, 0.08); }
.mgo-lib-nav button.is-active { background: linear-gradient(135deg, #ffe3f1, #efe8ff); color: var(--accent); }
.mgo-lib-nav button.is-active i { background: #fff; color: var(--accent); }
.mgo-lib-viewport { flex: 1; position: relative; overflow: hidden; outline: none; cursor: grab; }
.mgo-lib-viewport.is-panning { cursor: grabbing; }
.mgo-lib-canvas { position: absolute; top: 0; left: 0; will-change: transform; }

/* 卡片（贴纸风） */
.mgo-card {
  position: absolute;
  border-radius: 16px;
  background: #fff;
  border: 2px solid rgba(59, 46, 80, 0.9);
  box-shadow: 4px 6px 0 rgba(59, 46, 80, 0.14), 0 18px 32px -16px rgba(70, 40, 110, 0.3);
  transform: rotate(var(--rot, 0deg)) scale(calc(var(--sc, 1)));
  transition: transform 0.22s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.2s, opacity 0.25s;
  cursor: pointer;
  overflow: hidden;
  display: flex; flex-direction: column;
}
.mgo-card:hover { transform: rotate(0deg) scale(calc(var(--sc, 1) * 1.06)); box-shadow: 5px 8px 0 rgba(59, 46, 80, 0.16), 0 26px 48px -16px rgba(70, 40, 110, 0.42); z-index: 5; }
.mgo-card.is-dragging { transform: rotate(0deg) scale(1.07); box-shadow: 8px 12px 0 rgba(59, 46, 80, 0.12), 0 30px 60px -16px rgba(70, 40, 110, 0.5); z-index: 10; }
.mgo-card.is-selected { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(255, 111, 174, 0.35), 4px 6px 0 rgba(59, 46, 80, 0.14); }
.mgo-card.is-dim { opacity: 0.14; filter: grayscale(0.6); pointer-events: none; }
.mgo-card-cover { position: relative; flex: 1; min-height: 0; background: linear-gradient(150deg, #ffe3f1, #e4e0ff); }
.mgo-card-cover img { width: 100%; height: 100%; object-fit: cover; display: block; pointer-events: none; }
.mgo-card-cover.no-image .mgo-cover-fallback { position: absolute; inset: 0; display: grid; place-items: center; font-size: 34px; opacity: 0.8; }
.mgo-card.is-demo .mgo-card-cover { background: repeating-linear-gradient(45deg, #ffeaf5, #ffeaf5 12px, #f6efff 12px, #f6efff 24px); }
.mgo-card-badge {
  position: absolute; top: 8px; right: 8px; z-index: 2;
  font-size: 10.5px; font-weight: 900; color: #fff;
  background: linear-gradient(135deg, var(--accent), #b78bff);
  padding: 3px 9px; border-radius: 999px;
  border: 1.5px solid rgba(255, 255, 255, 0.85);
  box-shadow: 0 4px 10px -2px rgba(255, 111, 174, 0.6);
  max-width: 70%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.mgo-card-meta { flex: none; padding: 9px 12px; background: #fff; border-top: 1.5px solid rgba(59, 46, 80, 0.12); }
.mgo-card-meta b { display: block; font-size: 13px; font-weight: 900; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mgo-card-meta small { display: block; font-size: 11px; color: var(--ink-soft); font-weight: 600; margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* 想法便签卡 */
.mgo-card-note { flex: 1; padding: 12px; background: linear-gradient(160deg, #fff7e0, #ffeede); display: flex; flex-direction: column; }
.mgo-note-mood { font-size: 20px; }
.mgo-card-note p { flex: 1; font-size: 12px; line-height: 1.6; font-weight: 600; color: var(--ink); margin: 8px 0; overflow: hidden; }
.mgo-card-note small { font-size: 10.5px; color: var(--ink-soft); font-weight: 700; }
/* 友链小卡 */
.mgo-card-friend { flex: 1; display: flex; align-items: center; gap: 10px; padding: 0 12px; background: linear-gradient(120deg, #fff, #fff0f7); }
.mgo-friend-avatar { flex: none; width: 38px; height: 38px; border-radius: 12px; overflow: hidden; display: grid; place-items: center; background: #ffe3f1; color: var(--accent); font-size: 17px; border: 1.5px solid rgba(255, 111, 174, 0.3); }
.mgo-friend-avatar img { width: 100%; height: 100%; object-fit: cover; }
.mgo-card-friend b { font-size: 13px; font-weight: 900; display: block; }
.mgo-card-friend small { font-size: 10.5px; color: var(--ink-soft); font-weight: 600; }

.mgo-zoombar {
  position: absolute; bottom: 16px; left: 50%; transform: translateX(-50%);
  display: flex; align-items: center; gap: 4px;
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  border: 1.5px solid rgba(255, 255, 255, 0.9);
  border-radius: 999px; padding: 5px 8px;
  box-shadow: 0 10px 26px -8px rgba(90, 50, 130, 0.35);
}
.mgo-zoombar button { min-width: 30px; height: 30px; border-radius: 999px; font-size: 15px; font-weight: 900; color: var(--ink); display: grid; place-items: center; }
.mgo-zoombar button:hover { background: rgba(255, 111, 174, 0.12); color: var(--accent); }
.mgo-zoombar b { min-width: 46px; text-align: center; font-size: 12.5px; font-weight: 900; }
.mgo-zoom-reset { font-size: 12px !important; padding: 0 10px; }
.mgo-lib-hint { position: absolute; top: 12px; left: 50%; transform: translateX(-50%); font-size: 11.5px; font-weight: 700; color: var(--ink-soft); background: rgba(255, 255, 255, 0.7); backdrop-filter: blur(10px); padding: 5px 14px; border-radius: 999px; pointer-events: none; white-space: nowrap; max-width: 92%; overflow: hidden; text-overflow: ellipsis; }

/* ═══ 想法库（朋友圈） ═══ */
.mgo-thoughts-shell { flex: 1; min-height: 0; overflow-y: auto; background: #f7f5fb; }
.mgo-moments { max-width: 620px; margin: 0 auto; padding-bottom: 30px; }
.mgo-moments-cover {
  height: 200px; margin-bottom: -34px;
  background: linear-gradient(140deg, #ffd9ec, #d9d6ff 55%, #cfeaff);
  position: relative;
  border-radius: 0 0 0 22px;
}
.mgo-moments-cover::after { content: "✦ 想法手帐"; position: absolute; right: 20px; bottom: 44px; font-family: var(--script); font-size: 20px; color: rgba(255, 255, 255, 0.95); text-shadow: 0 2px 8px rgba(120, 80, 160, 0.4); }
.mgo-moments-me { position: absolute; right: 20px; bottom: -16px; display: flex; align-items: center; gap: 12px; }
.mgo-moments-me img { width: 58px; height: 58px; border-radius: 16px; object-fit: cover; border: 3px solid #fff; box-shadow: 0 8px 18px -6px rgba(90, 50, 130, 0.4); }
.mgo-moments-me b { color: #fff; font-size: 15px; font-weight: 900; text-shadow: 0 1px 6px rgba(120, 80, 160, 0.5); }
.mgo-moment { display: flex; gap: 12px; padding: 18px 22px 14px; background: #fff; margin-top: 1px; transition: background 0.15s; }
.mgo-moment:first-of-type { margin-top: 46px; border-radius: 18px 18px 0 0; }
.mgo-moment:hover { background: #fdfbff; }
.mgo-moment-avatar { flex: none; width: 42px; height: 42px; border-radius: 13px; object-fit: cover; border: 2px solid #fff; box-shadow: 0 4px 10px -2px rgba(90, 50, 130, 0.3); }
.mgo-moment-body { flex: 1; min-width: 0; }
.mgo-moment-name { font-size: 14px; font-weight: 900; color: #5a7ec7; }
.mgo-moment-text { font-size: 14px; line-height: 1.75; margin-top: 4px; color: var(--ink); word-break: break-word; }
.mgo-moment-text p { margin: 0 0 8px; }
.mgo-moment-text img { border-radius: 10px; max-height: 300px; }
.mgo-moment-foot { display: flex; align-items: center; gap: 10px; margin-top: 10px; }
.mgo-moment-foot time { font-size: 11.5px; color: var(--ink-soft); font-weight: 700; }
.mgo-moment-mood { font-size: 13px; background: #fff4e3; border-radius: 8px; padding: 2px 8px; }
.mgo-moment-loc { font-size: 11.5px; color: #5a7ec7; font-weight: 700; }

/* ═══ 文章 Brew ═══ */
.mgo-post-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; }
.mgo-post-card { background: #fff; border: 2px solid rgba(59, 46, 80, 0.85); border-radius: 16px; overflow: hidden; cursor: pointer; box-shadow: 3px 5px 0 rgba(59, 46, 80, 0.12); transition: transform 0.18s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.18s; }
.mgo-post-card:hover { transform: translateY(-5px) rotate(-0.4deg); box-shadow: 4px 8px 0 rgba(59, 46, 80, 0.14), 0 22px 40px -16px rgba(70, 40, 110, 0.4); }
.mgo-post-cover { height: 130px; background-size: cover; background-position: center; position: relative; background-color: #efe8ff; }
.mgo-post-cover.no-image { background: repeating-linear-gradient(45deg, #ffeaf5, #ffeaf5 10px, #f0ebff 10px, #f0ebff 20px); }
.mgo-post-cover.no-image::after { content: "☕"; position: absolute; inset: 0; display: grid; place-items: center; font-size: 30px; }
.mgo-post-date { position: absolute; top: 8px; left: 8px; font-size: 10.5px; font-weight: 900; background: rgba(255, 255, 255, 0.92); border-radius: 999px; padding: 3px 9px; color: var(--ink); }
.mgo-post-info { padding: 13px 15px 15px; }
.mgo-post-info h3 { font-size: 14.5px; font-weight: 900; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.mgo-post-info p { font-size: 12px; color: var(--ink-soft); line-height: 1.6; margin-top: 6px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.mgo-post-info small { display: block; margin-top: 9px; font-size: 11px; color: var(--ink-soft); font-weight: 700; }

/* ═══ 打卡 ═══ */
.mgo-checkin { flex: 1; min-height: 0; overflow-y: auto; padding: 22px 26px; }
.mgo-checkin-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 18px; }
.mgo-checkin-stats > div { background: #fff; border: 2px solid rgba(59, 46, 80, 0.85); border-radius: 14px; padding: 12px 14px; box-shadow: 3px 4px 0 rgba(59, 46, 80, 0.1); }
.mgo-checkin-stats span { font-size: 11px; font-weight: 800; color: var(--ink-soft); }
.mgo-checkin-stats b { display: block; font-size: 24px; font-weight: 900; color: var(--accent); }
.mgo-heatmap-wrap { background: #fff; border: 2px solid rgba(59, 46, 80, 0.85); border-radius: 16px; padding: 18px 18px 12px; box-shadow: 3px 4px 0 rgba(59, 46, 80, 0.1); overflow-x: auto; }
.mgo-heatmap { position: relative; }
.mgo-heat-month { position: absolute; top: -16px; font-size: 10px; font-weight: 800; color: var(--ink-soft); }
.mgo-heat-grid { display: flex; gap: 3px; padding-top: 6px; }
.mgo-heat-col { display: flex; flex-direction: column; gap: 3px; }
.mgo-heat-col i { width: 14px; height: 14px; border-radius: 4px; background: rgba(59, 46, 80, 0.07); cursor: pointer; transition: transform 0.1s; }
.mgo-heat-col i.is-pad { background: transparent; cursor: default; }
.mgo-heat-col i:hover { transform: scale(1.3); outline: 1.5px solid var(--ink); }
.mgo-heat-col i.lv-0 { background: rgba(59, 46, 80, 0.07); }
.mgo-heat-col i.lv-1 { background: #ffd6e8; }
.mgo-heat-col i.lv-2 { background: #ffb3d4; }
.mgo-heat-col i.lv-3 { background: #ff8fc0; }
.mgo-heat-col i.lv-4 { background: #f34f97; }
.mgo-heat-col i.is-today { outline: 2px solid var(--ink); outline-offset: 1px; }
.mgo-heat-legend { display: flex; align-items: center; gap: 4px; justify-content: flex-end; margin-top: 10px; font-size: 10.5px; font-weight: 700; color: var(--ink-soft); }
.mgo-heat-legend i { width: 12px; height: 12px; border-radius: 3.5px; }
.mgo-heat-legend i:nth-child(2) { background: rgba(59, 46, 80, 0.07); }
.mgo-heat-legend i:nth-child(3) { background: #ffd6e8; }
.mgo-heat-legend i:nth-child(4) { background: #ffb3d4; }
.mgo-heat-legend i:nth-child(5) { background: #ff8fc0; }
.mgo-heat-legend i:nth-child(6) { background: #f34f97; }
.mgo-checkin-day { background: #fff; border: 2px solid rgba(59, 46, 80, 0.85); border-radius: 16px; padding: 16px 18px; margin-top: 14px; box-shadow: 3px 4px 0 rgba(59, 46, 80, 0.1); min-height: 64px; }
.mgo-day-title { font-size: 12.5px; font-weight: 800; color: var(--ink-soft); }
.mgo-day-title b { color: var(--ink); font-size: 14px; }
.mgo-day-rec { display: flex; gap: 10px; margin-top: 12px; padding-top: 12px; border-top: 1px dashed var(--line); }
.mgo-day-rec > span { flex: none; font-size: 18px; }
.mgo-day-rec b { font-size: 13.5px; font-weight: 900; }
.mgo-day-rec p { font-size: 12.5px; color: var(--ink-soft); margin-top: 3px; line-height: 1.6; }
.mgo-day-empty { margin-top: 8px; font-size: 12.5px; color: var(--ink-soft); font-weight: 600; }
.mgo-checkin-form { background: linear-gradient(150deg, #fff0f7, #f2edff); border: 2px solid rgba(59, 46, 80, 0.85); border-radius: 16px; padding: 16px 18px; margin-top: 14px; box-shadow: 3px 4px 0 rgba(59, 46, 80, 0.1); display: flex; flex-direction: column; gap: 10px; }
.mgo-ci-moods { display: flex; gap: 4px; flex-wrap: wrap; }
.mgo-ci-moods input { position: absolute; opacity: 0; }
.mgo-ci-moods span { display: grid; place-items: center; width: 38px; height: 34px; font-size: 18px; background: #fff; border: 1.5px solid var(--line); border-radius: 11px; cursor: pointer; transition: all 0.15s; }
.mgo-ci-moods input:checked + span { border-color: var(--accent); background: #ffe3f1; transform: scale(1.12); }
.mgo-checkin-form input[type="text"], .mgo-checkin-form textarea {
  width: 100%; border: 1.5px solid var(--line); border-radius: 12px;
  padding: 10px 13px; font-family: inherit; font-size: 13px; color: var(--ink);
  background: #fff; resize: vertical;
}
.mgo-checkin-form input:focus, .mgo-checkin-form textarea:focus { outline: none; border-color: var(--accent); }
.mgo-btn-accent {
  align-self: flex-start;
  background: linear-gradient(135deg, var(--accent), #b78bff);
  color: #fff; font-size: 13.5px; font-weight: 900;
  padding: 10px 20px; border-radius: 999px;
  box-shadow: 0 8px 18px -6px rgba(255, 111, 174, 0.6);
  border: 2px solid rgba(255, 255, 255, 0.7);
  text-decoration: none; display: inline-flex; align-items: center; gap: 6px;
  transition: transform 0.15s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.mgo-btn-accent:hover { transform: translateY(-2px) scale(1.03); }
.mgo-btn-accent:disabled { opacity: 0.6; transform: none; }
.mgo-btn-accent.is-blue { background: linear-gradient(135deg, #5ac8ff, #7d9bff); box-shadow: 0 8px 18px -6px rgba(90, 160, 255, 0.6); }
.mgo-btn-accent.is-red { background: linear-gradient(135deg, #ff6f7d, #ff9d6f); }
.mgo-btn-ghost {
  background: #fff; color: var(--ink); font-size: 12.5px; font-weight: 800;
  padding: 9px 16px; border-radius: 999px; border: 1.5px solid var(--line);
  text-decoration: none; display: inline-flex; align-items: center; gap: 5px;
}
.mgo-btn-ghost:hover { border-color: var(--accent); color: var(--accent); }
.mgo-ci-visitor { margin-top: 14px; font-size: 12.5px; color: var(--ink-soft); font-weight: 600; background: #fff; border: 1.5px dashed var(--line); border-radius: 14px; padding: 14px 16px; }

/* ═══ 平台报告 ═══ */
.mgo-report-head { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 18px; }
.mgo-report-head span { font-size: 11px; font-weight: 900; letter-spacing: 2px; color: var(--accent); }
.mgo-report-head h2 { font-size: 22px; font-weight: 900; margin-top: 4px; }
.mgo-report-head strong { font-size: 15px; font-weight: 900; color: var(--ink-soft); }
.mgo-report-stats { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; margin-bottom: 18px; }
.mgo-report-stats > div { background: #fff; border: 2px solid rgba(59, 46, 80, 0.85); border-radius: 14px; padding: 13px 14px; box-shadow: 3px 4px 0 rgba(59, 46, 80, 0.1); }
.mgo-report-stats span { font-size: 11.5px; font-weight: 800; color: var(--ink-soft); }
.mgo-report-stats b { display: block; font-size: 26px; font-weight: 900; color: var(--accent); margin: 2px 0; }
.mgo-report-stats small { font-size: 9.5px; letter-spacing: 1.5px; color: var(--ink-soft); font-weight: 800; }
.mgo-report-grid { display: grid; grid-template-columns: 3fr 2fr; gap: 14px; margin-bottom: 16px; }
.mgo-chart, .mgo-platforms { background: #fff; border: 2px solid rgba(59, 46, 80, 0.85); border-radius: 16px; padding: 16px 18px; box-shadow: 3px 4px 0 rgba(59, 46, 80, 0.1); }
.mgo-chart-title b { font-size: 14.5px; font-weight: 900; }
.mgo-chart-title span { display: block; font-size: 11px; color: var(--ink-soft); font-weight: 600; margin-top: 2px; }
.mgo-bars { display: flex; align-items: flex-end; gap: 4px; height: 140px; margin-top: 16px; }
.mgo-bar { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 3px; height: 100%; justify-content: flex-end; position: relative; }
.mgo-bar i { width: 100%; max-width: 20px; height: var(--h, 10%); border-radius: 6px 6px 3px 3px; background: linear-gradient(180deg, #ffb3d4, var(--accent)); transition: height 0.6s cubic-bezier(0.34, 1.3, 0.5, 1); }
.mgo-bar:hover i { filter: brightness(1.1); }
.mgo-bar span { font-size: 8.5px; color: var(--ink-soft); font-weight: 700; }
.mgo-bar b { position: absolute; top: calc(100% - var(--h) - 16px); font-size: 9px; font-weight: 900; color: var(--accent); opacity: 0; transition: opacity 0.15s; }
.mgo-bar:hover b { opacity: 1; }
.mgo-platform-grid { display: flex; flex-direction: column; gap: 8px; margin-top: 14px; }
.mgo-platform-card { display: flex; align-items: center; gap: 11px; background: #fff; border: 1.5px solid var(--line); border-radius: 13px; padding: 10px 12px; text-decoration: none; color: var(--ink); transition: all 0.15s; }
.mgo-platform-card:hover { border-color: var(--pc); transform: translateX(3px); }
.mgo-platform-card i { flex: none; width: 36px; height: 36px; display: grid; place-items: center; background: var(--pc, var(--accent)); color: #fff; font-size: 12px; font-weight: 900; border-radius: 11px; font-style: normal; }
.mgo-platform-card b { font-size: 13px; font-weight: 900; display: block; }
.mgo-platform-card small { font-size: 11px; color: var(--ink-soft); font-weight: 600; }
.mgo-platform-card > span { margin-left: auto; color: var(--ink-soft); font-weight: 900; }
.mgo-report-bottom { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.mgo-rb-col { background: #fff; border: 2px solid rgba(59, 46, 80, 0.85); border-radius: 16px; padding: 16px 18px; box-shadow: 3px 4px 0 rgba(59, 46, 80, 0.1); }
.mgo-rb-col h3 { font-size: 14px; font-weight: 900; margin-bottom: 10px; }
.mgo-rb-row { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; border-bottom: 1px dashed var(--line); font-size: 12.5px; text-decoration: none; color: var(--ink); }
.mgo-rb-row:last-child { border-bottom: 0; }
.mgo-rb-row b { flex: none; color: var(--accent); font-weight: 900; }
.mgo-rb-row span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mgo-rb-empty { font-size: 12.5px; color: var(--ink-soft); }

/* ═══ Tapp 商店 ═══ */
.mgo-tappstore { flex: 1; display: flex; min-height: 0; }
.mgo-store-side { flex: none; width: 200px; border-right: 1.5px solid var(--line); padding: 16px 12px; display: flex; flex-direction: column; gap: 2px; overflow-y: auto; }
.mgo-store-search { position: relative; margin-bottom: 12px; }
.mgo-store-search input { width: 100%; border: 1.5px solid var(--line); background: rgba(255, 255, 255, 0.8); border-radius: 999px; padding: 8px 30px 8px 13px; font-size: 12.5px; font-family: inherit; color: var(--ink); }
.mgo-store-search input:focus { outline: none; border-color: var(--accent); }
.mgo-store-search span { position: absolute; right: 11px; top: 50%; transform: translateY(-50%); color: var(--ink-soft); font-size: 14px; }
.mgo-store-group { font-size: 10.5px; font-weight: 900; letter-spacing: 1.5px; color: var(--ink-soft); margin: 10px 10px 4px; }
.mgo-store-side button { display: flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 11px; font-size: 13px; font-weight: 800; color: var(--ink); text-align: left; transition: all 0.14s; }
.mgo-store-side button i { margin-left: auto; font-style: normal; font-size: 10.5px; color: var(--ink-soft); background: rgba(120, 90, 160, 0.1); border-radius: 999px; padding: 1px 7px; }
.mgo-store-side button:hover { background: rgba(255, 111, 174, 0.08); }
.mgo-store-side button.is-active { background: linear-gradient(135deg, #ffe3f1, #efe8ff); color: var(--accent); }
.mgo-store-side button.is-active i { background: #fff; color: var(--accent); }
.mgo-store-foot { margin-top: auto; padding: 12px 10px 2px; font-size: 11px; color: var(--ink-soft); font-weight: 600; }
.mgo-store-main { flex: 1; min-width: 0; }
.mgo-store-hero { display: flex; align-items: center; gap: 16px; background: linear-gradient(120deg, rgba(255, 227, 241, 0.95), rgba(228, 224, 255, 0.95)); border: 2px solid rgba(59, 46, 80, 0.85); border-radius: 18px; padding: 20px; box-shadow: 4px 5px 0 rgba(59, 46, 80, 0.12); margin-bottom: 22px; cursor: pointer; }
.mgo-store-hero-icon { flex: none; width: 68px; height: 68px; display: grid; place-items: center; font-size: 32px; border-radius: 19px; background: #fff; border: 2px solid rgba(59, 46, 80, 0.85); box-shadow: 0 10px 22px -8px rgba(70, 40, 110, 0.4); }
.mgo-store-hero small { font-size: 11px; font-weight: 900; letter-spacing: 1.5px; color: var(--accent); }
.mgo-store-hero h2 { font-size: 21px; font-weight: 900; margin: 3px 0; }
.mgo-store-hero p { font-size: 12.5px; color: var(--ink-soft); font-weight: 600; }
.mgo-store-hero button { margin-left: auto; }
.mgo-store-sec { font-size: 15px; font-weight: 900; margin-bottom: 12px; }
.mgo-store-sec small { font-size: 11px; color: var(--ink-soft); font-weight: 700; margin-left: 6px; }
.mgo-store-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 12px; }
.mgo-store-app { display: flex; gap: 12px; align-items: flex-start; background: #fff; border: 1.5px solid var(--line); border-radius: 16px; padding: 14px; transition: all 0.16s; cursor: pointer; }
.mgo-store-app:hover { border-color: rgba(255, 111, 174, 0.5); transform: translateY(-2px); box-shadow: 0 12px 26px -10px rgba(70, 40, 110, 0.3); }
.mgo-store-icon { flex: none; width: 52px; height: 52px; display: grid; place-items: center; font-size: 25px; border-radius: 15px; background: var(--ic, var(--accent)); color: #fff; box-shadow: inset 0 -8px 14px rgba(0, 0, 0, 0.12), 0 8px 16px -6px rgba(70, 40, 110, 0.35); }
.mgo-store-info { flex: 1; min-width: 0; }
.mgo-store-info b { font-size: 14px; font-weight: 900; display: block; }
.mgo-store-info small { font-size: 11px; color: var(--ink-soft); font-weight: 700; }
.mgo-store-info p { font-size: 12px; color: var(--ink-soft); margin-top: 4px; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.mgo-store-btn { flex: none; align-self: center; background: linear-gradient(135deg, #ffe3f1, #efe8ff); color: var(--accent); font-size: 12.5px; font-weight: 900; padding: 7px 16px; border-radius: 999px; border: 1.5px solid rgba(255, 111, 174, 0.35); transition: all 0.15s; }
.mgo-store-btn:hover, .mgo-store-btn.is-installed { background: linear-gradient(135deg, var(--accent), #b78bff); color: #fff; border-color: transparent; }

/* ═══ 桥接窗口（音乐 / 阅读 / 互动） ═══ */
.mgo-bridge { flex: 1; min-height: 0; overflow-y: auto; padding: 26px 30px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 14px; }
.mgo-vinyl { width: 86px; height: 86px; border-radius: 50%; display: grid; place-items: center; font-size: 36px; color: #fff; background: conic-gradient(from 0deg, #3b2e50, #6f6390, #3b2e50, #6f6390, #3b2e50); box-shadow: inset 0 0 0 10px rgba(255, 255, 255, 0.22), inset 0 0 0 22px rgba(59, 46, 80, 0.25), 0 14px 30px -10px rgba(59, 46, 80, 0.55); }
.mgo-vinyl.is-spinning { animation: mgo-rotate 3s linear infinite; }
.mgo-vinyl-book { background: conic-gradient(from 0deg, #7a5fd0, #b78bff, #7a5fd0, #b78bff, #7a5fd0); }
.mgo-vinyl-heart { background: conic-gradient(from 0deg, #ff6f7d, #ffb35a, #ff6f7d, #ffb35a, #ff6f7d); }
@keyframes mgo-rotate { to { transform: rotate(360deg); } }
.mgo-bridge-copy h2 { font-size: 21px; font-weight: 900; }
.mgo-bridge-copy p { font-size: 13px; color: var(--ink-soft); margin-top: 5px; font-weight: 600; }
.mgo-bridge-slot { width: 100%; margin-top: 6px; }
.mgo-bridge-note { display: block; margin-top: 12px; font-size: 12px; color: var(--ink-soft); font-weight: 600; line-height: 1.7; }
.mgo-mini-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; width: 100%; max-width: 460px; }
.mgo-mini-stats > div { background: #fff; border: 2px solid rgba(59, 46, 80, 0.85); border-radius: 14px; padding: 13px; box-shadow: 3px 4px 0 rgba(59, 46, 80, 0.1); }
.mgo-mini-stats span { font-size: 11px; font-weight: 800; color: var(--ink-soft); }
.mgo-mini-stats b { display: block; font-size: 23px; font-weight: 900; color: var(--accent); }
.mgo-comment-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; width: 100%; text-align: left; margin-top: 8px; }
.mgo-comment { background: #fff; border: 1.5px solid var(--line); border-radius: 14px; padding: 12px 14px; }
.mgo-comment b { font-size: 12.5px; font-weight: 900; }
.mgo-comment p { font-size: 12px; color: var(--ink-soft); margin-top: 4px; line-height: 1.6; }

/* ═══ 页面入口 ═══ */
.mgo-page-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
.mgo-page-card { background: #fff; border: 2px solid rgba(59, 46, 80, 0.85); border-radius: 16px; padding: 16px; text-decoration: none; color: var(--ink); box-shadow: 3px 4px 0 rgba(59, 46, 80, 0.1); transition: all 0.16s; }
.mgo-page-card:hover { transform: translateY(-4px) rotate(-0.5deg); box-shadow: 4px 7px 0 rgba(59, 46, 80, 0.12), 0 18px 34px -14px rgba(70, 40, 110, 0.35); }
.mgo-page-card span { font-size: 10px; letter-spacing: 2px; font-weight: 900; color: var(--accent); }
.mgo-page-card b { display: block; font-size: 15px; font-weight: 900; margin: 5px 0 8px; }
.mgo-page-card em { font-style: normal; font-size: 12px; font-weight: 800; color: var(--ink-soft); }

/* ═══ 详情 / 文章 / 阅读器 ═══ */
.mgo-detail { display: flex; gap: 24px; height: 100%; overflow-y: auto; padding: 26px 28px; }
.mgo-detail-side { flex: none; width: 220px; }
.mgo-detail-cover { width: 100%; aspect-ratio: 3/4; border-radius: 16px; overflow: hidden; background: linear-gradient(150deg, #ffe3f1, #e4e0ff); border: 2px solid rgba(59, 46, 80, 0.85); box-shadow: 4px 5px 0 rgba(59, 46, 80, 0.12); display: grid; place-items: center; font-size: 15px; font-weight: 900; color: var(--ink-soft); }
.mgo-detail-cover img { width: 100%; height: 100%; object-fit: cover; }
.mgo-detail-rating { display: flex; align-items: center; gap: 6px; margin-top: 12px; font-size: 16px; }
.mgo-detail-rating i { font-style: normal; color: rgba(59, 46, 80, 0.18); }
.mgo-detail-rating i.on { color: #ffb400; }
.mgo-detail-rating b { font-size: 14px; font-weight: 900; color: var(--accent); }
.mgo-detail-main { flex: 1; min-width: 0; }
.mgo-detail-kicker { font-size: 11px; font-weight: 900; letter-spacing: 2px; color: var(--accent); }
.mgo-detail-main h1 { font-size: 25px; font-weight: 900; line-height: 1.3; margin: 6px 0 10px; }
.mgo-detail-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.mgo-detail-chips span { font-size: 11.5px; font-weight: 800; background: rgba(255, 111, 174, 0.09); color: var(--accent); border: 1px solid rgba(255, 111, 174, 0.25); border-radius: 999px; padding: 3px 11px; }
.mgo-detail-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.mgo-detail-content { font-size: 14px; line-height: 1.9; color: var(--ink); }
.mgo-detail-content img { border-radius: 12px; }
.mgo-detail-content p { margin: 0 0 12px; }
.mgo-detail-content h2, .mgo-detail-content h3 { font-weight: 900; margin: 18px 0 8px; }

.mgo-article { max-width: 760px; margin: 0 auto; padding: 26px 30px; overflow-y: auto; height: 100%; }
.mgo-article-cover { height: 240px; background-size: cover; background-position: center; border-radius: 16px; margin-bottom: 18px; border: 2px solid rgba(59, 46, 80, 0.85); }
.mgo-article h1 { font-size: 26px; font-weight: 900; line-height: 1.35; margin: 6px 0 14px; }
.mgo-article .mgo-detail-content { margin-top: 14px; }

.mgo-reader { flex: 1; display: flex; min-height: 0; }
.mgo-reader-toc { flex: none; width: 190px; border-right: 1.5px solid var(--line); overflow-y: auto; padding: 14px 10px; display: flex; flex-direction: column; gap: 3px; }
.mgo-reader-toc b { font-size: 12px; font-weight: 900; padding: 4px 8px 8px; }
.mgo-reader-toc small { font-size: 11px; color: var(--ink-soft); padding: 0 8px; line-height: 1.6; }
.mgo-reader-toc button { text-align: left; font-size: 12px; font-weight: 600; padding: 7px 9px; border-radius: 9px; color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mgo-reader-toc button:hover { background: rgba(255, 111, 174, 0.1); color: var(--accent); }
.mgo-reader-stage { flex: 1; min-width: 0; position: relative; background: #fff; }
.mgo-reader-stage iframe { width: 100%; height: 100%; border: 0; display: block; }
.mgo-reader-stage.is-night .mgo-txt { background: #15141d; color: #cfc8e8; }
.mgo-txt { height: 100%; overflow-y: auto; padding: 30px 38px; font-size: 15px; line-height: 2; background: #fffdf6; transition: background 0.3s, color 0.3s; }
.mgo-txt p { margin: 0 0 14px; text-indent: 2em; }
.mgo-video-wrap { height: 100%; }
.mgo-video-wrap iframe { width: 100%; height: 100%; border: 0; }

/* ═══ 任务栏 ═══ */
.mgo-taskbar {
  position: fixed; bottom: 14px; left: 50%; transform: translateX(-50%);
  z-index: 100000;
  display: flex; gap: 8px;
  background: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(22px) saturate(1.5); -webkit-backdrop-filter: blur(22px) saturate(1.5);
  border: 1.5px solid rgba(255, 255, 255, 0.8);
  border-radius: 18px; padding: 7px;
  box-shadow: 0 14px 40px -12px rgba(90, 50, 130, 0.4);
  max-width: 70vw; overflow-x: auto;
}
.mgo-taskbar[hidden] { display: none; }
.mgo-tb-item { display: flex; align-items: center; gap: 7px; padding: 7px 13px; border-radius: 12px; font-size: 12.5px; font-weight: 800; color: var(--ink); background: rgba(255, 255, 255, 0.65); border: 1.5px solid transparent; transition: all 0.15s; flex: none; }
.mgo-tb-item:hover { border-color: rgba(255, 111, 174, 0.4); }
.mgo-tb-item.is-top { background: linear-gradient(135deg, #ffe3f1, #efe8ff); border-color: rgba(255, 111, 174, 0.4); }
.mgo-tb-item.is-min { opacity: 0.55; }
.mgo-tb-item span { font-size: 14px; }
.mgo-tb-item i { font-style: normal; max-width: 110px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ═══ 启动台 ═══ */
.mgo-launch-btn {
  position: fixed; left: 14px; bottom: 14px; z-index: 100000;
  width: 46px; height: 46px; display: grid; place-items: center;
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
  border: 1.5px solid rgba(255, 255, 255, 0.75); border-radius: 16px;
  box-shadow: 0 10px 28px -8px rgba(90, 50, 130, 0.4);
  transition: transform 0.18s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.mgo-launch-btn svg { width: 20px; height: 20px; fill: none; stroke: var(--ink); stroke-width: 1.8; }
.mgo-launch-btn:hover { transform: scale(1.1) rotate(-3deg); }
.mgo-launch-btn:hover svg { stroke: var(--accent); }
.mgo-launchpad {
  position: fixed; inset: 0; z-index: 100050;
  background: rgba(50, 30, 80, 0.35);
  backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
  display: grid; place-items: center;
  animation: mgo-fade 0.2s ease;
}
.mgo-launchpad[hidden] { display: none; }
@keyframes mgo-fade { from { opacity: 0; } }
.mgo-launch-grid { display: grid; grid-template-columns: repeat(4, 110px); gap: 20px 14px; background: rgba(255, 255, 255, 0.82); border: 2px solid rgba(255, 255, 255, 0.95); border-radius: 30px; padding: 34px; box-shadow: var(--shadow-win); animation: mgo-pop 0.24s cubic-bezier(0.34, 1.56, 0.64, 1); }
.mgo-launch-grid button { display: flex; flex-direction: column; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 800; color: var(--ink); padding: 10px 6px; border-radius: 16px; transition: all 0.16s; }
.mgo-launch-grid button:hover { background: rgba(255, 111, 174, 0.1); transform: translateY(-3px) scale(1.05); color: var(--accent); }
.mgo-launch-ico { width: 52px; height: 52px; display: grid; place-items: center; background: linear-gradient(145deg, #fff, #fff0f7); border: 2px solid rgba(59, 46, 80, 0.85); border-radius: 16px; box-shadow: 3px 4px 0 rgba(59, 46, 80, 0.12); }
.mgo-launch-ico svg { width: 24px; height: 24px; fill: none; stroke: var(--accent); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* ═══ 助手气泡 ═══ */
.mgo-bubble {
  position: fixed; right: 18px; bottom: 18px; z-index: 99995;
  display: flex; gap: 11px; align-items: flex-start;
  background: rgba(255, 255, 255, 0.92);
  border: 2px solid var(--ink);
  border-radius: 16px 16px 4px 16px;
  padding: 14px 38px 14px 14px;
  box-shadow: 4px 5px 0 rgba(59, 46, 80, 0.15), 0 16px 36px -12px rgba(70, 40, 110, 0.35);
  max-width: 300px;
  transition: opacity 0.3s, transform 0.3s;
}
.mgo-bubble.is-gone { opacity: 0; transform: translateY(16px); pointer-events: none; }
.mgo-bubble-ava { flex: none; width: 40px; height: 40px; border-radius: 13px; object-fit: cover; border: 2px solid #fff; box-shadow: 0 4px 10px -2px rgba(90, 50, 130, 0.3); }
.mgo-bubble-body b { display: block; font-size: 13px; font-weight: 900; }
.mgo-bubble-body span { display: block; font-size: 12px; color: var(--ink-soft); font-weight: 600; line-height: 1.65; margin-top: 3px; }
.mgo-bubble-close { position: absolute; top: 6px; right: 8px; width: 20px; height: 20px; display: grid; place-items: center; font-size: 13px; color: var(--ink-soft); border-radius: 50%; }
.mgo-bubble-close:hover { background: rgba(59, 46, 80, 0.08); color: var(--ink); }

/* ═══ Toast / 专注模式 / 小屏提示 ═══ */
.mgo-toast {
  position: fixed; top: 18px; left: 50%; transform: translateX(-50%) translateY(-8px);
  z-index: 100060;
  background: rgba(59, 46, 80, 0.92); color: #fff;
  font-size: 13px; font-weight: 700;
  padding: 10px 22px; border-radius: 999px;
  opacity: 0; pointer-events: none;
  transition: opacity 0.25s, transform 0.25s;
  box-shadow: 0 12px 30px -8px rgba(59, 46, 80, 0.6);
}
.mgo-toast.is-show { opacity: 1; transform: translateX(-50%) translateY(0); }
.mgo-root.is-focus .mgo-desktop, .mgo-root.is-focus .mgo-console, .mgo-root.is-focus .mgo-bubble { opacity: 0.06; transition: opacity 0.4s; }
.mgo-root.is-focus .mgo-desktop:hover, .mgo-root.is-focus .mgo-dock:hover ~ .mgo-desktop { opacity: 1; }
.mgo-mobile-note { display: none; }

/* ═══ 迷你热力图 ═══ */
.mgo-mini-heat .mgo-heat-grid { gap: 2.5px; padding-top: 2px; }
.mgo-mini-heat .mgo-heat-col { gap: 2.5px; }
.mgo-mini-heat .mgo-heat-col i { width: 8.5px; height: 8.5px; border-radius: 2.5px; cursor: default; }
.mgo-mini-heat .mgo-heat-col i:hover { transform: none; outline: none; }

/* ═══ 响应式 ═══ */
@media (max-width: 900px) {
  .mgo-dock { left: 50%; top: auto; bottom: 66px; transform: translateX(-50%); flex-direction: row; padding: 8px 10px; gap: 4px; max-width: 94vw; overflow-x: auto; }
  .mgo-dock-btn.is-active::after { left: 50%; top: auto; bottom: -6px; transform: translateX(-50%); width: 18px; height: 4px; }
  .mgo-dock-btn::before { display: none; }
  .mgo-dock-sep { width: 1.5px; height: 22px; margin: 0 3px; }
  .mgo-launch-btn { display: none; }
  .mgo-desktop { padding: 64px 16px 130px; }
  .mgo-bento > * { grid-column: span 12 !important; }
  .mgo-window { left: 3vw !important; top: 5vh !important; width: 94vw !important; height: 82vh !important; }
  .mgo-window.is-max { width: 94vw !important; }
  .mgo-lib-nav { width: 106px; }
  .mgo-lib-hint { display: none; }
  .mgo-taskbar { bottom: 8px; max-width: 92vw; }
  .mgo-bubble { display: none; }
  .mgo-detail { flex-direction: column; }
  .mgo-detail-side { width: 100%; max-width: 240px; }
  .mgo-report-grid, .mgo-report-bottom { grid-template-columns: 1fr; }
  .mgo-report-stats { grid-template-columns: repeat(3, 1fr); }
  .mgo-checkin-stats { grid-template-columns: repeat(2, 1fr); }
  .mgo-store-side { display: none; }
  .mgo-launch-grid { grid-template-columns: repeat(3, 96px); padding: 22px; }
  .mgo-mobile-note { display: block; position: fixed; top: 60px; left: 50%; transform: translateX(-50%); z-index: 99999; font-size: 11px; font-weight: 700; color: var(--ink-soft); background: rgba(255, 255, 255, 0.7); padding: 4px 14px; border-radius: 999px; pointer-events: none; }
}
@media (prefers-reduced-motion: reduce) {
  .mgo-root *, .mgo-root *::before, .mgo-root *::after { animation-duration: 0.001s !important; transition-duration: 0.001s !important; }
}


/* ═══════════════════════════════════════════════════
   MangaOS 3.1 — 清晰度 / 玻璃 / 动画层
   ═══════════════════════════════════════════════════ */
.mgo-root {
  --mgo-font-scale: 1.15;
  --mgo-glass-alpha: .58;
  font-size: calc(16px * var(--mgo-font-scale));
}
.mgo-root .mgo-dock,
.mgo-root .mgo-chip,
.mgo-root .mgo-console,
.mgo-root .mgo-bento > *,
.mgo-root .mgo-window,
.mgo-root .mgo-taskbar,
.mgo-root .mgo-launch-btn,
.mgo-root .mgo-bubble {
  background-color: rgba(255,255,255,var(--mgo-glass-alpha));
  backdrop-filter: blur(20px) saturate(1.3);
  -webkit-backdrop-filter: blur(20px) saturate(1.3);
}
.mgo-root .mgo-window {
  transform-origin: 50% 58%;
  transition: opacity .22s ease, transform .32s cubic-bezier(.2,.82,.2,1), filter .22s ease;
}
.mgo-root .mgo-window.is-open { animation: mgo-window-in .34s cubic-bezier(.2,.82,.2,1) both; }
.mgo-root .mgo-window.is-closing { animation: mgo-window-out .24s cubic-bezier(.4,0,1,1) both; pointer-events:none!important; }
.mgo-root .mgo-window.is-minimizing { animation: mgo-window-min .28s cubic-bezier(.4,0,.2,1) both; }
.mgo-root .mgo-window.is-restoring { animation: mgo-window-restore .30s cubic-bezier(.16,1,.3,1) both; }
@keyframes mgo-window-in { from { opacity:0; transform:translateY(18px) scale(.965); filter:blur(3px) } to { opacity:1; transform:none; filter:none } }
@keyframes mgo-window-out { to { opacity:0; transform:translateY(14px) scale(.96); filter:blur(3px) } }
@keyframes mgo-window-min { to { opacity:0; transform:translateY(58px) scale(.84); filter:blur(2px) } }
@keyframes mgo-window-restore { from { opacity:0; transform:translateY(40px) scale(.9) } to { opacity:1; transform:none } }

.mgo-root .mgo-dock-btn::before { font-size: calc(12.5px * var(--mgo-font-scale)); }
.mgo-root .mgo-chip { font-size: calc(13.5px * var(--mgo-font-scale)); }
.mgo-root .mgo-card-meta b,
.mgo-root .mgo-post-info h3,
.mgo-root .mgo-page-card b { font-size: calc(15px * var(--mgo-font-scale)); }
.mgo-root .mgo-card-meta small,
.mgo-root .mgo-page-card em,
.mgo-root .mgo-detail-chips span,
.mgo-root .mgo-reader-toc button,
.mgo-root .mgo-bubble-body span { font-size: calc(12px * var(--mgo-font-scale)); }
.mgo-root .mgo-detail-content,
.mgo-root .mgo-txt { font-size: calc(15px * var(--mgo-font-scale)); }
.mgo-root .mgo-detail-main h1,
.mgo-root .mgo-article h1 { font-size: clamp(28px, calc(26px * var(--mgo-font-scale)), 42px); }

.mgo-root .mgo-card-meta,
.mgo-root .mgo-console,
.mgo-root .mgo-profile-card { text-shadow: 0 1px 0 rgba(255,255,255,.28); }

.mgo-romance-layer { position:fixed; inset:0; z-index:99998; pointer-events:none; overflow:hidden; }
.mgo-romance-particle { position:absolute; left:0; top:0; font-size:16px; opacity:0; will-change:transform,opacity; animation:mgo-romance-float 1.8s cubic-bezier(.2,.8,.2,1) forwards; filter:drop-shadow(0 3px 5px rgba(255,111,174,.25)); }
@keyframes mgo-romance-float { 0%{opacity:0;transform:translate3d(var(--x),var(--y),0) scale(.5) rotate(0)} 15%{opacity:.9} 100%{opacity:0;transform:translate3d(calc(var(--x) + var(--dx)),calc(var(--y) - 90px),0) scale(1.25) rotate(var(--rot))} }
.mgo-sakura { position:absolute; top:-30px; opacity:.65; animation:mgo-sakura-fall var(--dur) linear forwards; }
@keyframes mgo-sakura-fall { to{ transform:translate3d(var(--drift),110vh,0) rotate(540deg); opacity:.05 } }

.mgo-root[data-performance="eco"] .mgo-halftone { opacity:.025; }
.mgo-root[data-performance="eco"] .mgo-wallpaper { transition-duration:.25s; }
@media (max-width:1366px) {
  .mgo-root .mgo-dock-btn { width:46px; height:46px; }
}
@media (prefers-reduced-motion: reduce) {
  .mgo-romance-layer { display:none!important; }
}

.mgo-root.mgo-motion-off .mgo-window,
.mgo-root.mgo-motion-off .mgo-window.is-open,
.mgo-root.mgo-motion-off .mgo-window.is-closing,
.mgo-root.mgo-motion-off .mgo-window.is-minimizing,
.mgo-root.mgo-motion-off .mgo-window.is-restoring { animation:none!important; transition:none!important; }


/* =========================================================
   MangaOS 3.1 Romantic Plus
   ========================================================= */
.mgo-dock-btn{position:relative}.mgo-notify-dot{position:absolute;right:7px;top:7px;width:7px;height:7px;border-radius:50%;background:#ff477d;box-shadow:0 0 0 3px rgba(255,255,255,.75),0 0 12px rgba(255,71,125,.7)}
.mgo-command[hidden],.mgo-notify[hidden]{display:none!important}.mgo-command{position:absolute;inset:0;z-index:2147482000;background:rgba(18,15,32,.20);backdrop-filter:blur(8px);display:grid;place-items:start center;padding-top:min(18vh,160px);pointer-events:auto}.mgo-command-box{width:min(720px,calc(100vw - 32px));max-height:68vh;border:1px solid rgba(255,255,255,.76);border-radius:24px;background:rgba(255,250,253,.82);box-shadow:0 28px 90px rgba(50,25,70,.30),0 0 0 1px rgba(255,111,174,.12) inset;overflow:hidden;backdrop-filter:blur(28px) saturate(1.25)}
.mgo-command-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid rgba(94,74,120,.12)}.mgo-command-head>span{font-size:24px}.mgo-command-head input{border:0!important;outline:0!important;background:transparent!important;font:700 calc(17px * var(--mgo-font-scale))/1.3 inherit;color:#242132;width:100%;box-shadow:none!important}.mgo-command-head kbd{font:600 11px/1.5 ui-monospace,monospace;padding:3px 7px;border-radius:7px;background:rgba(85,70,110,.09);color:#6f657f}.mgo-command-list{padding:8px;max-height:52vh;overflow:auto}.mgo-command-list button{width:100%;border:0;background:transparent;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;text-align:left;color:#292333}.mgo-command-list button:hover,.mgo-command-list button.is-active{background:linear-gradient(110deg,rgba(255,111,174,.16),rgba(125,155,255,.13));transform:none}.mgo-command-list button>span{font-size:19px}.mgo-command-list b{display:block;font-size:calc(15px * var(--mgo-font-scale))}.mgo-command-list small{display:block;margin-top:2px;color:#81758d;font-size:calc(11.5px * var(--mgo-font-scale))}.mgo-command-list button>i{font-style:normal;color:#9b90a7}.mgo-command-foot{padding:8px 16px 11px;color:#8b8096;font-size:11px;border-top:1px solid rgba(94,74,120,.1)}.mgo-command-empty{padding:36px;text-align:center;color:#8c8195}
.mgo-notify{position:absolute;z-index:2147481500;left:84px;bottom:76px;width:min(360px,calc(100vw - 110px));max-height:62vh;border-radius:22px;padding:10px;background:rgba(255,250,253,.82);border:1px solid rgba(255,255,255,.8);box-shadow:0 24px 70px rgba(38,24,58,.25);backdrop-filter:blur(26px) saturate(1.25);pointer-events:auto}.mgo-notify header{display:flex;align-items:center;justify-content:space-between;padding:8px 8px 10px}.mgo-notify header b{font-size:16px}.mgo-notify header button{border:0;background:transparent;color:#9a6d8b;font-size:12px}.mgo-notify [data-notify-list]{display:grid;gap:6px;max-height:50vh;overflow:auto}.mgo-notify [data-note]{border:0;border-radius:15px;background:rgba(255,255,255,.46);padding:10px;display:grid;grid-template-columns:30px 1fr;gap:8px;text-align:left;color:#332a3c}.mgo-notify [data-note].is-unread{background:linear-gradient(115deg,rgba(255,111,174,.14),rgba(155,139,255,.12))}.mgo-notify [data-note]>span{font-size:18px}.mgo-notify [data-note] b{font-size:13px}.mgo-notify [data-note] p{margin:3px 0 4px;font-size:12px;line-height:1.55}.mgo-notify [data-note] small{font-size:10px;color:#91869b}.mgo-notify-empty{padding:24px 12px;text-align:center;color:#91869b;font-size:12px}
.mgo-lib-viewport{touch-action:none}.mgo-lib-viewport.is-editing{outline:2px dashed rgba(255,111,174,.55);outline-offset:-6px}.mgo-zoombar [data-zoom="edit"].is-active{background:var(--mgo-accent)!important;color:#fff!important}.mgo-zoombar button{white-space:nowrap}
.mgo-pdf-wrap{height:100%;overflow:auto;padding:24px;display:grid;place-items:start center;background:linear-gradient(135deg,#eeeaf6,#f9f6fb)}.mgo-pdf-page{display:grid;justify-items:center;gap:8px}.mgo-pdf-page canvas{max-width:100%;height:auto;background:#fff;box-shadow:0 16px 50px rgba(28,19,43,.18);border-radius:4px}.mgo-pdf-page small{color:#766d82}.mgo-reader-stage.is-night .mgo-pdf-wrap{background:#15131c}.mgo-reader-stage.is-night .mgo-pdf-page canvas{filter:brightness(.82) contrast(.96)}.mgo-reader-ext{display:block;margin-top:12px;color:var(--mgo-accent);text-decoration:none;font-size:12px}.mgo-runner-badge{font-size:10px;padding:3px 7px;border-radius:999px;background:rgba(90,200,150,.13);color:#387a61}
.mgo-meteor{position:absolute;width:140px;height:2px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.95));filter:drop-shadow(0 0 5px rgba(180,210,255,.9));transform:rotate(-28deg);animation:mgo-meteor 1.7s ease-in forwards;pointer-events:none}@keyframes mgo-meteor{0%{opacity:0;transform:translate(0,0) rotate(-28deg) scaleX(.3)}12%{opacity:1}100%{opacity:0;transform:translate(-38vw,30vh) rotate(-28deg) scaleX(1.1)}}
.mgo-root[data-wallpaper-tone="light"]{--mgo-auto-shadow:0 1px 2px rgba(255,255,255,.7)}.mgo-root[data-wallpaper-tone="light"] .mgo-home-copy,.mgo-root[data-wallpaper-tone="light"] .mgo-console{filter:drop-shadow(0 1px 1px rgba(255,255,255,.25))}.mgo-root[data-wallpaper-tone="dark"] .mgo-home-copy h1,.mgo-root[data-wallpaper-tone="dark"] .mgo-home-copy p{color:#fff;text-shadow:0 2px 16px rgba(10,7,24,.5)}
@media(max-width:768px){.mgo-notify{left:12px;right:12px;bottom:82px;width:auto}.mgo-command{padding-top:10vh}.mgo-command-box{border-radius:19px}.mgo-command-foot{display:none}}

/* Azure desktop: one consistent bright glass surface. */
#abao-mgo { --accent:var(--mgo-accent,#7888da); --ink:#293349; --ink-soft:#717991; --line:rgba(98,113,158,.12); --paper:rgba(255,255,255,.82); --paper-strong:rgba(255,255,255,.94); --shadow-win:0 20px 70px rgba(60,80,120,.16); }
#abao-mgo .mgo-vignette { background:linear-gradient(180deg,rgba(238,244,255,.30) 0%,rgba(243,247,255,.42) 42%,rgba(255,255,255,.94) 100%); }
#abao-mgo .mgo-halftone { opacity:.025; }
#abao-mgo .mgo-wallpaper { inset:0; transform:none; will-change:auto; }
#abao-mgo .mgo-dock { left:14px; gap:3px; padding:9px 7px; background:rgba(255,255,255,.88); border:1px solid rgba(255,255,255,.95); border-radius:28px; box-shadow:0 8px 30px rgba(67,82,126,.12); }
#abao-mgo .mgo-dock-btn { width:clamp(30px,4.2vh,42px); height:clamp(30px,4.2vh,42px); border-radius:16px; text-decoration:none; }
#abao-mgo .mgo-dock-btn svg { width:20px; height:20px; stroke:#7a8093; stroke-width:1.7; }
#abao-mgo .mgo-dock-btn:hover { transform:none; background:#eeeff9; }
#abao-mgo .mgo-dock-btn.is-active { background:#e9e7f5; box-shadow:none; }
#abao-mgo .mgo-dock-btn.is-active svg { stroke:#7565ad; }
#abao-mgo .mgo-dock-btn.is-active::after { width:3px; height:8px; background:#7565ad; left:-6px; }
#abao-mgo .mgo-dock-btn::before { border:1px solid rgba(255,255,255,.85); border-radius:10px; box-shadow:0 3px 15px rgba(60,70,100,.1); color:#596078; }
#abao-mgo .mgo-bento > *,#abao-mgo .mgo-chip,#abao-mgo .mgo-console,#abao-mgo .mgo-taskbar { background:rgba(255,255,255,.80); border:1px solid rgba(255,255,255,.88); box-shadow:0 8px 25px rgba(72,85,129,.08); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
#abao-mgo .mgo-bento > * { border-radius:22px; }
#abao-mgo .mgo-bc-stat b { color:#7b83c1; }
#abao-mgo .mgo-hero-title { font-size:clamp(34px,4vw,58px); font-weight:750; letter-spacing:1px; text-shadow:0 2px 12px rgba(255,255,255,.7); }
#abao-mgo .mgo-hero-script { color:#7565ad; font-size:36px; text-shadow:none; }
#abao-mgo .mgo-hero-sign { font-weight:400; line-height:1.8; }
#abao-mgo .mgo-window { border:1px solid rgba(255,255,255,.94); border-radius:23px; background:rgba(250,251,255,.95); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
#abao-mgo .mgo-window-bar { background:linear-gradient(100deg,rgba(236,232,249,.8),rgba(226,239,255,.8)); border-bottom:1px solid rgba(112,124,168,.1); }
#abao-mgo .mgo-post-card { background:rgba(255,255,255,.9); border:1px solid rgba(255,255,255,.95); box-shadow:0 6px 20px rgba(66,82,127,.08); }
#abao-mgo .mgo-card-meta { background:rgba(255,255,255,.82); border:1px solid rgba(255,255,255,.65); backdrop-filter:blur(8px); border-radius:12px; }
#abao-mgo .mgo-btn-accent { background:#7767b0; box-shadow:none; border-radius:12px; color:white; }
#abao-mgo .mgo-app-desktop { padding:34px; }
#abao-mgo .mgo-app-desktop-head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:26px; }
#abao-mgo .mgo-app-desktop-head small { color:#8a91ac; font-size:11px; letter-spacing:2px; }
#abao-mgo .mgo-app-desktop-head h2 { margin:8px 0; font-size:30px; }
#abao-mgo .mgo-app-desktop-head p { color:var(--ink-soft); font-size:13px; }
#abao-mgo .mgo-desktop-apps { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:16px; }
#abao-mgo .mgo-desktop-app { display:flex; flex-direction:column; align-items:center; gap:10px; padding:24px 14px; background:linear-gradient(145deg,#f5faff,#f6effb); border:1px solid white; border-radius:20px; box-shadow:0 5px 15px rgba(100,106,156,.07); }
#abao-mgo .mgo-desktop-app-icon { display:grid; place-items:center; width:58px; height:58px; border-radius:17px; color:white; background:linear-gradient(145deg,#9393fa,#6c6bdd); box-shadow:0 6px 14px rgba(101,91,177,.2); font-size:26px; }
#abao-mgo .mgo-desktop-app-icon svg,#abao-mgo .mgo-store-hero-icon svg { width:28px; height:28px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
#abao-mgo .mgo-desktop-app small { color:#949bac; font-size:12px; }
#abao-mgo .mgo-desktop-app:hover { background:#eeeffa; transform:translateY(-2px); }
#abao-mgo .mgo-store-side { background:linear-gradient(145deg,#f2ecfc,#f2f9ff); }
#abao-mgo .mgo-store-hero { border-radius:20px; }
#abao-mgo .mgo-store-foot { color:#9198a9; }
#abao-mgo[data-performance="eco"] .mgo-bento > * { backdrop-filter:none; -webkit-backdrop-filter:none; background:rgba(255,255,255,.80); }
@media(max-width:768px) {
 #abao-mgo .mgo-dock { left:10px; right:10px; bottom:12px; top:auto; padding:8px; flex-direction:row; transform:none; justify-content:flex-start; overflow-x:auto; border-radius:22px; }
 #abao-mgo .mgo-dock-btn { flex:0 0 38px; width:38px; height:38px; }
 #abao-mgo .mgo-dock-sep { display:none; }
 #abao-mgo .mgo-app-desktop { padding:20px; }
 #abao-mgo .mgo-desktop-apps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 #abao-mgo .mgo-desktop-app { padding:18px 8px; }
}

#abao-mgo .mgo-report-heat-scroll { overflow-x:auto; padding:12px 0; }
#abao-mgo .mgo-report-heat-scroll .mgo-heatmap { width:max-content; min-width:0; }
#abao-mgo .mgo-report-bottom { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
#abao-mgo .mgo-distribution-row { display:flex; align-items:center; gap:12px; font-size:12px; margin:10px 0; }
#abao-mgo .mgo-distribution-row span { width:60px; }
#abao-mgo .mgo-distribution-row i { flex:1; background:#eceef8; border-radius:5px; height:7px; overflow:hidden; }
#abao-mgo .mgo-distribution-row em { display:block; height:100%; background:linear-gradient(90deg,#a4baf1,#aa95dc); border-radius:5px; }
#abao-mgo .mgo-distribution-row b { min-width:22px; text-align:right; }
#abao-mgo .mgo-tapp-detail { padding:30px; line-height:1.9; }
#abao-mgo #abao-music-dock { position:static; width:100%; z-index:auto; }
#abao-mgo #abao-music-dock .abao-music-head,#abao-mgo #abao-music-dock .abao-music-bubble { display:none; }
#abao-mgo #abao-music-dock .abao-music-body { display:block; border-radius:16px; box-shadow:none; }
@media(max-width:768px) { #abao-mgo .mgo-report-bottom { grid-template-columns:1fr; } }
#abao-mgo .mgo-report-stats > div,#abao-mgo .mgo-chart,#abao-mgo .mgo-platforms,#abao-mgo .mgo-rb-col,#abao-mgo .mgo-store-app,#abao-mgo .mgo-lib-nav,#abao-mgo .mgo-zoombar,#abao-mgo .mgo-empty-tip,#abao-mgo .mgo-bubble { border:1px solid rgba(210,218,240,.5); box-shadow:0 8px 24px rgba(89,106,157,.06); border-radius:20px; }
#abao-mgo .mgo-report-head h2 { font-size:clamp(25px,2.4vw,36px); }
#abao-mgo .mgo-report-stats > div { background:linear-gradient(145deg,#fff,#f2f5ff); }
#abao-mgo .mgo-report-stats > div:nth-child(3n) { background:linear-gradient(145deg,#fff,#f9eff8); }
#abao-mgo .mgo-notify-dot { width:5px;height:5px;box-shadow:none;top:7px;right:7px; }
/* The desktop's music window is the single visible player entry. */
body.abao-mgo-takeover > #abao-music-dock { display:none!important; }
@media(max-width:768px) { body.abao-mgo-takeover #waifu,body.abao-mgo-takeover #live2d-widget { display:none!important; } }
/* Keep resize hit targets inside rounded clipping boundaries. */
#abao-mgo .mgo-rz { touch-action:none; }
#abao-mgo .mgo-rz[data-rz="n"] { top:0; height:6px; }
#abao-mgo .mgo-rz[data-rz="s"] { bottom:0; height:6px; }
#abao-mgo .mgo-rz[data-rz="e"] { right:0; width:6px; }
#abao-mgo .mgo-rz[data-rz="w"] { left:0; width:6px; }
#abao-mgo .mgo-rz[data-rz="ne"],#abao-mgo .mgo-rz[data-rz="nw"],#abao-mgo .mgo-rz[data-rz="se"],#abao-mgo .mgo-rz[data-rz="sw"] { width:22px; height:22px; }
#abao-mgo .mgo-rz[data-rz="ne"] { top:3px;right:3px; }
#abao-mgo .mgo-rz[data-rz="nw"] { top:3px;left:3px; }
#abao-mgo .mgo-rz[data-rz="se"] { bottom:3px;right:3px;background:linear-gradient(135deg,transparent 55%,#bcc2d7 56%,#bcc2d7 59%,transparent 60%,transparent 73%,#bcc2d7 74%,#bcc2d7 77%,transparent 78%); }
#abao-mgo .mgo-rz[data-rz="sw"] { bottom:3px;left:3px; }
/* Single workspace: navigation changes content without accumulating windows. */
#abao-mgo.mgo-workspace:not([data-view="home"]) .mgo-desktop { visibility:hidden; pointer-events:none; }
#abao-mgo.mgo-workspace .mgo-scene { left:104px!important; top:28px!important; right:28px!important; bottom:28px!important; width:auto!important; height:auto!important; min-width:0; max-width:none; max-height:none; background:rgba(255,255,255,.80); transition:opacity .16s ease; transform:none!important; box-shadow:0 12px 40px rgba(65,80,120,.10); }
#abao-mgo.mgo-workspace .mgo-scene .mgo-win-ctl,#abao-mgo.mgo-workspace .mgo-scene > .mgo-rz,#abao-mgo.mgo-workspace .mgo-taskbar { display:none!important; }
#abao-mgo.mgo-workspace .mgo-window-bar { cursor:default; background:rgba(243,243,255,.58); }
#abao-mgo .mgo-scene-back { display:grid; place-items:center; flex:none; width:32px; height:32px; padding:6px; border:0; border-radius:10px; background:rgba(255,255,255,.65); color:#74728b; }
#abao-mgo .mgo-scene-back svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
#abao-mgo .mgo-scene-back:hover { background:rgba(231,226,249,.85); }
#abao-mgo .mgo-post-card,#abao-mgo .mgo-report-card,#abao-mgo .mgo-page-card,#abao-mgo .mgo-platform-card,#abao-mgo .mgo-store-app { background:rgba(255,255,255,.80); }
#abao-mgo .mgo-desktop-app { background:linear-gradient(145deg,rgba(244,250,255,.80),rgba(248,241,252,.80)); }
#abao-mgo .mgo-store-side { background:linear-gradient(145deg,rgba(242,236,252,.58),rgba(242,249,255,.58)); }
#abao-mgo.mgo-workspace [data-window="library"] { background:transparent; border-color:transparent; box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; }
#abao-mgo.mgo-workspace [data-window="library"] .mgo-win-body,#abao-mgo.mgo-workspace .mgo-lib-viewport { background:transparent; }
@media(max-width:768px) {
 #abao-mgo.mgo-workspace .mgo-scene { left:10px!important; right:10px!important; top:12px!important; bottom:90px!important; border-radius:20px; }
}
@media(prefers-reduced-motion:reduce) { #abao-mgo.mgo-workspace .mgo-scene { transition:none; } }
#abao-mgo .mgo-report-stats > div,#abao-mgo .mgo-chart,#abao-mgo .mgo-platforms,#abao-mgo .mgo-rb-col,#abao-mgo .mgo-checkin-day,#abao-mgo .mgo-checkin-form,#abao-mgo .mgo-ci-visitor,#abao-mgo .mgo-moments-list,#abao-mgo .mgo-music-panel { background:rgba(255,255,255,.80); }
#abao-mgo .mgo-report-stats > div { background:linear-gradient(145deg,rgba(255,255,255,.80),rgba(235,241,255,.80)); }
/* Main sections float directly above the wallpaper, like the reference desktop. */
#abao-mgo.mgo-workspace .mgo-scene:not(.mgo-win-dynamic):not([data-window="tapp"]) { background:transparent; border-color:transparent; box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; }
#abao-mgo.mgo-workspace .mgo-scene:not(.mgo-win-dynamic):not([data-window="tapp"]) > .mgo-window-bar { background:rgba(255,255,255,.80); border:1px solid rgba(255,255,255,.88); border-radius:18px; margin-bottom:12px; }
#abao-mgo.mgo-workspace .mgo-scene { animation:none!important; }
#abao-mgo.mgo-workspace .mgo-scene.is-open { opacity:1!important; }
#abao-mgo.mgo-workspace .mgo-mobile-note { display:none; }
/* Collection stage: compact data and cover art, with room for the character wallpaper. */
#abao-mgo .mgo-home { max-width:1160px; justify-content:flex-end; padding-bottom:12px; }
#abao-mgo .mgo-hero { margin-bottom:20px; }
#abao-mgo .mgo-hero-title { font-size:clamp(30px,3.2vw,48px); letter-spacing:1px; margin:5px 0 10px; }
#abao-mgo .mgo-hero-script { font-size:clamp(26px,3.2vw,40px); }
#abao-mgo .mgo-stage-heading { display:flex; align-items:center; justify-content:space-between; margin:0 3px 12px; color:#818aa7; font-size:10px; letter-spacing:2px; }
#abao-mgo .mgo-stage-heading button { display:flex; align-items:center; gap:8px; color:#737599; font-size:12px; letter-spacing:0; padding:5px 12px; background:rgba(255,255,255,.65); border-radius:999px; }
#abao-mgo .mgo-stage-heading svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.8; }
#abao-mgo .mgo-stage { gap:12px; grid-template-columns:repeat(12,minmax(0,1fr)); grid-template-rows:200px 184px; }
#abao-mgo .mgo-stage > * { border-radius:22px; padding:18px; min-width:0; backdrop-filter:none; -webkit-backdrop-filter:none; }
#abao-mgo .mgo-stage-label { display:block; font-size:10px; font-weight:700; letter-spacing:1.2px; color:#7f8aab; line-height:1.5; }
#abao-mgo .mgo-stage header { display:flex; align-items:center; justify-content:space-between; gap:10px; }
#abao-mgo .mgo-stage header > button,#abao-mgo .mgo-stage footer > button { font-size:11px; white-space:nowrap; color:#777da9; }
#abao-mgo .mgo-stage-greet { grid-column:span 2; display:flex; flex-direction:column; justify-content:flex-end; }
#abao-mgo .mgo-stage-greet b { display:block; font-size:25px; line-height:1.25; margin:12px 0 7px; max-width:100%; }
#abao-mgo .mgo-stage-greet small { font-size:11px; color:#8790a6; }
#abao-mgo .mgo-stage-greet p { font-size:11px; color:#8990a7; margin:12px 0 0; line-height:1.7; }
#abao-mgo .mgo-stage-sun { position:absolute; font-size:50px; top:14px; right:14px; color:#e4c477; opacity:.7; }
#abao-mgo .mgo-stage-profile { grid-column:span 3; display:flex; flex-wrap:wrap; gap:10px; align-content:start; }
#abao-mgo .mgo-stage-profile > img { width:44px; height:44px; object-fit:cover; border-radius:15px; border:2px solid white; }
#abao-mgo .mgo-stage-profile > div:nth-child(2) { flex:1; min-width:0; }
#abao-mgo .mgo-stage-profile b { display:block; margin:4px 0 6px; font-size:15px; }
#abao-mgo .mgo-stage-profile small { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; color:#9399ac; font-size:11px; line-height:1.5; }
#abao-mgo .mgo-stage-socials { display:flex; flex-wrap:wrap; gap:6px; width:100%; margin-top:8px; }
#abao-mgo .mgo-stage-socials a { color:#787d9b; font-size:11px; padding:5px 8px; border-radius:8px; background:rgba(240,240,250,.6); text-decoration:none; }
#abao-mgo .mgo-stage-profile-foot { width:100%; color:#969bb1; font-size:10px; margin-top:auto; }
#abao-mgo .mgo-stage-profile-foot i { display:inline-block; width:6px; height:6px; margin-right:6px; border-radius:50%; background:#79c5af; }
#abao-mgo .mgo-stage-showcase { grid-column:span 4; display:flex; flex-direction:column; padding:12px; }
#abao-mgo .mgo-stage-showcase header { height:24px; margin-bottom:6px; }
#abao-mgo .mgo-stage-showcase header div { display:flex; gap:3px; }
#abao-mgo .mgo-stage-showcase header button { font-size:15px; color:#8c92ad; width:22px; height:22px; border-radius:7px; background:rgba(232,233,246,.5); }
#abao-mgo .mgo-stage-showcase [hidden] { display:none!important; }
#abao-mgo .mgo-showcase-slides { flex:1; min-height:0; position:relative; }
#abao-mgo .mgo-showcase-slide { position:relative; height:100%; overflow:hidden; border-radius:13px; }
#abao-mgo .mgo-showcase-image { display:block; width:100%; height:100%; border-radius:13px; overflow:hidden; position:relative; text-decoration:none; padding:0; }
#abao-mgo .mgo-showcase-image img { width:100%; height:100%; object-fit:cover; object-position:50% 35%; transition:transform .5s ease; }
#abao-mgo .mgo-showcase-image:hover img { transform:scale(1.04); }
#abao-mgo .mgo-showcase-shade { position:absolute; inset:0; background:linear-gradient(180deg,transparent 30%,rgba(26,34,65,.65)); }
#abao-mgo .mgo-showcase-caption { position:absolute; bottom:12px; left:12px; right:62px; color:white; text-align:left; }
#abao-mgo .mgo-showcase-caption small { display:block; font-size:10px; margin-bottom:5px; opacity:.85; }
#abao-mgo .mgo-showcase-caption b { font-size:13px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; line-height:1.5; }
#abao-mgo .mgo-showcase-detail { position:absolute; right:8px; top:8px; padding:5px 8px; font-size:10px; color:#696f91; background:rgba(255,255,255,.9); border-radius:8px; }
#abao-mgo .mgo-showcase-rating { position:absolute; right:12px; bottom:12px; color:white; font-size:23px; font-weight:700; pointer-events:none; }
#abao-mgo .mgo-showcase-rating small { font-size:9px; opacity:.8; }
#abao-mgo .mgo-stage-showcase footer { display:flex; justify-content:space-between; align-items:center; margin-top:8px; font-size:10px; color:#959bb0; }
#abao-mgo .mgo-showcase-empty { height:100%; width:100%; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:7px; background:linear-gradient(145deg,rgba(216,236,255,.7),rgba(230,222,250,.6)); border-radius:13px; color:#7e85a4; }
#abao-mgo .mgo-showcase-empty span { font-size:27px; }
#abao-mgo .mgo-showcase-empty b { font-size:12px; }
#abao-mgo .mgo-showcase-empty small { font-size:10px; }
#abao-mgo .mgo-stage-trend { grid-column:span 3; display:flex; flex-direction:column; }
#abao-mgo .mgo-stage-kpi { display:flex; align-items:center; gap:10px; margin:8px 0; }
#abao-mgo .mgo-stage-kpi b { color:#858bcb; font-size:34px; font-weight:650; line-height:1; }
#abao-mgo .mgo-stage-kpi small { color:#9299ad; font-size:10px; line-height:1.5; }
#abao-mgo .mgo-stage-kpi em { display:block; font-style:normal; color:#aaa3ba; }
#abao-mgo .mgo-sparkline { width:100%; height:68px; overflow:visible; margin:auto 0; }
#abao-mgo .mgo-stage-trend-foot { display:flex; justify-content:space-between; color:#969db1; font-size:10px; margin-top:6px; }
#abao-mgo .mgo-stage-trend-foot i { font-style:normal; }
#abao-mgo .mgo-stage-heat { grid-column:span 4; }
#abao-mgo .mgo-stage-heat .mgo-mini-heat { overflow:hidden; height:52px; margin:8px 0 6px; }
#abao-mgo .mgo-stage-heat .mgo-mini-heat .mgo-heat-col i { width:6px; height:6px; border-radius:2px; }
#abao-mgo .mgo-stage-heat footer { font-size:10px; color:#9b9eb3; }
#abao-mgo .mgo-stage-distribution { grid-column:span 4; }
#abao-mgo .mgo-stage-counts { display:flex; gap:26px; margin:17px 0 15px; }
#abao-mgo .mgo-stage-counts button { text-align:left; }
#abao-mgo .mgo-stage-counts b { display:block; font-size:29px; color:#868cca; font-weight:650; }
#abao-mgo .mgo-stage-counts small { font-size:10px; color:#959bb1; }
#abao-mgo .mgo-stage-distribution-bar { display:flex; gap:3px; height:5px; border-radius:999px; overflow:hidden; background:rgba(179,183,212,.16); }
#abao-mgo .mgo-stage-kind-labels { display:flex; flex-wrap:wrap; gap:9px; margin-top:9px; font-size:10px; color:#999eb2; }
#abao-mgo .mgo-stage-kind-labels i { display:inline-block; width:5px; height:5px; border-radius:50%; margin-right:4px; }
#abao-mgo .mgo-stage-activity { grid-column:span 4; }
#abao-mgo .mgo-stage-entry { display:flex; align-items:center; gap:9px; width:100%; text-align:left; margin:13px 0 0; }
#abao-mgo .mgo-stage-entry > span { display:grid; place-items:center; width:29px; height:29px; border-radius:10px; background:rgba(231,229,248,.55); font-size:15px; }
#abao-mgo .mgo-stage-entry b { display:block; font-size:12px; color:#747d97; max-width:220px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#abao-mgo .mgo-stage-entry small { display:block; font-size:10px; color:#a1a5b7; margin-top:4px; }
#abao-mgo .mgo-stage-music { display:flex; align-items:center; gap:8px; margin-top:15px; width:100%; padding-top:9px; border-top:1px solid rgba(158,165,195,.12); color:#8d92b2; font-size:11px; }
#abao-mgo .mgo-stage-music svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.6; }
#abao-mgo .mgo-stage-music i { margin-left:auto; font-style:normal; }
#abao-mgo .mgo-card-resource { display:block; width:100%; height:100%; }
#abao-mgo .mgo-card-more { position:absolute; top:10px; right:10px; z-index:6; width:28px; height:28px; border-radius:50%; font-size:18px; line-height:1; background:rgba(255,255,255,.88); color:#7b81a1; box-shadow:0 3px 12px rgba(58,72,105,.12); }
#abao-mgo .mgo-card-meta,#abao-mgo .mgo-card-badge { pointer-events:none; }
#abao-mgo .mgo-card-more:focus-visible,#abao-mgo .mgo-card-resource:focus-visible,#abao-mgo .mgo-showcase-image:focus-visible { outline:3px solid #a19bdb; outline-offset:-3px; }
@media(min-width:769px) and (max-width:1100px) { #abao-mgo .mgo-stage { grid-template-rows:200px 184px; } #abao-mgo .mgo-stage-greet{grid-column:span 3} #abao-mgo .mgo-stage-profile{grid-column:span 3} #abao-mgo .mgo-stage-showcase{grid-column:span 6} #abao-mgo .mgo-stage-trend{grid-column:span 4} #abao-mgo .mgo-stage-heat{grid-column:span 4} #abao-mgo .mgo-stage-distribution{grid-column:span 4} #abao-mgo .mgo-stage-activity{grid-column:span 12} }
@media(max-width:768px) { #abao-mgo .mgo-home{justify-content:flex-start;padding-top:18px} #abao-mgo .mgo-stage{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none} #abao-mgo .mgo-stage > *{grid-column:span 1!important;min-height:165px;padding:14px} #abao-mgo .mgo-stage .mgo-stage-showcase,#abao-mgo .mgo-stage .mgo-stage-trend,#abao-mgo .mgo-stage .mgo-stage-heat,#abao-mgo .mgo-stage .mgo-stage-distribution,#abao-mgo .mgo-stage .mgo-stage-activity{grid-column:span 2!important} #abao-mgo .mgo-stage-showcase{height:220px} #abao-mgo .mgo-stage-trend{min-height:165px} #abao-mgo .mgo-stage-greet b{font-size:22px} #abao-mgo .mgo-stage-profile b{font-size:13px} #abao-mgo .mgo-stage-profile > img{width:36px;height:36px} #abao-mgo .mgo-stage-heading{margin-top:6px} #abao-mgo .mgo-hero-title{font-size:34px} }
@media(prefers-reduced-motion:reduce) { #abao-mgo .mgo-showcase-image img,#abao-mgo .mgo-stage > *{transition:none} }
#abao-mgo .mgo-sparkline-stroke { stroke-dasharray:1; animation:mgo-stage-trace .9s ease-out both; }
@keyframes mgo-stage-trace { from{stroke-dashoffset:1}to{stroke-dashoffset:0} }

/* 3.3: quiet navigation, clear collection tools, one surface policy. */
#abao-mgo [hidden] { display:none!important; }
#abao-mgo .mgo-dock-label { display:none; }
#abao-mgo .mgo-dock { border:1px solid rgba(255,255,255,.85); box-shadow:0 12px 36px rgba(67,80,124,.12); }
#abao-mgo .mgo-dock-btn { transition:background .18s,color .18s; }
#abao-mgo .mgo-dock-btn.is-active { color:#7466b2; background:rgba(225,223,245,.72); }
#abao-mgo :is(button,a,input,textarea):focus-visible { outline:2px solid #8c88d5; outline-offset:4px; }
#abao-mgo .mgo-more-menu { position:fixed; left:88px; bottom:12vh; z-index:2100; width:250px; padding:18px; border-radius:22px; border:1px solid rgba(255,255,255,.88); background:rgba(255,255,255,.94); box-shadow:0 15px 55px rgba(63,70,116,.16); }
#abao-mgo .mgo-more-menu > small { display:block; font-size:11px; color:#8a91a6; margin:2px 8px 10px; }
#abao-mgo .mgo-more-menu :is(button,a) { display:flex; align-items:center; width:100%; padding:11px 9px; gap:12px; border-radius:10px; color:#56617e; text-align:left; text-decoration:none; font-size:13px; }
#abao-mgo .mgo-more-menu :is(button,a):hover { background:#f1f0fa; }
#abao-mgo .mgo-more-menu svg { width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round; }
#abao-mgo .mgo-more-menu i { margin-left:auto; font-style:normal; color:#a4a9bf; }
#abao-mgo .mgo-more-utilities { margin-top:9px; padding-top:9px; border-top:1px solid #e9ebf3; }
#abao-mgo .mgo-hero-title { font-size:clamp(30px,2.9vw,43px); letter-spacing:.3px; }
#abao-mgo .mgo-hero-sign { color:#697793; }
#abao-mgo .mgo-home-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:20px; }
#abao-mgo .mgo-home-actions button { display:flex; gap:7px; align-items:center; padding:10px 13px; color:#667291; background:rgba(255,255,255,.76); border:1px solid rgba(255,255,255,.9); border-radius:12px; font-size:11px; transition:background .18s; }
#abao-mgo .mgo-home-actions button:hover { background:rgba(255,255,255,.96); }
#abao-mgo .mgo-home-actions svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.6; }
#abao-mgo .mgo-home-actions kbd { font:9px inherit; padding:2px 4px; border:1px solid rgba(120,131,164,.2); border-radius:4px; opacity:.75; }
#abao-mgo :is(.mgo-stage-label,.mgo-stage-profile small,.mgo-stage-profile-foot,.mgo-stage-trend-foot,.mgo-stage-counts small,.mgo-stage-kind-labels,.mgo-stage-entry small) { color:#75819d; }
#abao-mgo .mgo-stage-greet p { color:#72809c; }
#abao-mgo :is(.mgo-bc,.mgo-post-card,.mgo-report-card,.mgo-page-card,.mgo-platform-card,.mgo-store-app,.mgo-report-stats > div,.mgo-chart,.mgo-platforms,.mgo-rb-col,.mgo-checkin-day,.mgo-checkin-form,.mgo-ci-visitor,.mgo-moments-list,.mgo-music-panel,.mgo-desktop-app) { background:rgba(255,255,255,var(--mgo-glass-alpha,.8)); }
#abao-mgo.mgo-workspace .mgo-scene:not(.mgo-win-dynamic):not([data-window="tapp"]) > .mgo-window-bar { background:rgba(255,255,255,var(--mgo-glass-alpha,.8)); }
#abao-mgo .mgo-lib { display:flex; flex-direction:column; height:100%; gap:10px; }
#abao-mgo .mgo-library-toolbar { display:flex; align-items:center; gap:18px; padding:15px 19px; border-radius:18px; background:rgba(255,255,255,var(--mgo-glass-alpha,.8)); }
#abao-mgo .mgo-library-toolbar > div { flex:1; }
#abao-mgo .mgo-library-toolbar small { font-size:9px; letter-spacing:1.5px; color:#9a9fc0; }
#abao-mgo .mgo-library-toolbar h2 { font-size:17px; margin:5px 0 0; color:#626d8c; }
#abao-mgo :is(.mgo-library-search,.mgo-desktop-search) { display:flex; align-items:center; gap:9px; padding:10px 12px; border:1px solid rgba(133,143,175,.15); background:rgba(249,250,255,.74); border-radius:12px; }
#abao-mgo :is(.mgo-library-search,.mgo-desktop-search) svg { width:18px;height:18px;fill:none;stroke:#8992b0;stroke-width:1.6; flex:none; }
#abao-mgo :is(.mgo-library-search,.mgo-desktop-search) input { border:0; outline:none; min-width:0; width:100%; background:transparent; color:#5d6985; font-size:12px; padding:0; }
#abao-mgo .mgo-library-search { width:min(35%,300px); }
#abao-mgo [data-library-count] { font-size:11px; color:#8a93ac; white-space:nowrap; }
#abao-mgo .mgo-lib-nav { display:flex; flex-direction:row; align-items:center; gap:6px; flex:none; width:100%; height:auto; padding:7px; border-radius:15px; overflow-x:auto; background:rgba(255,255,255,.65); }
#abao-mgo .mgo-lib-nav button { display:flex; flex:none; width:auto; align-items:center; gap:6px; padding:9px 11px; margin:0; white-space:nowrap; font-size:11px; border-radius:10px; }
#abao-mgo .mgo-lib-nav button span { font-size:13px; }
#abao-mgo .mgo-lib-nav button i { position:static; margin:0; font-size:9px; }
#abao-mgo .mgo-lib-viewport { flex:1; min-height:0; width:100%; height:auto; border-radius:18px; }
#abao-mgo .mgo-library-empty { position:absolute; left:50%;top:44%;transform:translate(-50%,-50%);width:min(320px,85%);padding:24px;text-align:center;border-radius:24px;background:rgba(255,255,255,.88); color:#737d98; }
#abao-mgo .mgo-library-empty > span { display:block; margin:0 auto 12px; width:42px; height:42px; }
#abao-mgo .mgo-library-empty svg { width:100%;height:100%;fill:none;stroke:#8c89c1;stroke-width:1.4; }
#abao-mgo .mgo-library-empty h3 { font-size:17px; }
#abao-mgo .mgo-library-empty p { font-size:12px;line-height:1.7; }
#abao-mgo :is([data-library-clear],[data-store-reset]) { padding:9px 14px; border-radius:10px; color:#756ab1;background:#eeeaf8;font-size:12px;margin-top:8px; }
#abao-mgo .mgo-desktop-search { max-width:400px; margin:22px 0; background:rgba(255,255,255,.8); }
#abao-mgo .mgo-app-section-label { margin:22px 0 13px; color:#7884a0; font-size:12px; }
#abao-mgo .mgo-store-search svg { width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6; }
@media(max-width:768px) {
 #abao-mgo .mgo-dock { max-width:calc(100vw - 20px); overflow:visible; gap:2px; padding:7px; }
 #abao-mgo .mgo-dock > :is([data-command-toggle],[data-notify-toggle],.mgo-admin-entry,.mgo-dock-sep) { display:none; }
 #abao-mgo .mgo-dock-btn { flex:1 1 42px; min-width:34px; width:42px; height:47px; display:flex;flex-direction:column;gap:5px;justify-content:center; }
 #abao-mgo .mgo-dock-btn svg { width:19px;height:19px; }
 #abao-mgo .mgo-dock-label { display:block; font-size:10px!important;line-height:1.1;white-space:nowrap; }
 #abao-mgo .mgo-more-menu { left:10px;right:10px;width:auto;bottom:88px;max-height:70vh;overflow:auto; }
 #abao-mgo .mgo-home-actions { margin-top:16px;gap:6px; }
 #abao-mgo .mgo-home-actions button { padding:9px 10px;font-size:10px; }
 #abao-mgo .mgo-home-actions kbd { display:none; }
 #abao-mgo .mgo-library-toolbar { flex-wrap:wrap; gap:10px;padding:12px; }
 #abao-mgo .mgo-library-toolbar > div { flex-basis:70%; }
 #abao-mgo .mgo-library-search { width:100%;order:3; }
 #abao-mgo .mgo-lib-nav { padding:5px; }
 #abao-mgo .mgo-lib-hint { display:none; }
 #abao-mgo .mgo-zoombar { max-width:96%;font-size:10px;gap:4px; }
 #abao-mgo .mgo-zoom-reset { font-size:9px;padding:5px; }
 #abao-mgo .mgo-desktop-search { width:100%;max-width:none; }
}
@media(prefers-reduced-motion:reduce) { #abao-mgo :is(.mgo-dock-btn,.mgo-home-actions button) { transition:none; } }
@media(prefers-reduced-motion:reduce) { #abao-mgo .mgo-sparkline-stroke{animation:none} }
#abao-mgo .mgo-card-resource { display:flex; flex-direction:column; flex:1; min-height:0; width:100%; height:100%; color:inherit; text-decoration:none; }
#abao-mgo .mgo-card-badge { left:10px; right:auto; max-width:calc(100% - 56px); }

@media(max-width:768px){#abao-mgo .mgo-dock-btn.is-active::after{left:50%;bottom:-5px;top:auto;width:14px;height:3px;transform:translateX(-50%);}}

/* 3.4: edge navigation and quieter workspace margins. */
#abao-mgo .mgo-dock-edge{display:none}
@media(min-width:769px) and (hover:hover){
 #abao-mgo.mgo-edge-enabled .mgo-dock-edge{display:block;position:fixed;left:0;top:18%;height:64%;width:12px;z-index:100100;padding:0;border:0;border-radius:0 12px 12px 0;background:transparent}
 #abao-mgo .mgo-dock-edge span{display:block;width:4px;height:58px;margin:auto;background:rgba(118,115,179,.5);border-radius:8px;box-shadow:0 0 0 4px rgba(255,255,255,.4)}
 #abao-mgo.mgo-edge-enabled .mgo-dock{opacity:0;transform:translate(-90px,-50%);pointer-events:none;transition:transform .24s ease,opacity .2s ease}
 #abao-mgo.mgo-edge-enabled.mgo-dock-revealed .mgo-dock{opacity:1;transform:translate(0,-50%);pointer-events:auto}
 #abao-mgo.mgo-edge-enabled .mgo-dock-btn::before{display:none}
 #abao-mgo.mgo-edge-enabled.mgo-workspace .mgo-scene{left:28px!important}
 #abao-mgo .mgo-dock-edge:focus-visible{outline:2px solid #8c88d5;outline-offset:2px}
}
#abao-mgo .mgo-visitor-note{color:#7d89a3;font-size:11px;line-height:1.7;margin:15px 0 0}
@media(prefers-reduced-motion:reduce){#abao-mgo.mgo-edge-enabled .mgo-dock{transition:none}}
/* 3.4: one APlayer, a comic album card and a read-only audio spectrum. */
#abao-mgo .mgo-music-room{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,740px);gap:20px;align-content:center;justify-content:center;padding:24px 20px;text-align:left}
#abao-mgo .mgo-music-card{background:rgba(255,255,255,var(--mgo-glass-alpha,.8));border:1px solid rgba(255,255,255,.9);border-radius:26px;padding:25px;box-shadow:0 12px 40px rgba(94,100,153,.1);min-width:0}
#abao-mgo .mgo-music-hero{position:relative;overflow:hidden;text-align:center;background-image:radial-gradient(rgba(134,138,207,.12) 1px,transparent 1px);background-size:8px 8px}
#abao-mgo .mgo-music-hero>header{display:flex;align-items:center;justify-content:space-between;text-align:left;font-size:10px;letter-spacing:1.4px;color:#8390ac}
#abao-mgo .mgo-music-hero>header i{font-style:normal;font-size:23px;color:#9a93d5}
#abao-mgo .mgo-music-art{position:relative;display:grid;place-items:center;margin:22px auto}
#abao-mgo .mgo-music-art .mgo-vinyl{width:170px;height:170px;margin:0;border:10px solid rgba(159,157,206,.22);background:repeating-radial-gradient(#555270 0 2px,#66617e 2px 4px);box-shadow:0 15px 30px rgba(107,101,165,.22);display:grid;place-items:center}
#abao-mgo .mgo-music-art .mgo-vinyl img{position:absolute;width:116px;height:116px;border-radius:50%;object-fit:cover;z-index:2;border:5px solid rgba(255,255,255,.85)}
#abao-mgo .mgo-music-art .mgo-vinyl:after{content:'';position:absolute;width:14px;height:14px;border-radius:50%;background:#fafbff;border:2px solid #8f87c0;z-index:3}
#abao-mgo .mgo-music-art .mgo-vinyl>span{font-size:36px;color:#f5f4ff}
#abao-mgo .mgo-music-spark{position:absolute;right:8px;top:3px;font-size:42px;color:#b5a6dc;transform:rotate(12deg)}
#abao-mgo .mgo-music-hero h2{font-size:20px;line-height:1.5;margin:16px 0 6px;color:#59627f;overflow-wrap:anywhere}
#abao-mgo .mgo-music-hero>p{font-size:13px;color:#8792ab;margin:0 0 20px}
#abao-mgo .mgo-music-transport{display:flex;align-items:center;justify-content:center;gap:15px}
#abao-mgo .mgo-music-transport button{width:42px;height:42px;display:grid;place-items:center;border-radius:15px;background:rgba(233,234,251,.9);color:#7c75b4;font-size:20px}
#abao-mgo .mgo-music-transport [data-music-toggle]{width:55px;height:55px;background:#8981c9;color:white;border-radius:20px}
#abao-mgo .mgo-music-wave{height:88px;display:flex;align-items:center;justify-content:center;gap:4px;margin:22px 0 5px;overflow:hidden}
#abao-mgo .mgo-music-wave i{display:block;flex:1;max-width:8px;height:6px;border-radius:5px;background:linear-gradient(#a9a4f0,#82c9e3);box-shadow:0 2px 0 rgba(135,135,197,.1);transition:height .08s linear}
#abao-mgo [data-spectrum-status]{color:#8591ab;font-size:10px;display:block;min-height:16px}
#abao-mgo .mgo-music-playlist>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
#abao-mgo .mgo-music-playlist>header small{font-size:10px;letter-spacing:1px;color:#8f99b0}
#abao-mgo .mgo-music-playlist>header h2{font-size:23px;color:#56617d;margin:6px 0 0}
#abao-mgo .mgo-music-playlist>header a{font-size:11px;color:#8880ba}
#abao-mgo .mgo-music-status{display:flex;gap:12px;align-items:center;justify-content:space-between;font-size:12px;color:#7b88a4;padding:12px;border-radius:12px;background:rgba(235,240,255,.6);margin-bottom:16px}
#abao-mgo [data-music-retry]{padding:7px 10px;white-space:nowrap;background:rgba(222,224,247,.8);border-radius:9px;color:#7d75b0;font-size:11px}
#abao-mgo .mgo-music-playlist .mgo-bridge-slot{width:100%;min-height:180px;text-align:left}
#abao-mgo .mgo-music-playlist .aplayer{margin:0;width:100%;border-radius:14px;overflow:hidden;box-shadow:none;background:rgba(255,255,255,.85);text-align:left;color:#66718a;font-size:12px}
#abao-mgo .mgo-music-playlist .aplayer .aplayer-info{text-align:left}
#abao-mgo .mgo-music-playlist .aplayer .aplayer-list{max-height:330px!important}
#abao-mgo .mgo-music-playlist .aplayer .aplayer-list li{padding:0 15px;text-align:left}
#abao-mgo .mgo-music-playlist .aplayer button{padding:0;background:transparent;min-width:0;border-radius:0;box-shadow:none}
#abao-mgo .mgo-music-playlist .aplayer .aplayer-icon svg{width:100%;height:100%;fill:#8d99b1;stroke:none}
#abao-mgo .mgo-music-playlist .aplayer .aplayer-pic .aplayer-button svg{fill:#fff;stroke:none}
#abao-mgo .mgo-music-note{color:#909bb0;font-size:11px;line-height:1.8;margin:18px 0 0}
@media(max-width:1100px){#abao-mgo .mgo-music-room{grid-template-columns:minmax(250px,320px) minmax(0,1fr);padding:16px 8px;gap:14px}}
@media(max-width:768px){#abao-mgo .mgo-music-room{display:block;padding:8px 2px;overflow:auto}#abao-mgo .mgo-music-card{padding:20px;margin-bottom:14px;border-radius:22px}#abao-mgo .mgo-music-art .mgo-vinyl{width:140px;height:140px}#abao-mgo .mgo-music-art .mgo-vinyl img{width:94px;height:94px}#abao-mgo .mgo-music-wave{height:66px;margin-top:15px}#abao-mgo .mgo-music-playlist .aplayer .aplayer-list{max-height:260px!important}}
@media(prefers-reduced-motion:reduce){#abao-mgo .mgo-music-wave i{transition:none}#abao-mgo .mgo-vinyl.is-spinning{animation:none}}#abao-mgo .mgo-app-head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}#abao-mgo .mgo-app-head-actions a{font-size:12px;text-decoration:none}#abao-mgo .mgo-store-foot a{display:block;margin-top:15px;font-size:12px;color:#8177b6}
/* 3.5 Public reading portal */
#abao-mgo .mgo-portal-home-strip{margin-top:18px;padding:22px 25px;border-radius:22px;background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.9);display:grid;grid-template-columns:1fr auto;gap:14px;color:#556580}
#abao-mgo .mgo-portal-home-strip small{font-size:10px;letter-spacing:2px;color:#7286b6}
#abao-mgo .mgo-portal-home-strip h2{font-size:22px;margin:8px 0;color:#40516e}
#abao-mgo .mgo-portal-home-strip p{font-size:12px;margin:0}
#abao-mgo .mgo-portal-home-strip nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
#abao-mgo .mgo-portal-home-strip :is(button,a){padding:10px 13px;border:1px solid #dee6f4;background:#f5f8ff;border-radius:12px;color:#546990;font-size:12px;text-decoration:none}
#abao-mgo .mgo-portal-quickpages{grid-column:1/-1;display:flex;gap:12px;overflow-x:auto;padding:8px 2px 12px;scroll-snap-type:x proximity;min-width:0}
#abao-mgo .mgo-portal-quickpages a{flex:1 0 155px;display:flex;flex-direction:column;gap:13px;scroll-snap-align:start;background:linear-gradient(135deg,rgba(234,239,255,.85),rgba(255,236,249,.7));border:1px solid #fff;padding:17px;color:#647398;transition:transform .2s,box-shadow .2s}
#abao-mgo .mgo-portal-quickpages a:hover{transform:translateY(-3px);box-shadow:0 9px 20px #9c9dbd20}
#abao-mgo .mgo-portal-quickpages a b{font-size:17px;color:#435671}
#abao-mgo .mgo-portal-quickpages a span{font-size:11px;color:#7c87a8}
#abao-mgo .mgo-portal-filters{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin:22px 0}
#abao-mgo .mgo-portal-filters label{display:flex;align-items:center;gap:8px;flex:1;min-width:160px;background:#f7f9fe;border:1px solid #dce4f2;border-radius:12px;padding:11px}
#abao-mgo .mgo-portal-filters input{background:transparent;border:0;min-width:0;width:100%;font-size:14px;color:#40516e}
#abao-mgo .mgo-portal-filters :is(select,button,a),#abao-mgo .mgo-portal-pager button{padding:11px 12px;border:1px solid #dce4f2;border-radius:12px;background:#f7f9fe;color:#546580;font-size:12px;text-decoration:none}
#abao-mgo .mgo-portal-filters [aria-pressed=true]{background:#e9edff;color:#5e64aa}
#abao-mgo .mgo-portal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
#abao-mgo .mgo-portal-card{display:block;border:1px solid #e0e6f1;border-radius:18px;overflow:hidden;background:rgba(255,255,255,.83);color:#40516e;text-decoration:none;transition:transform .2s,box-shadow .2s}
#abao-mgo .mgo-portal-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px #7082a522}
#abao-mgo .mgo-portal-card :is(img,.mgo-portal-card-art){display:block;width:100%;height:145px;object-fit:cover;background:linear-gradient(125deg,#e6f1ff,#f4e9f7)}
#abao-mgo .mgo-portal-card-art{padding:35px;text-align:center;font-size:54px;color:#9eafd0}
#abao-mgo .mgo-portal-card>div{padding:17px}
#abao-mgo .mgo-portal-card small{font-size:11px;color:#8997b0}
#abao-mgo .mgo-portal-card h3{font-size:17px;line-height:1.5;margin:8px 0;overflow-wrap:anywhere}
#abao-mgo .mgo-portal-card p{font-size:12px;line-height:1.8;color:#72819b}
#abao-mgo .mgo-portal-card footer{font-size:10px;color:#8393ad;margin-top:17px}
#abao-mgo .mgo-portal-collection-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:20px 0;padding:15px;background:#f3f6fd;border-radius:13px;font-size:12px}
#abao-mgo .mgo-portal-collection-tools :is(input,select){min-width:0;padding:10px 12px;max-width:100%;border:1px solid #dde5f2;background:#fff;border-radius:10px;color:#607491;font:inherit}
#abao-mgo .mgo-portal-collection-tools input{flex:1;min-width:130px}
#abao-mgo [data-portal-entry][hidden]{display:none!important}
#abao-mgo .mgo-portal-collection .mgo-portal-card{padding:18px;margin:15px 0}
#abao-mgo .mgo-portal-collection .mgo-portal-card h2{margin:14px 0;font-size:20px}
#abao-mgo .mgo-portal-collection .mgo-portal-card>img{height:220px;object-fit:contain;border-radius:12px}
#abao-mgo .mgo-portal-page-card{border:1px solid #dde6f4;border-radius:18px;padding:25px;background:linear-gradient(130deg,#f9fcffdc,#f6f1ffdb);color:#526481;text-decoration:none;min-height:150px}
#abao-mgo .mgo-portal-page-card span{font-size:10px;letter-spacing:1px;color:#8b9abe}
#abao-mgo .mgo-portal-page-card h3{font-size:22px;margin:17px 0 10px}
#abao-mgo .mgo-portal-page-card p{font-size:12px;color:#8392ad}
#abao-mgo .mgo-portal-empty{padding:50px 20px;text-align:center;color:#7184a4;background:linear-gradient(130deg,#f4f8ffb8,#f8f2ffa8);border:1px dashed #ccd8ee;border-radius:20px}
#abao-mgo .mgo-portal-empty>span{font-size:35px;color:#a7b7d5}
#abao-mgo .mgo-portal-empty h3{font-size:20px;color:#526583;margin:15px 0}
#abao-mgo .mgo-portal-empty p{font-size:13px;line-height:1.8;margin:0}
#abao-mgo .mgo-portal-pager{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin:20px 0;color:#8291ac;font-size:12px}
#abao-mgo .mgo-portal-pager button:disabled{opacity:.4;cursor:default}
#abao-mgo .mgo-portal-saved a{display:flex;align-items:center;gap:15px;border-bottom:1px solid #e1e7f0;padding:18px 8px;color:#536a90;text-decoration:none;font-size:14px}
#abao-mgo .mgo-portal-saved i{margin-left:auto;font-size:11px;font-style:normal}
#abao-mgo .mgo-portal-reader .mgo-win-body{display:block;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scroll-behavior:smooth;background:rgba(255,255,255,.96);color:#40516e}
#abao-mgo .mgo-portal-reader-tools{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 20px;background:rgba(248,250,255,.96);border-bottom:1px solid #e4eaf5}
#abao-mgo .mgo-portal-reader-tools button{padding:8px 11px;border-radius:10px;background:#fff;border:1px solid #dfe6f1;font-size:12px;color:#637797}
#abao-mgo .mgo-portal-reader-tools [data-portal-progress]{margin-left:auto;font-size:11px;background:linear-gradient(90deg,#d6e8ff var(--progress,0%),#f0f4fa 0);border-radius:20px;padding:7px 12px;color:#5d7392}
#abao-mgo .mgo-portal-reader-layout{max-width:1100px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:36px;padding:32px 35px}
#abao-mgo .mgo-portal-article{min-width:0;color:inherit}
#abao-mgo .mgo-portal-cover{width:100%;max-height:320px;object-fit:cover;border-radius:17px;margin-bottom:25px}
#abao-mgo .mgo-portal-kicker{font-size:11px;letter-spacing:1px;color:#93a0b6}
#abao-mgo .mgo-portal-article h1{font-size:clamp(24px,3vw,36px);line-height:1.45;margin:17px 0 32px;overflow-wrap:anywhere}
#abao-mgo .mgo-portal-prose{font-size:var(--portal-font,18px)!important;line-height:1.95;color:inherit;overflow-wrap:anywhere}
#abao-mgo .mgo-portal-prose :is(p,li,blockquote){font-size:inherit!important}
#abao-mgo .mgo-portal-prose :is(h2,h3){scroll-margin-top:90px;margin:30px 0 15px;color:inherit}
#abao-mgo .mgo-portal-prose a{color:#6587bb;text-decoration:underline}
#abao-mgo .mgo-portal-prose :is(img,video,iframe){max-width:100%;border-radius:12px}
#abao-mgo .mgo-portal-prose pre{overflow:auto;padding:18px;background:#253449;color:#dae7fb;border-radius:12px;line-height:1.6;font-size:14px}
#abao-mgo .mgo-portal-prose table{display:block;overflow:auto;max-width:100%}
#abao-mgo .mgo-portal-prose blockquote{border-left:3px solid #a4bada;padding:12px 20px;margin:20px 0;background:#f1f6ff;border-radius:0 12px 12px 0}
#abao-mgo .mgo-portal-toc{position:sticky;top:90px;align-self:start;border-left:1px solid #e4eaf3;padding-left:20px;font-size:12px;color:#8292ae;max-height:65vh;overflow:auto}
#abao-mgo .mgo-portal-toc b{display:block;margin:0 0 15px;color:#5a6e8f}
#abao-mgo .mgo-portal-toc button{display:block;text-align:left;width:100%;padding:7px 0;color:inherit;font-size:12px;line-height:1.6;background:none;border:0}
#abao-mgo .mgo-portal-related{margin:35px 0;padding:20px;border-radius:15px;background:#f3f7ff;color:#607491}
#abao-mgo .mgo-portal-related h2{font-size:15px;margin:0 0 15px}
#abao-mgo .mgo-portal-related a{display:block;color:#687ea3;margin:8px 0;text-decoration:none;font-size:13px}
#abao-mgo .mgo-portal-reader [data-portal-comments]{margin-top:35px;border-top:1px solid #e4eaf3;padding-top:25px}
#abao-mgo .mgo-portal-traffic{display:flex;gap:14px;flex-wrap:wrap;border:1px solid #e0e7f2;border-radius:18px;padding:20px;margin-bottom:24px;background:#f8faffcc;color:#6f829f}
#abao-mgo .mgo-portal-traffic>span{display:flex;align-items:baseline;gap:10px;font-size:12px;flex:1;min-width:120px}
#abao-mgo .mgo-portal-traffic b{font-size:28px;color:#536b90}
#abao-mgo .mgo-portal-traffic small{width:100%;font-size:11px}
#abao-mgo .mgo-portal-social .abao-comments-wrap,#abao-mgo .mgo-portal-reader .abao-comments-wrap{margin:0;max-width:none}
#abao-mgo .mgo-portal-night .mgo-win-body{background:#202b3c;color:#dce5f1}
#abao-mgo .mgo-portal-night .mgo-portal-reader-tools{background:#29364b;border-color:#3d4b61}
#abao-mgo .mgo-portal-night .mgo-portal-reader-tools button{background:#35445c;color:#dbe7fa;border-color:#4c5a70}
#abao-mgo .mgo-portal-night :is(.mgo-portal-related,.mgo-portal-prose blockquote){background:#293950;color:#cfdef5}
#abao-mgo .mgo-portal-night .abao-comments-wrap{color:#526581;background:#eef3fb;border-radius:18px;padding:20px}
#abao-mgo .mgo-portal-prose .mgo-portal-grid{grid-template-columns:repeat(2,minmax(0,1fr));font-size:14px}
#abao-mgo .mgo-portal-prose [data-portal-document]{cursor:pointer}
@media(max-width:1000px){#abao-mgo .mgo-portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#abao-mgo .mgo-portal-reader-layout{grid-template-columns:1fr;padding:25px;gap:20px}#abao-mgo .mgo-portal-toc{display:none}}
@media(max-width:768px){#abao-mgo .mgo-portal-home-strip{grid-template-columns:1fr;padding:20px}#abao-mgo .mgo-portal-grid{grid-template-columns:1fr}#abao-mgo .mgo-portal-page-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#abao-mgo .mgo-portal-page-card{padding:17px;min-height:130px}#abao-mgo .mgo-portal-page-card h3{font-size:19px}#abao-mgo .mgo-portal-reader-layout{padding:22px 15px}#abao-mgo .mgo-portal-reader-tools{padding:10px;gap:6px}#abao-mgo .mgo-portal-reader-tools button{font-size:11px;padding:7px 9px}#abao-mgo .mgo-portal-filters label{flex-basis:100%}#abao-mgo .mgo-portal-filters select{max-width:46%}#abao-mgo .abao-fields{grid-template-columns:1fr}#abao-mgo .abao-form-bottom{flex-wrap:wrap}#abao-mgo .mgo-portal-prose .mgo-portal-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){#abao-mgo .mgo-portal-card{transition:none}#abao-mgo .mgo-portal-reader .mgo-win-body{scroll-behavior:auto}}
