/* =========================================================================
 * 6.17 界面整理（放在所有样式最后）
 *   · 右边「校园速览」可以收起：收起后中间更宽；屏幕窄、本来不显示时也能从右边拉出来看
 *   · 首页：问候 + 接下来的安排放最上面，教练和「我管理的班级」排成一行、变紧凑
 *   · 工具页：捞捞学习两个大入口、我的工具变成紧凑的格子、可以搜索
 *   · 「我的」只放个人信息和常用入口；同步、外观、通知、安全这些挪到「设置」
 *   · 成长页：电脑上排成两栏，不再一块块铺满整屏
 * ========================================================================= */

/* ---------- 右栏收起 / 展开 ---------- */
.v9-rail-x { margin-left: auto; width: 30px; height: 30px; border-radius: 9px; border: 1px solid var(--line, #e3e6ee); background: var(--card, #fff); color: var(--sub, #667); font-size: 15px; line-height: 1; cursor: pointer; display: inline-grid; place-items: center; }
.v9-rail-x:hover { color: var(--text, #223); border-color: var(--accent, #5366e8); }
.siderail .studio-side-heading { display: flex; align-items: center; gap: 8px; }
.v9-rail-tab { position: fixed; right: 0; top: 50%; transform: translateY(-50%); z-index: 60; display: none; flex-direction: column; align-items: center; gap: 6px; padding: 12px 4px; width: 26px; box-sizing: border-box; border: 1px solid var(--line, #e3e6ee); border-right: 0; border-radius: 12px 0 0 12px; background: var(--card, #fff); color: var(--text, #223); box-shadow: -6px 6px 22px rgba(20, 30, 60, .08); cursor: pointer; font: 600 12px/1.2 inherit; writing-mode: vertical-rl; letter-spacing: 1px; }
.v9-rail-tab:hover { color: var(--accent, #5366e8); }
.v9-rail-tab .d { writing-mode: horizontal-tb; font-size: 13px; }
@media (min-width: 1001px) {
  html.v9-rail-hidden .v9-rail-tab { display: flex; }
  html.v9-rail-off .siderail { display: none !important; }
  /* 窄一些的屏幕：从右边拉出来盖在上面 */
  html.v9-rail-drawer .siderail { display: flex !important; flex-direction: column; position: fixed !important; top: 16px; right: 16px; bottom: auto; max-height: calc(100vh - 32px); width: 340px; max-width: calc(100vw - 32px); z-index: 80; padding: 18px 18px 14px !important; overflow: auto; background: var(--bg, #f6f5f1); border: 1px solid var(--line, #e3e6ee); border-radius: 20px; box-shadow: 0 24px 60px -16px rgba(20, 30, 60, .35); animation: v9in .18s ease-out; box-sizing: border-box; }
  html.v9-rail-drawer .v9-rail-tab { display: none; }
  html.v9-rail-drawer::after { content: ""; position: fixed; inset: 0; z-index: 79; background: rgba(15, 20, 40, .08); pointer-events: none; }
}
@keyframes v9in { from { transform: translateX(24px); opacity: .4; } to { transform: none; opacity: 1; } }

/* ---------- 首页 ---------- */
@media (min-width: 1001px) {
  [data-view=home] .studio-home-heading { margin-bottom: 6px; }
  [data-view=home] #classBar { margin-bottom: 14px; }
  .v9-home-row { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 18px; align-items: stretch; margin: 18px 0 6px; }
  .v9-home-row:empty { display: none; }
  .v9-home-row > * { margin: 0 !important; min-width: 0; }
  .v9-home-row.v9-one { grid-template-columns: minmax(0, 1fr); }
  .v9-home-row.v9-none { display: none; }
  .v9-home-row > .v9-gone { display: none; }
}
/* 教练卡：紧凑一些，「刷任务」不再是整条大横幅 */
.v9-home-row .cc-card { height: 100%; box-sizing: border-box; padding: 16px 18px !important; }
.v9-home-row .cc-card .cc-say { font-size: 15px !important; margin: 8px 0 !important; }
.v9-home-row .cc-card .cc-top { padding: 10px 12px !important; margin: 6px 0 8px !important; }
.v9-home-row .cc-card .cc-btns { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.v9-home-row .cc-card .cc-flow { display: inline-flex !important; align-items: center; gap: 8px; width: auto !important; min-height: 0 !important; padding: 7px 14px !important; margin: 8px 8px 0 0 !important; border-radius: 999px !important; font-size: 13px !important; box-shadow: none !important; }
.v9-home-row .cc-card .cc-flow b { font-size: 13px !important; }
.v9-home-row .cc-card .cc-flow small { display: none !important; }
.v9-home-row .cc-card .cc-more { display: inline-flex !important; width: auto !important; margin-top: 8px !important; vertical-align: middle; }
.v9-home-row .cc-ask p { font-size: 13px; line-height: 1.6; margin: 6px 0 10px; }
/* 我管理的班级：一行小卡片 */
.v9-home-row .t-home { padding: 16px 18px !important; height: 100%; box-sizing: border-box; display: flex; flex-direction: column; }
.v9-home-row .t-home-l { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; margin-top: 10px; }
.v9-home-row .t-hc { padding: 10px 12px !important; min-height: 0 !important; }
.v9-home-row .t-hc small { display: block; font-size: 11.5px; line-height: 1.45; margin-top: 2px; }
.v9-home-row .t-home-tip { display: none; }

/* ---------- 工具页 ---------- */
[data-view=tools] .v9-tools-top { display: flex; align-items: center; gap: 12px; margin: 4px 0 18px; }
[data-view=tools] .v9-tools-top input { flex: 1; max-width: 420px; height: 40px; padding: 0 14px 0 38px; border-radius: 12px; border: 1px solid var(--line, #e3e6ee); background: var(--card, #fff) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238890a6' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") 13px 50% no-repeat; font: inherit; font-size: 14px; color: var(--text); }
[data-view=tools] .v9-tools-top input:focus { outline: none; border-color: var(--accent, #5366e8); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent, #5366e8) 15%, transparent); }
[data-view=tools] .v9-tools-top kbd { font: 600 11px/1 ui-monospace, monospace; color: var(--sub); border: 1px solid var(--line); border-radius: 6px; padding: 4px 6px; }
.v9-feature { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 0 0 26px; }
.v9-feature .kn-entry { display: grid !important; grid-template-columns: 54px minmax(0, 1fr) auto; align-items: center; gap: 14px; width: auto !important; margin: 0 !important; padding: 18px 20px !important; border: 1px solid var(--line, #e3e6ee) !important; border-radius: 18px !important; text-align: left; cursor: pointer; color: var(--text); font: inherit; text-decoration: none; background: var(--card, #fff); position: relative; overflow: hidden; transition: transform .15s, box-shadow .15s, border-color .15s; }
.v9-feature .kn-entry::before { content: ""; position: absolute; right: -40px; top: -40px; width: 150px; height: 150px; border-radius: 50%; background: var(--v9g, #eef0ff); opacity: .9; }
.v9-feature .kn-entry:nth-child(1) { --v9g: #fff1e3; }
.v9-feature .kn-entry:nth-child(2) { --v9g: #e8efff; }
.v9-feature .kn-entry:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(20, 30, 60, .09); border-color: color-mix(in srgb, var(--accent, #5366e8) 35%, var(--line, #e3e6ee)) !important; }
.v9-feature .kn-ei { position: relative; width: 54px; height: 54px; border-radius: 16px; display: grid; place-items: center; font-size: 28px; background: var(--v9g, #eef0ff); }
.v9-feature .kn-et { position: relative; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.v9-feature .kn-et b { font-size: 16px; }
.v9-feature .kn-et small { color: var(--sub); font-size: 12.5px; line-height: 1.55; }
.v9-feature .kn-ego { position: relative; color: var(--accent, #5366e8); font-weight: 700; font-size: 13px; white-space: nowrap; }
.v9-feature .v9-tag { position: absolute; left: 20px; top: 0; transform: translateY(-50%); }
[data-view=tools] .tool-grid { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)) !important; gap: 10px !important; padding: 0 !important; }
[data-view=tools] .tool-grid > .tool { display: flex !important; flex-direction: row !important; align-items: center; gap: 0; min-height: 0 !important; height: 64px; padding: 0 6px 0 0 !important; border: 1px solid var(--line, #e3e6ee) !important; border-radius: 14px !important; background: var(--card, #fff) !important; text-align: left; }
[data-view=tools] .tool-grid > .tool:hover { border-color: color-mix(in srgb, var(--accent, #5366e8) 35%, var(--line, #e3e6ee)) !important; background: var(--card, #fff) !important; }
[data-view=tools] .tool-grid > .tool > .tool, [data-view=tools] .tool-grid > button.tool { flex: 1; display: flex !important; flex-direction: row !important; align-items: center; justify-content: flex-start; gap: 12px; height: 100%; padding: 0 0 0 12px !important; font-size: 14px !important; font-weight: 650; text-align: left; min-width: 0; }
[data-view=tools] .tool-grid .tool .ti { width: 40px !important; height: 40px !important; margin: 0 !important; border-radius: 11px !important; font-size: 20px !important; flex: none; box-shadow: none !important; }
[data-view=tools] .tool-grid .tool .tbadge { position: absolute; right: 30px; top: 50%; transform: translateY(-50%); padding: 2px 7px; border-radius: 999px; background: color-mix(in srgb, var(--accent, #5366e8) 10%, transparent); font-size: 11px; }
[data-view=tools] .tool-grid .tool .tplace { top: 50% !important; transform: translateY(-50%); right: 4px !important; opacity: .55; }
[data-view=tools] .tool-grid .tool:hover .tplace { opacity: 1; }
[data-view=tools] .tool-grid > button.tool[data-tab=store] { border-style: dashed !important; color: var(--sub); }
[data-view=tools] .tool-grid > .tool.v9-hide { display: none !important; }
[data-view=tools] .v9-empty { grid-column: 1 / -1; color: var(--sub); font-size: 13px; padding: 10px 2px; }
@media (max-width: 700px) {
  .v9-feature { grid-template-columns: 1fr; margin: 0 16px 20px; gap: 10px; }
  .v9-feature .kn-entry { padding: 14px 16px !important; grid-template-columns: 44px minmax(0, 1fr) auto; }
  .v9-feature .kn-ei { width: 44px; height: 44px; font-size: 22px; }
  [data-view=tools] .v9-tools-top { margin: 4px 16px 14px; }
  [data-view=tools] .v9-tools-top kbd { display: none; }
  [data-view=tools] .tool-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; padding: 0 16px !important; }
}

/* ---------- 我的 / 设置 ---------- */
.v9-set-btn { margin-left: auto; }
.v9-quick { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 8px; padding: 10px !important; }
.v9-quick > button, .v9-quick > a { display: grid; grid-template-columns: 36px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 10px; align-items: center; padding: 10px 12px; border: 0; border-radius: 12px; background: transparent; color: var(--text); text-align: left; text-decoration: none; font: inherit; cursor: pointer; }
.v9-quick > button:hover, .v9-quick > a:hover { background: var(--hover, rgba(0, 0, 0, .04)); }
.v9-quick .ic { grid-row: 1 / 3; width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; font-size: 18px; background: var(--muted-bg, #f1f2f6); }
.v9-quick b { font-size: 14px; }
.v9-quick small { color: var(--sub); font-size: 11.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v9-set-nav { display: flex; gap: 6px; overflow-x: auto; padding: 2px 16px 10px; scrollbar-width: none; }
.v9-set-nav::-webkit-scrollbar { display: none; }
.v9-set-nav a { flex: none; padding: 7px 12px; border-radius: 999px; color: var(--sub); font-size: 13px; text-decoration: none; border: 1px solid var(--line, #e3e6ee); background: var(--card, #fff); white-space: nowrap; }
.v9-set-nav a.on, .v9-set-nav a:hover { color: var(--accent, #5366e8); border-color: color-mix(in srgb, var(--accent, #5366e8) 40%, var(--line, #e3e6ee)); }
@media (min-width: 1001px) {
  [data-view=settings].on { display: grid !important; grid-template-columns: 180px minmax(0, 1fr); column-gap: 26px; align-items: start; }
  [data-view=settings] > .vhead { grid-column: 1 / -1; }
  [data-view=settings] .v9-set-nav { position: sticky; top: 24px; flex-direction: column; padding: 4px 0 0; gap: 2px; overflow: visible; }
  [data-view=settings] .v9-set-nav a { border: 0; background: transparent; border-radius: 10px; padding: 9px 12px; font-size: 14px; }
  [data-view=settings] .v9-set-nav a.on { background: color-mix(in srgb, var(--accent, #5366e8) 10%, transparent); font-weight: 650; }
  [data-view=settings] .v9-set-body { min-width: 0; }
  [data-view=settings] .v9-set-body > .sec-h:first-child { margin-top: 0; }
  [data-view=settings] .v9-set-body > .group, [data-view=settings] .v9-set-body > .sec-h { margin-left: 0 !important; margin-right: 0 !important; }
  [data-view=me] > .group, [data-view=me] > .sec-h, [data-view=me] > .v9-quick { margin-left: 0 !important; margin-right: 0 !important; }
  [data-view=me] .v9-quick { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* ---------- 成长页：电脑上排成两栏 ---------- */
@media (min-width: 1001px) {
  [data-view=growth].on { display: grid !important; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 14px 16px; align-items: start; }
  [data-view=growth] > * { margin: 0 !important; min-width: 0; }
  [data-view=growth] > .vhead { grid-column: 1 / -1; }
  [data-view=growth] > .surface:has(#gRings) { grid-column: 1 / 8; grid-row: 2; height: 100%; box-sizing: border-box; display: flex; align-items: center; }
  [data-view=growth] #gRings { width: 100%; padding: 14px 10px !important; }
  [data-view=growth] #gRings .ring svg { width: 78px !important; height: 78px !important; }
  [data-view=growth] > #lvCard { grid-column: 8 / -1; grid-row: 2; }
  [data-view=growth] > #lvCard > * { margin: 0 !important; height: 100%; box-sizing: border-box; }
  [data-view=growth] > #farmEntry { grid-column: 1 / 7; grid-row: 3; }
  [data-view=growth] > #farmEntry.hidden + #rankEntry, [data-view=growth] > #rankEntry:only-of-type { grid-column: 1 / -1; }
  [data-view=growth] > #rankEntry { grid-column: 7 / -1; grid-row: 3; }
  [data-view=growth] > #farmEntry, [data-view=growth] > #rankEntry { width: auto !important; min-height: 74px; padding: 12px 16px !important; box-sizing: border-box; }
  [data-view=growth] > #lvCard, [data-view=growth] > .surface:has(#gRings) { align-self: stretch; }
  [data-view=growth] > .sec-h { grid-row: 4; padding: 10px 2px 0 !important; }
  [data-view=growth] > .sec-h.v9-g1 { grid-column: 1 / 8; }
  [data-view=growth] > .sec-h.v9-g2 { grid-column: 8 / -1; }
  [data-view=growth] > #gTrend { grid-column: 1 / 8; grid-row: 5; padding: 12px 14px !important; }
  [data-view=growth] > #gTrend svg { max-height: 250px; }
  [data-view=growth] > .group { grid-column: 8 / -1; grid-row: 5; }
  [data-view=growth] > .afoot { grid-column: 1 / -1; }
}

/* ---------- 捞捞元宇宙：首页修正 ----------
 * 「接下来的安排」以前按内容一直往下长，左边问候卡只有一截，中间空出一大块；顶上的标题条吸在顶部还挡内容
 * 现在：右边的安排跟左边一样高，多的在框里滚动；标题条不再吸顶 */
@media (min-width: 1001px) {
  [data-skin=cyber] .studio-focus-grid { align-items: stretch !important; }
  [data-skin=cyber] .studio-welcome-wrap { min-height: 430px; display: flex; flex-direction: column; }
  [data-skin=cyber] .studio-welcome-wrap > #hero { flex: 1; display: flex; flex-direction: column; }
  [data-skin=cyber] .studio-welcome-wrap > #hero > .hero { flex: 1; }
  [data-skin=cyber] .studio-agenda-panel { height: 0 !important; min-height: 100% !important; display: flex !important; flex-direction: column; box-sizing: border-box; overflow: hidden; }
  [data-skin=cyber] .studio-agenda-panel #agenda { flex: 1 1 auto; min-height: 0; overflow: auto; }
  [data-skin=cyber] [data-view=home] > .vhead, [data-skin=cyber] .studio-home-heading { position: static !important; }
}
@media (min-width: 1001px) { [data-skin=cyber] .studio-home-heading { background: transparent !important; box-shadow: none !important; } }

/* ---------- 左下角账号菜单 ---------- */
@media (min-width: 701px) {
  .rail .nav[data-tab=me], .rail .nav[data-tab=settings] { display: none !important; }
  #userChip { cursor: pointer; }
  #userChip[aria-expanded=true] { background: var(--rail-hover, #ffffff12); }
}
.v9-acct { position: fixed; z-index: 120; padding: 6px; border-radius: 16px; background: var(--card, #fff); color: var(--text, #223); border: 1px solid var(--line, #e3e6ee); box-shadow: 0 18px 50px -12px rgba(15, 25, 50, .28), 0 2px 6px rgba(15, 25, 50, .06); max-height: calc(100vh - 24px); overflow: auto; animation: v9pop .14s ease-out; font-size: 14px; }
@keyframes v9pop { from { transform: translateY(6px); opacity: 0; } to { transform: none; opacity: 1; } }
.v9-acct-h { display: flex; align-items: center; gap: 10px; padding: 10px 10px 12px; border-bottom: 1px solid var(--line, #e3e6ee); margin-bottom: 4px; }
.v9-acct-h .av { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; font-weight: 700; color: #fff; background: var(--hl, #5366e8); flex: none; }
.v9-acct-h .t { display: flex; flex-direction: column; min-width: 0; }
.v9-acct-h b { font-size: 14.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v9-acct-h small { color: var(--sub); font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v9-acct > button, .v9-acct > a { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; align-items: center; column-gap: 10px; width: 100%; padding: 9px 10px; border: 0; border-radius: 10px; background: transparent; color: inherit; font: inherit; text-align: left; text-decoration: none; cursor: pointer; }
.v9-acct > button:hover, .v9-acct > a:hover, .v9-acct > button.open { background: var(--hover, #f2f3f7); }
.v9-acct > button .cc-i, .v9-acct > a .cc-i { width: 19px; height: 19px; color: var(--sub); }
.v9-acct > button small, .v9-acct > a small { grid-column: 2; color: var(--sub); font-size: 11.5px; margin-top: -2px; }
.v9-acct > button.sub { grid-template-columns: 22px minmax(0, 1fr) 16px; }
.v9-acct > button.sub .chev { grid-row: 1 / 3; grid-column: 3; width: 15px; height: 15px; transition: transform .15s; }
.v9-acct > button.sub.open .chev { transform: rotate(90deg); }
.v9-acct > button > span { grid-column: 2; }
.v9-acct > button > .cc-i:first-child, .v9-acct > a > .cc-i:first-child { grid-row: 1 / 3; }
.v9-acct .danger, .v9-acct .danger .cc-i { color: #d9483b !important; }
.v9-acct .sep { height: 1px; background: var(--line, #e3e6ee); margin: 4px 6px; }
.v9-acct-sub { padding: 6px 8px 8px; margin: 0 4px 4px; border-radius: 12px; background: var(--muted-bg, #f4f5f8); }
.v9-acct-looks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.v9-acct-looks button { display: flex; align-items: center; gap: 8px; padding: 7px 8px; border-radius: 9px; border: 1px solid transparent; background: var(--card, #fff); color: inherit; font: inherit; font-size: 13px; cursor: pointer; }
.v9-acct-looks button.on { border-color: var(--accent, #5366e8); font-weight: 650; }
.v9-acct-looks .pv { display: inline-block; width: 18px; height: 18px; border-radius: 6px; flex: none; position: static !important; }
.v9-acct-looks .pv.fresh { background: linear-gradient(135deg, #e5f0e8 50%, #157568 50%); }
.v9-acct-looks .pv.cyber { background: linear-gradient(135deg, #7a1cff, #00e5ff); }
.v9-acct-modes { display: flex; gap: 4px; margin-top: 8px; padding: 3px; border-radius: 10px; background: var(--card, #fff); }
.v9-acct-modes button { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 4px; padding: 6px 4px; border: 0; border-radius: 8px; background: transparent; color: var(--sub); font: inherit; font-size: 12.5px; cursor: pointer; white-space: nowrap; }
.v9-acct-modes button .cc-i { width: 15px; height: 15px; }
.v9-acct-modes button.on { background: var(--hl, #5366e8); color: var(--hl-text, #fff); }
.v9-acct-note { display: block; color: var(--sub); font-size: 11px; margin-top: 6px; text-align: center; }

.v9-rail-tab .d .cc-i { width: 15px; height: 15px; color: var(--accent, #5366e8); }
html.v9-rail-drawer .siderail .studio-side-heading { padding-top: 0 !important; margin-top: 0 !important; }
html.v9-rail-drawer .siderail .v9-rail-x .cc-i { width: 15px; height: 15px; }

/* ---------- 设置：电脑上是悬浮窗 ---------- */
.v9-set-veil, .v9-set-x { display: none; }
@media (min-width: 701px) {
  html.v9-set-open .v9-set-veil { display: block; position: fixed; inset: 0; z-index: 90; background: rgba(12, 18, 36, .32); backdrop-filter: blur(2px); animation: v9fade .15s ease-out; }
  html.v9-set-open { overflow: hidden; }
  .view[data-view=settings].v9-float { display: grid !important; grid-template-columns: 170px minmax(0, 1fr); column-gap: 22px; align-items: start; position: fixed !important; z-index: 91; left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(920px, calc(100vw - 48px)); height: min(760px, calc(100vh - 48px)); max-width: none !important; margin: 0 !important; padding: 0 26px 26px !important; overflow-y: auto; overscroll-behavior: contain; background: var(--bg, #f6f5f1); border: 1px solid var(--line, #e3e6ee); border-radius: 22px; box-shadow: 0 30px 80px -20px rgba(10, 20, 50, .45); box-sizing: border-box; animation: v9pop .18s ease-out; }
  .view[data-view=settings].v9-float > .vhead { grid-column: 1 / -1; position: sticky; top: 0; z-index: 2; margin: 0 -26px 10px !important; padding: 16px 20px 12px 26px !important; background: var(--bg, #f6f5f1); border-bottom: 1px solid var(--line, #e3e6ee); }
  .view[data-view=settings].v9-float > .vhead .back { display: none !important; }
  .view[data-view=settings].v9-float .v9-set-x { display: inline-grid; place-items: center; margin-left: auto; width: 34px; height: 34px; border: 0; border-radius: 10px; background: transparent; color: var(--sub, #667); cursor: pointer; }
  .view[data-view=settings].v9-float .v9-set-x:hover { background: color-mix(in srgb, var(--accent, #5366e8) 10%, transparent); color: var(--ink, #222); }
  .view[data-view=settings].v9-float .v9-set-x .cc-i { width: 18px; height: 18px; }
  .view[data-view=settings].v9-float .v9-set-nav { position: sticky; top: 76px; display: flex; flex-direction: column; padding: 4px 0 0; gap: 2px; overflow: visible; }
  .view[data-view=settings].v9-float .v9-set-nav a { border: 0; background: transparent; border-radius: 10px; padding: 9px 12px; font-size: 14px; }
  .view[data-view=settings].v9-float .v9-set-nav a.on { background: color-mix(in srgb, var(--accent, #5366e8) 10%, transparent); font-weight: 650; }
  .view[data-view=settings].v9-float .v9-set-body { min-width: 0; }
  .view[data-view=settings].v9-float .v9-set-body > .sec-h:first-child { margin-top: 0; }
  .view[data-view=settings].v9-float .v9-set-body > .group, .view[data-view=settings].v9-float .v9-set-body > .sec-h { margin-left: 0 !important; margin-right: 0 !important; }
}
@keyframes v9fade { from { opacity: 0; } }
@keyframes v9pop { from { opacity: 0; transform: translate(-50%, -48%) scale(.98); } }
[data-skin=cyber] .view[data-view=settings].v9-float, [data-skin=cyber] .view[data-view=settings].v9-float > .vhead { background: var(--panel, #0d1528); }
/* 学习页（课内学习）右下角有它自己的「AI 设置」，捞捞助手先让开 */
html:has(.view[data-view=study].on) #lao { display: none !important; }

/* ---------- 个人中心：电脑上也是悬浮窗 ---------- */
@media (min-width: 701px) {
  .view[data-view=me].v9-float { display: block !important; position: fixed !important; z-index: 91; left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(760px, calc(100vw - 48px)); max-height: calc(100vh - 48px); max-width: none !important; margin: 0 !important; padding: 0 22px 22px !important; overflow-y: auto; overscroll-behavior: contain; background: var(--bg, #f6f5f1); border: 1px solid var(--line, #e3e6ee); border-radius: 22px; box-shadow: 0 30px 80px -20px rgba(10, 20, 50, .45); box-sizing: border-box; animation: v9pop .18s ease-out; }
  .view[data-view=me].v9-float > .vhead { position: sticky; top: 0; z-index: 2; margin: 0 -22px 12px !important; padding: 16px 16px 12px 22px !important; background: var(--bg, #f6f5f1); border-bottom: 1px solid var(--line, #e3e6ee); display: flex; align-items: center; gap: 8px; }
  .view[data-view=me].v9-float > .vhead .spacer { flex: 1; }
  .view[data-view=me].v9-float .v9-set-x { display: inline-grid; place-items: center; width: 34px; height: 34px; border: 0; border-radius: 10px; background: transparent; color: var(--sub, #667); cursor: pointer; }
  .view[data-view=me].v9-float .v9-set-x:hover { background: color-mix(in srgb, var(--accent, #5366e8) 10%, transparent); color: var(--ink, #222); }
  .view[data-view=me].v9-float .v9-set-x .cc-i { width: 18px; height: 18px; }
  .view[data-view=me].v9-float > *:not(.vhead) { margin-left: 0 !important; margin-right: 0 !important; }
}
[data-skin=cyber] .view[data-view=me].v9-float, [data-skin=cyber] .view[data-view=me].v9-float > .vhead { background: var(--panel, #0d1528); }

/* ---------- 7.1 AI 整理：原文对照 ---------- */
.pi .pi-src { grid-column: 2 / -1; min-width: 0; margin: 2px 0 0; padding: 7px 10px; border-radius: 10px; background: color-mix(in srgb, var(--accent, #5366e8) 6%, transparent); border-left: 3px solid color-mix(in srgb, var(--accent, #5366e8) 45%, transparent); font-size: 12.5px; line-height: 1.6; color: var(--sub, #667); cursor: pointer; box-sizing: border-box; }
.pi .pi-src b { font-size: 11px; font-weight: 700; color: var(--accent, #5366e8); margin-right: 6px; letter-spacing: .5px; }
.pi .pi-src .pi-src-t { color: var(--ink, var(--text, #222)); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.pi .pi-src.open .pi-src-t { -webkit-line-clamp: unset; display: inline; }
.pi .pi-src mark { background: none; color: inherit; border-radius: 4px; padding: 0 2px; font-weight: 650; }
.pi .pi-src mark.hl-t { background: color-mix(in srgb, var(--accent, #5366e8) 16%, transparent); color: var(--accent, #3c4fd8); }
.pi .pi-src mark.hl-l { background: color-mix(in srgb, #1f9d6b 16%, transparent); color: #187a54; }
.pi .pi-src mark.hl-k { background: color-mix(in srgb, #e5484d 14%, transparent); color: #c4373c; }
[data-tone=dark] .pi .pi-src mark.hl-l { color: #5fd3a3; } [data-tone=dark] .pi .pi-src mark.hl-k { color: #ff8a8d; }
.pi .pi-src em { display: block; font-style: normal; color: #b26a00; font-size: 12px; margin-top: 2px; }
@media (max-width: 700px) { .pi .pi-src { grid-column: 1 / -1; } }

/* ---------- 7.1 大作业拆解 / 期末复习排期 ---------- */
.dp-wrap { max-width: 980px; padding: 0 16px 40px; display: grid; gap: 14px; }
.dp-form, .dp-draft, .dp-card { padding: 18px 20px; border-radius: 18px; }
.dp-lead { margin: 0 0 12px; color: var(--sub); font-size: 14px; line-height: 1.7; }
.dp-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px 14px; margin-bottom: 10px; }
.dp-form label { display: grid; gap: 5px; font-size: 12.5px; color: var(--sub); font-weight: 600; }
.dp-form label.dp-full { margin-bottom: 10px; }
.dp-form input, .dp-form textarea, .dp-form select, .dp-steps input { font: inherit; font-size: 14px; color: var(--text); background: var(--surface, var(--card, #fff)); border: 1px solid var(--line, #e3e6ee); border-radius: 10px; padding: 8px 10px; min-width: 0; width: 100%; box-sizing: border-box; }
.dp-form textarea { resize: vertical; line-height: 1.6; }
.dp-skip { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 4px 0 6px; font-size: 12.5px; color: var(--sub); }
.dp-skip > span { margin-right: 4px; font-weight: 600; }
.dp-skip label { display: inline-flex !important; cursor: pointer; }
.dp-skip input { position: absolute; opacity: 0; pointer-events: none; width: 1px !important; }
.dp-skip b { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; border: 1px solid var(--line, #e3e6ee); font-weight: 600; color: var(--text); }
.dp-skip input:checked + b { background: color-mix(in srgb, #e5484d 12%, transparent); border-color: color-mix(in srgb, #e5484d 40%, transparent); color: #c4373c; text-decoration: line-through; }
.dp-act { display: flex; justify-content: flex-end; gap: 8px; margin-top: 12px; flex-wrap: wrap; }
.dp-act.left { justify-content: flex-start; margin: 4px 0 12px; }
.dp-st { margin-top: 8px; font-size: 13px; color: var(--accent); min-height: 1em; }
.dp-st.err { color: #c4373c; } .dp-st.warn { color: #b26a00; }
.dp-h { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; margin-bottom: 10px; }
.dp-h b { font-size: 16px; } .dp-h span { font-size: 12.5px; color: var(--sub); }
.dp-warn { color: #b26a00; font-style: normal; }
.dp-steps { margin: 0; padding: 0; list-style: none; counter-reset: dp; display: grid; gap: 6px; }
.dp-steps li { counter-increment: dp; display: grid; grid-template-columns: 26px minmax(0, 1fr) 76px auto 28px; align-items: center; gap: 6px; padding: 6px 8px; border-radius: 12px; background: var(--muted-bg, #f4f5f8); }
.dp-steps li::before { content: counter(dp); display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: color-mix(in srgb, var(--accent, #5366e8) 14%, transparent); color: var(--accent, #5366e8); font-size: 12px; font-weight: 700; }
.dp-steps li small { grid-column: 2 / -1; color: var(--sub); font-size: 12px; }
.dp-steps input { padding: 6px 8px; }
.dp-u { font-size: 12px; color: var(--sub); }
.dp-x { border: 0; background: transparent; color: var(--sub); font-size: 18px; cursor: pointer; border-radius: 8px; width: 28px; height: 28px; }
.dp-x:hover { background: color-mix(in srgb, #e5484d 12%, transparent); color: #c4373c; }
.dp-add { margin-top: 8px; border: 1px dashed var(--line, #d8dbe4); background: transparent; color: var(--accent); border-radius: 10px; padding: 6px 12px; cursor: pointer; font: inherit; font-size: 13px; }
.dp-tl { display: grid; gap: 4px; border-left: 2px solid color-mix(in srgb, var(--accent, #5366e8) 25%, transparent); margin-left: 6px; padding-left: 14px; }
.dp-day { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 4px 0; position: relative; }
.dp-day::before { content: ""; position: absolute; left: -20px; top: 12px; width: 10px; height: 10px; border-radius: 50%; background: var(--card, #fff); border: 2px solid var(--accent, #5366e8); }
.dp-day.due::before { background: #e5484d; border-color: #e5484d; }
.dp-d { font-size: 12.5px; color: var(--sub); width: 96px; flex: none; font-variant-numeric: tabular-nums; }
.dp-chip { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; background: color-mix(in srgb, var(--accent, #5366e8) 10%, transparent); color: var(--text); font-size: 13px; }
.dp-chip i { font-style: normal; font-size: 11.5px; color: var(--sub); }
.dp-chip.due { background: color-mix(in srgb, #e5484d 12%, transparent); color: #c4373c; font-weight: 650; }
.dp-note { margin: 10px 0 0; font-size: 12.5px; color: var(--sub); }
.dp-card-h { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.dp-card-h b { font-size: 15.5px; } .dp-card-h small { color: var(--sub); }
.dp-left { margin-left: auto; font-size: 12.5px; color: var(--sub); }
.dp-left.hot { color: #c4373c; font-weight: 650; }
.dp-bar { height: 6px; border-radius: 99px; background: var(--muted-bg, #eef0f5); margin: 10px 0 6px; overflow: hidden; }
.dp-bar i { display: block; height: 100%; background: var(--accent, #5366e8); border-radius: 99px; transition: width .3s; }
.dp-card-m { font-size: 12.5px; color: var(--sub); }
.dp-card-a { display: flex; gap: 6px; justify-content: flex-end; margin-top: 8px; }
.rv-row { display: grid; grid-template-columns: minmax(0, 1.4fr) 150px 110px 90px 30px; gap: 8px; align-items: center; margin-bottom: 8px; }
.rv-row small { grid-column: 1 / -1; margin-top: -4px; font-size: 12px; color: var(--sub); }
#dpList { display: grid; gap: 10px; }
.dp-toast { position: fixed; left: 50%; bottom: 28px; transform: translateX(-50%); z-index: 9000; max-width: min(560px, 92vw); padding: 12px 18px; border-radius: 14px; background: #1f2540; color: #fff; font-size: 13.5px; line-height: 1.6; box-shadow: 0 16px 40px -12px rgba(10, 20, 50, .45); transition: opacity .4s, transform .4s; }
.dp-toast.out { opacity: 0; transform: translate(-50%, 10px); }
@media (max-width: 700px) {
  .dp-wrap { padding: 0 12px 90px; }
  .dp-steps li { grid-template-columns: 24px minmax(0, 1fr) 64px 28px; } .dp-steps li .dp-u { display: none; }
  .rv-row { grid-template-columns: 1fr 1fr; } .rv-row .rv-c { grid-column: 1 / -1; }
  .dp-d { width: 100%; }
}

/* ---------- 电脑上：左边导航有的页面，不再重复页面标题和返回键 ---------- */
@media (min-width: 701px) {
  .view.v9-inrail > .vhead > h2, .view.v9-inrail > .vhead > .back, .view.v9-inrail > .vhead > .mavatar { display: none !important; }
  .view.v9-inrail > .vhead.v9-vhead-off { display: none !important; }
  .view.v9-inrail .hw-head > h2, .view.v9-inrail .hw-head > .range { display: none !important; }
  .view.v9-inrail .hw-head:not(:has(> :not(h2):not(.range):not(.spacer))) { display: none !important; }
}
