/* =====================================================================
   博主工作台 · 设计系统（原型）
   多巴胺贴纸网感风 · 亮色优先（灵感：活泼博主风 / 糖果撞色 / 贴纸硬阴影）
   生产环境见 docs/LARAVEL_MIGRATION.md（对应 Tailwind 主题 token）
   ===================================================================== */

/* ---------- 主题变量（亮色为默认 · 多巴胺配色） ---------- */
:root {
  --bg: #fff6ee;
  --text: #3d2b3d;
  --muted: #a08a9c;
  --border: rgba(61, 43, 61, 0.14);
  --glass: #ffffff;
  --glass-strong: #fff0f6;
  --input-bg: #fdf1f7;
  --accent1: #ff5da2;   /* 糖果粉 */
  --accent2: #ff9f43;   /* 活力橙 */
  --accent3: #4ecdc4;   /* 薄荷绿 */
  --pop: #ffd93d;       /* 柠檬黄 */
  --good: #2ecc8f;
  --warn: #ffb020;
  --bad: #ff6b6b;
  --shadow: 6px 6px 0 rgba(61, 43, 61, 0.12);
  --shadow-pop: 6px 6px 0 rgba(255, 93, 162, 0.35);
}

/* 暗色 = 柔和莓紫夜色（保留切换能力） */
[data-theme="dark"] {
  --bg: #241a2e;
  --text: #ffe9f4;
  --muted: #b79cc0;
  --border: rgba(255, 233, 244, 0.14);
  --glass: #322441;
  --glass-strong: #3d2c50;
  --input-bg: #2b1f38;
  --shadow: 6px 6px 0 rgba(0, 0, 0, 0.35);
  --shadow-pop: 6px 6px 0 rgba(255, 93, 162, 0.28);
}

/* ---------- 基础 ---------- */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  transition: background 0.4s ease, color 0.4s ease;
}
[x-cloak] { display: none !important; }
::selection { background: var(--accent1); color: #fff; }

/* ---------- 动态背景：糖果泡泡 + 波点 ---------- */
.bg-orbs { position: fixed; inset: 0; overflow: hidden; z-index: 0; pointer-events: none; }
.orb { position: absolute; border-radius: 50%; filter: blur(60px); opacity: 0.5;
  background: radial-gradient(circle at 30% 30%, var(--accent1), transparent 70%); }
.orb-1 { width: 480px; height: 480px; top: -140px; left: -100px; animation: float1 18s ease-in-out infinite; }
.orb-2 { width: 420px; height: 420px; bottom: -140px; right: -80px; opacity: 0.45;
  background: radial-gradient(circle at 30% 30%, var(--accent2), transparent 70%); animation: float2 22s ease-in-out infinite; }
.orb-3 { width: 360px; height: 360px; top: 42%; left: 58%; opacity: 0.3;
  background: radial-gradient(circle at 30% 30%, var(--accent3), transparent 70%); animation: float1 26s ease-in-out infinite reverse; }
.grain { position: absolute; inset: 0; opacity: 0.5;
  background-image: radial-gradient(rgba(255, 93, 162, 0.10) 1.5px, transparent 1.5px);
  background-size: 26px 26px; }
[data-theme="dark"] .grain { opacity: 0.25; }
@keyframes float1 { 0%,100%{transform:translate(0,0)} 50%{transform:translate(40px,30px)} }
@keyframes float2 { 0%,100%{transform:translate(0,0)} 50%{transform:translate(-50px,-30px)} }

/* ---------- 顶栏 ---------- */
.logo-chip { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 16px;
  font-size: 22px; background: linear-gradient(135deg, var(--accent1), var(--accent2)); color: #fff;
  border: 2px solid rgba(61,43,61,0.15); box-shadow: 4px 4px 0 rgba(255,93,162,0.3);
  transform: rotate(-6deg); transition: transform 0.3s cubic-bezier(0.34,1.56,0.64,1); }
.logo-chip:hover { transform: rotate(6deg) scale(1.08); }

/* ---------- 按钮：贴纸风 ---------- */
.glass-btn, .glass-btn-sm, .btn-primary { cursor: pointer; border: 2px solid var(--border);
  background: var(--glass); color: var(--text); border-radius: 14px;
  transition: transform 0.25s cubic-bezier(0.34,1.56,0.64,1), background 0.25s, box-shadow 0.25s; }
.glass-btn { width: 42px; height: 42px; display: grid; place-items: center; font-size: 17px; box-shadow: 3px 3px 0 var(--border); }
.glass-btn-sm { padding: 6px 14px; font-size: 13px; font-weight: 600; box-shadow: 3px 3px 0 var(--border); }
.glass-btn:hover, .glass-btn-sm:hover { background: var(--glass-strong); transform: translate(-2px,-2px);
  box-shadow: 5px 5px 0 var(--border); }
.btn-primary { padding: 8px 18px; font-size: 13px; font-weight: 700; color: #fff; border: 2px solid transparent;
  background: linear-gradient(135deg, var(--accent1), var(--accent2)); box-shadow: 4px 4px 0 rgba(255,93,162,0.3); border-radius: 999px; }
.btn-primary:hover { transform: translate(-2px,-2px) rotate(-1deg); box-shadow: 6px 6px 0 rgba(255,93,162,0.35); }
.magnetic { will-change: transform; }

/* ---------- Bento 网格：圆滚滚贴纸卡 ---------- */
.bento-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; grid-auto-rows: minmax(10px, auto); }
.bento-card { position: relative; border-radius: 26px; padding: 20px; background: var(--glass);
  border: 2px solid var(--border); box-shadow: var(--shadow);
  transition: transform 0.3s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.3s, border-color 0.3s; }
.bento-card:hover { transform: translate(-3px,-3px) rotate(-0.4deg); box-shadow: 9px 9px 0 rgba(61,43,61,0.14);
  border-color: var(--accent1); }
[data-theme="dark"] .bento-card:hover { box-shadow: 9px 9px 0 rgba(0,0,0,0.4); }
.span-2 { grid-column: span 2; }
.row-2 { grid-row: span 2; }

/* 每张卡不同顶色条，撞色感 */
.hero-card   { border-top: 6px solid var(--accent1); }
.kanban-card { border-top: 6px solid var(--pop); }
.server-card { border-top: 6px solid var(--accent3); }
.notes-card  { border-top: 6px solid var(--accent2); }
.links-card  { border-top: 6px solid #b388ff; }

/* ---------- 卡片标题 ---------- */
.card-title { font-size: 15px; font-weight: 800; letter-spacing: 0.02em; }
.card-title::after { content: " ✦"; color: var(--accent1); font-size: 12px; }

/* ---------- Hero ---------- */
.hero-card { background: linear-gradient(140deg, #fff0f6, #fff6e6 60%, #eafffb); }
[data-theme="dark"] .hero-card { background: linear-gradient(140deg, #3a2547, #33203f 60%, #253243); }
.badge { font-size: 11px; font-weight: 700; padding: 3px 12px; border-radius: 999px; background: var(--accent1);
  color: #fff; border: 2px solid rgba(61,43,61,0.12); box-shadow: 2px 2px 0 rgba(255,93,162,0.3); transform: rotate(2deg); }
.mini { background: rgba(255,255,255,0.7); border: 2px solid var(--border); border-radius: 18px; padding: 12px; }
[data-theme="dark"] .mini { background: rgba(255,255,255,0.06); }
.mini-label { font-size: 11px; color: var(--muted); font-weight: 700; letter-spacing: 0.06em; }
.mini-value { margin-top: 6px; font-size: 15px; font-weight: 700; line-height: 1.3; }
.mini-sub { margin-top: 4px; font-size: 12px; color: var(--muted); }
.mini-list { margin-top: 6px; display: flex; flex-direction: column; gap: 6px; font-size: 13px; }
.dot { width: 9px; height: 9px; border-radius: 50%; background: var(--accent2); flex: none; }
.dot-done { background: var(--good); }
.stat-pill { font-size: 11px; font-weight: 600; padding: 3px 12px; border-radius: 999px; background: var(--input-bg);
  border: 2px solid var(--border); color: var(--muted); }

/* ---------- 看板（灵感池 / 制作中 / 已发布） ---------- */
.kanban { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.kanban-col { background: var(--input-bg); border: 2px dashed var(--border); border-radius: 18px; padding: 10px; }
.kanban-col-head { display: flex; align-items: center; justify-content: space-between; font-size: 12px;
  font-weight: 700; color: var(--muted); margin-bottom: 8px; padding: 0 2px; }
.count { background: var(--pop); color: #3d2b3d; border-radius: 999px; padding: 1px 9px; font-size: 11px; font-weight: 800; }
.kanban-col-body { display: flex; flex-direction: column; gap: 8px; min-height: 40px; }
.task { background: var(--glass); border: 2px solid var(--border); border-left: 5px solid var(--accent2);
  border-radius: 14px; padding: 10px; transition: transform 0.2s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.2s; }
.task:hover { transform: translate(-2px,-2px) rotate(-0.6deg); box-shadow: 4px 4px 0 var(--border); }
.pri-P1 { border-left-color: var(--bad); }
.pri-P2 { border-left-color: var(--warn); }
.pri-P3 { border-left-color: var(--accent3); }
.pri-P4 { border-left-color: var(--muted); }
.task-title { font-size: 13px; font-weight: 600; line-height: 1.35; }
.task-del { color: var(--muted); cursor: pointer; font-size: 15px; line-height: 1; background: none; border: none; }
.task-del:hover { color: var(--bad); transform: scale(1.2); }
.pri-tag { font-size: 10px; font-weight: 700; padding: 2px 8px; border-radius: 999px; background: var(--input-bg); color: var(--muted); border: 1px solid var(--border); }
.move-btn { font-size: 12px; width: 26px; height: 26px; border-radius: 10px; cursor: pointer;
  background: var(--glass); border: 2px solid var(--border); color: var(--text); font-weight: 700;
  transition: transform 0.2s cubic-bezier(0.34,1.56,0.64,1); }
.move-btn:hover { background: var(--pop); color: #3d2b3d; transform: scale(1.12); }
.empty { text-align: center; color: var(--muted); font-size: 12px; padding: 10px 0; }

/* ---------- 服务器 / 数据状态 ---------- */
.metric { background: var(--input-bg); border: 2px solid var(--border); border-radius: 16px; padding: 10px 12px; }
.metric-label { font-size: 11px; font-weight: 700; color: var(--muted); }
.metric-val { font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; }
.bar { margin-top: 8px; height: 8px; border-radius: 999px; background: rgba(61,43,61,0.08); overflow: hidden; border: 1px solid var(--border); }
[data-theme="dark"] .bar { background: rgba(255,255,255,0.08); }
.bar-fill { height: 100%; border-radius: 999px;
  background: linear-gradient(90deg, var(--accent3), var(--pop), var(--accent1)); transition: width 0.6s ease; }
.svc { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; padding: 4px 12px;
  border-radius: 999px; background: var(--glass); border: 2px solid var(--border); box-shadow: 2px 2px 0 var(--border); }
.svc-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--muted); }
.svc-online { color: var(--good); } .svc-online .svc-dot { background: var(--good); box-shadow: 0 0 8px var(--good); }
.svc-offline { color: var(--bad); } .svc-offline .svc-dot { background: var(--bad); }
.svc-timeout, .svc-error, .svc-invalid { color: var(--warn); } .svc-timeout .svc-dot, .svc-error .svc-dot, .svc-invalid .svc-dot { background: var(--warn); }

/* ---------- 笔记 / 灵感库 ---------- */
.notes-list { display: flex; flex-direction: column; gap: 8px; max-height: 260px; overflow: auto; }
.note { background: var(--input-bg); border: 2px solid var(--border); border-radius: 16px; padding: 10px 12px;
  cursor: pointer; transition: transform 0.2s cubic-bezier(0.34,1.56,0.64,1), border-color 0.2s, box-shadow 0.2s; }
.note:hover { transform: translate(-2px,-2px) rotate(0.4deg); border-color: var(--accent2); box-shadow: 4px 4px 0 var(--border); }
.note-title { font-size: 13px; font-weight: 700; }
.note-body { margin-top: 4px; font-size: 12px; color: var(--muted); line-height: 1.4;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.note-meta { margin-top: 6px; font-size: 11px; color: var(--muted); }

/* ---------- 快速入口 ---------- */
.links-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.link { display: flex; align-items: center; gap: 10px; padding: 12px; border-radius: 18px;
  background: var(--input-bg); border: 2px solid var(--border); text-decoration: none; color: var(--text);
  font-size: 13px; font-weight: 600; transition: transform 0.2s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.2s, border-color 0.2s; }
.link:hover { transform: translate(-2px,-2px) rotate(-0.6deg); box-shadow: 4px 4px 0 var(--border); border-color: var(--accent1); }
.link-ico { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 11px; font-size: 16px;
  background: linear-gradient(135deg, rgba(255,93,162,0.18), rgba(255,159,67,0.18)); border: 1px solid var(--border); }

/* ---------- 输入控件 ---------- */
.inp { background: var(--glass); border: 2px solid var(--border); border-radius: 12px; padding: 8px 12px;
  font-size: 13px; color: var(--text); outline: none; transition: border-color 0.2s, box-shadow 0.2s; width: 100%; }
.inp:focus { border-color: var(--accent1); box-shadow: 0 0 0 3px rgba(255,93,162,0.18); }
.inp::placeholder { color: var(--muted); }
select.inp { cursor: pointer; }

/* ---------- 抽屉 / 弹层 ---------- */
.drawer-mask { position: fixed; inset: 0; background: rgba(61,43,61,0.35); backdrop-filter: blur(4px); z-index: 40; }
.drawer { position: fixed; top: 0; right: 0; height: 100%; width: 380px; max-width: 92vw; z-index: 50;
  background: var(--bg); border-left: 3px solid var(--accent1); transform: translateX(100%);
  transition: transform 0.35s cubic-bezier(0.34,1.56,0.64,1); display: flex; flex-direction: column;
  box-shadow: -16px 0 50px rgba(61,43,61,0.25); border-radius: 26px 0 0 26px; }
.drawer.wide { width: 560px; }
.drawer.open { transform: translateX(0); }
.drawer-body { flex: 1; overflow: auto; padding: 16px; display: flex; flex-direction: column; gap: 10px; }
.bubble { max-width: 85%; padding: 10px 14px; border-radius: 18px; font-size: 13px; line-height: 1.5; }
.bubble.user { align-self: flex-end; background: linear-gradient(135deg, var(--accent1), var(--accent2)); color: #fff; border-bottom-right-radius: 5px; }
.bubble.ai { align-self: flex-start; background: var(--glass); border: 2px solid var(--border); border-bottom-left-radius: 5px; }
.note-edit-title { flex: 1; background: transparent; border: none; outline: none; font-size: 18px; font-weight: 800; color: var(--text); }
.note-edit-body { width: 100%; height: 100%; min-height: 300px; resize: none; background: var(--glass);
  border: 2px solid var(--border); border-radius: 16px; padding: 14px; font-size: 14px; color: var(--text); outline: none; line-height: 1.6; }

/* =====================================================================
   分区结构：01 进行中项目（上） / 02 自媒体运营（下）
   ===================================================================== */
.zone { position: relative; }
.zone-secondary { opacity: 0.99; }

.zone-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px;
  flex-wrap: wrap; margin-bottom: 16px; }
.zone-index { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 16px;
  font-size: 15px; font-weight: 900; letter-spacing: -0.02em; color: #fff;
  background: linear-gradient(135deg, var(--accent1), var(--accent2));
  border: 2px solid rgba(61,43,61,0.15); box-shadow: 4px 4px 0 rgba(255,93,162,0.3);
  transform: rotate(-4deg); flex: none; }
.zone-index.idx-muted { background: linear-gradient(135deg, var(--accent3), #7ad8ff);
  box-shadow: 4px 4px 0 rgba(78,205,196,0.35); transform: rotate(4deg); }
.zone-title { font-size: 19px; font-weight: 900; letter-spacing: -0.01em; line-height: 1.2; }
.zone-sub { font-size: 12px; color: var(--muted); margin-top: 3px; }
.zone-flag { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 700;
  padding: 5px 14px; border-radius: 999px; border: 2px solid var(--border); background: var(--glass);
  box-shadow: 3px 3px 0 var(--border); }
.flag-dot { width: 8px; height: 8px; border-radius: 50%; }
.flag-live .flag-dot { background: var(--good); box-shadow: 0 0 0 0 rgba(46,204,143,0.6); animation: pulse 2s infinite; }
.flag-live { color: var(--good); }
.flag-prep .flag-dot { background: var(--warn); }
.flag-prep { color: var(--warn); }
.flag-stale .flag-dot { background: var(--warn); animation: none; }
.flag-stale { color: var(--warn); }

/* 上报引导 / 过期提醒条 —— 沿用贴纸风：粗描边 + 硬阴影 */
.agent-tip { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 18px;
  padding: 14px 18px; border-radius: 18px; border: 2px dashed var(--border);
  background: var(--glass); box-shadow: 4px 4px 0 var(--border); }
.agent-tip-warn { border-style: solid; border-color: var(--warn); box-shadow: 4px 4px 0 var(--warn); }
.agent-tip-ico { font-size: 20px; line-height: 1.2; }
.agent-tip-title { font-weight: 800; font-size: 14px; }
.agent-tip-sub { font-size: 12.5px; color: var(--muted); margin-top: 3px; line-height: 1.6; }
.agent-tip code { padding: 1px 6px; border-radius: 6px; background: var(--input-bg);
  border: 1px solid var(--border); font-size: 11.5px; font-weight: 700; }
@keyframes pulse {
  0% { box-shadow: 0 0 0 0 rgba(46,204,143,0.55); }
  70% { box-shadow: 0 0 0 7px rgba(46,204,143,0); }
  100% { box-shadow: 0 0 0 0 rgba(46,204,143,0); }
}
.spin-ico { display: inline-block; animation: spin 0.9s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

/* ---------- 区域分隔：胶片齿孔虚线 + 贴纸标签 ---------- */
.zone-divider { display: flex; align-items: center; gap: 14px; margin: 34px 0 26px; }
.divider-line { flex: 1; height: 0; border-top: 3px dashed var(--border); }
.divider-chip { font-size: 12px; font-weight: 800; padding: 6px 18px; border-radius: 999px;
  background: var(--pop); color: #3d2b3d; border: 2px solid rgba(61,43,61,0.18);
  box-shadow: 4px 4px 0 rgba(61,43,61,0.12); transform: rotate(-1.2deg); white-space: nowrap; }
[data-theme="dark"] .divider-chip { box-shadow: 4px 4px 0 rgba(0,0,0,0.35); }

/* =====================================================================
   进行中项目卡
   ===================================================================== */
.project-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }

.project-card { position: relative; border-radius: 26px; padding: 20px; background: var(--glass);
  border: 2px solid var(--border); border-top: 6px solid var(--card-accent, var(--accent1));
  box-shadow: var(--shadow); display: flex; flex-direction: column;
  transition: transform 0.3s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.3s, border-color 0.3s; }
.project-card:hover { transform: translate(-3px,-3px) rotate(-0.3deg);
  box-shadow: 9px 9px 0 rgba(61,43,61,0.14); }
[data-theme="dark"] .project-card:hover { box-shadow: 9px 9px 0 rgba(0,0,0,0.4); }
.accent-amber { --card-accent: var(--accent2); }
.accent-mint  { --card-accent: var(--accent3); }
.accent-pink  { --card-accent: var(--accent1); }

.proj-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.proj-emoji { width: 44px; height: 44px; flex: none; display: grid; place-items: center; font-size: 22px;
  border-radius: 16px; background: color-mix(in srgb, var(--card-accent) 22%, transparent);
  border: 2px solid var(--border); transform: rotate(-5deg); }
.proj-name { font-size: 16px; font-weight: 900; letter-spacing: -0.01em; }
.proj-pos { font-size: 12px; color: var(--muted); margin-top: 3px; line-height: 1.45; }
.proj-state { flex: none; font-size: 11px; font-weight: 800; padding: 4px 12px; border-radius: 999px;
  border: 2px solid rgba(61,43,61,0.12); color: #fff; transform: rotate(2deg);
  box-shadow: 2px 2px 0 rgba(61,43,61,0.14); white-space: nowrap; }
.state-active { background: var(--good); }
.state-going  { background: var(--accent2); }
.state-idle   { background: var(--muted); }
.state-missing{ background: var(--bad); }

.proj-missing { margin-top: 14px; padding: 12px 14px; border-radius: 16px; font-size: 12px; line-height: 1.6;
  background: rgba(255,107,107,0.1); border: 2px dashed var(--bad); color: var(--text); }
.proj-missing code { font-size: 11px; }

.proj-progress { margin-top: 16px; }
.proj-pct { font-size: 30px; font-weight: 900; letter-spacing: -0.03em; font-variant-numeric: tabular-nums;
  line-height: 1; color: var(--card-accent); }
.proj-pct-sub { font-size: 12px; font-weight: 700; color: var(--muted); }
.bar-lg { height: 12px; margin-top: 10px; }

.proj-metrics { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-top: 14px; }
.pmetric { background: var(--input-bg); border: 2px solid var(--border); border-radius: 14px;
  padding: 8px 4px; text-align: center; }
.pmetric-val { display: block; font-size: 17px; font-weight: 900; font-variant-numeric: tabular-nums; line-height: 1.1; }
.pmetric-label { display: block; font-size: 10px; color: var(--muted); font-weight: 700; margin-top: 3px; }

.proj-section-label { font-size: 11px; font-weight: 800; color: var(--muted); letter-spacing: 0.06em;
  margin: 16px 0 8px; }

.ms-list { display: flex; flex-direction: column; gap: 6px; max-height: 230px; overflow: auto;
  padding-right: 4px; }
.ms { display: flex; align-items: flex-start; gap: 9px; font-size: 12.5px; line-height: 1.45;
  padding: 7px 10px; border-radius: 12px; background: var(--input-bg);
  border: 2px solid transparent; transition: border-color 0.2s, transform 0.2s; }
.ms:hover { border-color: var(--border); transform: translateX(2px); }
.ms-icon { flex: none; width: 17px; height: 17px; display: grid; place-items: center; border-radius: 50%;
  font-size: 10px; font-weight: 900; margin-top: 1px; }
.ms-done .ms-icon { background: var(--good); color: #fff; }
.ms-done .ms-name { opacity: 0.62; text-decoration: line-through; text-decoration-thickness: 1.5px; }
.ms-doing .ms-icon { background: var(--warn); color: #fff; }
.ms-todo .ms-icon { background: transparent; border: 2px solid var(--muted); color: transparent; }
.ms-name { flex: 1; }
.ms-critical { background: color-mix(in srgb, var(--accent1) 12%, var(--input-bg)); }
.ms-critical.ms-done { background: var(--input-bg); }
.ms-critical:not(.ms-done) .ms-name::after { content: " ★"; color: var(--accent1); font-weight: 900; }
.ms-tag { flex: none; font-size: 9.5px; font-weight: 800; padding: 2px 7px; border-radius: 999px;
  background: var(--glass); border: 1px solid var(--border); color: var(--muted); margin-top: 1px;
  cursor: help; }

.proj-next { margin-top: 14px; padding: 11px 14px; border-radius: 16px; display: flex; align-items: baseline;
  gap: 10px; background: color-mix(in srgb, var(--card-accent) 15%, transparent);
  border: 2px dashed var(--card-accent); }
.proj-next-label { flex: none; font-size: 10px; font-weight: 900; letter-spacing: 0.08em; color: var(--card-accent); }
.proj-next-val { font-size: 13px; font-weight: 700; line-height: 1.4; }

.proj-commits { margin-top: 4px; }
.commit { display: flex; gap: 10px; font-size: 11.5px; padding: 4px 0; align-items: baseline; }
.commit-date { flex: none; font-variant-numeric: tabular-nums; color: var(--muted); font-weight: 700; }
.commit-msg { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.proj-path { margin-top: 12px; font-size: 10.5px; color: var(--muted); font-family: ui-monospace, monospace;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* =====================================================================
   自媒体账号卡（筹备中）
   ===================================================================== */
.account-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.account-card { position: relative; border-radius: 26px; padding: 18px; background: var(--glass);
  border: 2px dashed var(--card-accent, var(--accent1)); box-shadow: var(--shadow);
  transition: transform 0.3s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.3s; }
.account-card:hover { transform: translate(-3px,-3px) rotate(0.3deg); box-shadow: 9px 9px 0 rgba(61,43,61,0.14); }
[data-theme="dark"] .account-card:hover { box-shadow: 9px 9px 0 rgba(0,0,0,0.4); }

.acc-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.acc-emoji { width: 40px; height: 40px; flex: none; display: grid; place-items: center; font-size: 20px;
  border-radius: 14px; background: color-mix(in srgb, var(--card-accent) 20%, transparent);
  border: 2px solid var(--border); transform: rotate(5deg); }
.acc-name { font-size: 15px; font-weight: 900; }
.acc-pos { font-size: 12px; color: var(--muted); margin-top: 2px; }
.acc-state { flex: none; font-size: 11px; font-weight: 800; padding: 4px 12px; border-radius: 999px;
  background: var(--pop); color: #3d2b3d; border: 2px solid rgba(61,43,61,0.15);
  box-shadow: 2px 2px 0 rgba(61,43,61,0.12); transform: rotate(-2deg); white-space: nowrap; }

.acc-row { display: flex; align-items: center; gap: 10px; margin-top: 12px; font-size: 12px; }
.acc-row-label { flex: none; font-size: 10px; font-weight: 800; color: var(--muted); letter-spacing: 0.06em; }
.acc-plat { font-size: 11px; font-weight: 700; padding: 3px 11px; border-radius: 999px;
  background: var(--input-bg); border: 2px solid var(--border); }
.acc-link { font-size: 12px; font-weight: 700; padding: 3px 11px; border-radius: 999px; color: #fff;
  background: color-mix(in srgb, var(--card-accent) 85%, #000); }

.acc-checklist { margin-top: 14px; }
.acc-prep-pct { font-size: 12px; font-weight: 900; color: var(--card-accent); font-variant-numeric: tabular-nums; }
.acc-check { display: flex; align-items: center; gap: 9px; font-size: 12.5px; cursor: pointer;
  padding: 5px 9px; border-radius: 11px; transition: background 0.2s, transform 0.2s; }
.acc-check:hover { background: var(--input-bg); transform: translateX(2px); }
.acc-box { width: 17px; height: 17px; flex: none; display: grid; place-items: center; border-radius: 6px;
  border: 2px solid var(--muted); font-size: 10px; font-weight: 900; color: transparent; }
.acc-check.checked .acc-box { background: var(--good); border-color: var(--good); color: #fff; }
.acc-check.checked { opacity: 0.6; text-decoration: line-through; }

/* ---------- 响应式 ---------- */
@media (max-width: 1024px) {
  .bento-grid { grid-template-columns: repeat(2, 1fr); }
  .span-2 { grid-column: span 2; }
  .project-grid, .account-grid { grid-template-columns: 1fr; }
  .proj-metrics { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px) {
  .bento-grid { grid-template-columns: 1fr; }
  .span-2, .row-2 { grid-column: span 1; grid-row: span 1; }
  .kanban { grid-template-columns: 1fr; }
  .links-grid { grid-template-columns: 1fr; }
  .proj-metrics { grid-template-columns: repeat(2, 1fr); }
  .zone-head { align-items: flex-start; }
  .divider-chip { font-size: 11px; padding: 5px 12px; }
}

/* =====================================================================
   v2 · 个人项目指挥中枢
   ===================================================================== */
button, input, select, textarea { font: inherit; }
button { color: inherit; }
.app-shell { position: relative; z-index: 10; min-height: 100vh; }
.main-wrap { width: min(1320px, calc(100% - 40px)); margin: 0 auto; padding: 28px 0 120px; }
.eyebrow { margin: 0 0 6px; color: var(--accent1); font-size: 10px; font-weight: 900; letter-spacing: .15em; }

.topbar { position: sticky; top: 0; z-index: 60; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
  gap: 20px; min-height: 76px; padding: 12px max(20px, calc((100vw - 1320px)/2));
  background: color-mix(in srgb, var(--bg) 86%, transparent); border-bottom: 1px solid var(--border); backdrop-filter: blur(18px); }
.brand { display: flex; align-items: center; gap: 12px; cursor: pointer; width: max-content; }
.brand h1 { margin: 0; font-size: 17px; font-weight: 900; }
.brand p { margin: 2px 0 0; color: var(--muted); font-size: 10px; }
.desktop-nav { display: flex; gap: 5px; padding: 5px; border: 2px solid var(--border); border-radius: 999px; background: var(--glass); box-shadow: 3px 3px 0 var(--border); }
.desktop-nav button { position: relative; border: 0; border-radius: 999px; background: transparent; padding: 8px 16px; font-size: 12px; font-weight: 800; cursor: pointer; }
.desktop-nav button.active { color: #fff; background: linear-gradient(135deg,var(--accent1),var(--accent2)); }
.nav-count { display: inline-grid; place-items: center; min-width: 18px; height: 18px; margin-left: 4px; padding: 0 5px; border-radius: 999px; background: var(--pop); color: #3d2b3d; font-size: 9px; }
.top-actions { justify-self: end; display: flex; align-items: center; gap: 8px; }
.primary-quick { width: auto; padding: 0 15px; display: flex; gap: 7px; color: #fff; background: linear-gradient(135deg,var(--accent1),var(--accent2)); border-color: transparent; }

.panel, .sticker-card { background: color-mix(in srgb, var(--glass) 96%, transparent); border: 2px solid var(--border); border-radius: 26px; box-shadow: var(--shadow); }
.panel { padding: 22px; }
.panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; margin-bottom: 16px; }
.panel-head h3, .section-heading h2, .page-heading h2 { margin: 0; font-size: 20px; font-weight: 900; letter-spacing: -.025em; }
.panel-head p, .section-heading p, .page-heading p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.soft-badge { display: inline-flex; flex: none; padding: 5px 10px; border-radius: 999px; background: var(--input-bg); color: var(--muted); font-size: 10px; font-weight: 800; }
.text-btn, .mini-add { border: 0; background: transparent; color: var(--accent1); font-size: 11px; font-weight: 900; cursor: pointer; }
.mini-add { padding: 7px 11px; border: 2px solid color-mix(in srgb,var(--accent1) 34%,var(--border)); border-radius: 999px; background: color-mix(in srgb,var(--accent1) 8%,var(--glass)); }

.command-hero { display: flex; align-items: center; justify-content: space-between; gap: 28px; overflow: hidden; padding: 34px;
  background: linear-gradient(125deg,color-mix(in srgb,var(--accent1) 14%,var(--glass)),color-mix(in srgb,var(--pop) 18%,var(--glass)) 50%,color-mix(in srgb,var(--accent3) 14%,var(--glass))); }
.command-hero h2 { max-width: 780px; margin: 0; font-size: clamp(25px,3vw,42px); line-height: 1.14; font-weight: 950; letter-spacing: -.045em; }
.hero-copy { margin: 12px 0 0; color: var(--muted); font-size: 13px; }
.hero-capture { flex: none; display: flex; align-items: center; gap: 12px; min-width: 260px; padding: 14px 18px; text-align: left; cursor: pointer; border: 2px solid var(--border); border-radius: 20px; background: var(--glass); box-shadow: 5px 5px 0 rgba(255,93,162,.22); }
.hero-capture > span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 13px; background: var(--accent1); color: #fff; font-size: 23px; }
.hero-capture strong,.hero-capture small { display: block; }.hero-capture strong{font-size:13px}.hero-capture small{margin-top:2px;color:var(--muted);font-size:10px}

.dashboard-grid,.overview-lower,.review-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 20px; margin-top: 20px; }
.focus-list,.signal-list { display: flex; flex-direction: column; gap: 9px; }
.focus-row { display: flex; align-items: center; width: 100%; gap: 11px; padding: 11px; border: 1px solid var(--border); border-radius: 15px; background: var(--input-bg); text-align: left; cursor: pointer; }
.check-dot { width: 14px; height: 14px; flex: none; border: 3px solid var(--accent1); border-radius: 50%; }.check-dot.doing{background:var(--accent2)}.check-dot.waiting{border-color:var(--warn)}
.focus-copy { flex: 1; min-width: 0; }.focus-copy strong,.focus-copy small{display:block}.focus-copy strong{font-size:12px}.focus-copy small{margin-top:2px;color:var(--muted);font-size:9px}
.time-chip { padding: 4px 8px; border-radius: 999px; background: var(--glass); color: var(--accent1); font-size: 9px; font-weight: 900; }
.signal-row { display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px; border-radius: 14px; background: var(--input-bg); }
.signal-light { width: 9px; height: 9px; margin-top: 3px; flex: none; border-radius: 50%; background: var(--accent3); box-shadow: 0 0 0 4px color-mix(in srgb,var(--accent3) 18%,transparent); }
.signal-warn .signal-light{background:var(--warn)}.signal-danger .signal-light{background:var(--bad)}
.signal-row strong,.signal-row small{display:block}.signal-row strong{font-size:11px}.signal-row small{margin-top:3px;color:var(--muted);font-size:9px}

.section-block { margin-top: 42px; }.section-heading,.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.section-heading h2,.page-heading h2{font-size:28px}
.source-pill { display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:2px solid var(--border);border-radius:999px;background:var(--glass);font-size:10px;font-weight:900;box-shadow:3px 3px 0 var(--border)}
.source-pill i{width:8px;height:8px;border-radius:50%;background:var(--good);box-shadow:0 0 0 4px color-mix(in srgb,var(--good) 18%,transparent)}.source-pill.stale i{background:var(--warn)}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.project-card{--card-accent:var(--accent1);padding:24px;border:2px solid var(--border);border-top:7px solid var(--card-accent);border-radius:28px;background:var(--glass);box-shadow:var(--shadow);cursor:pointer;transition:.25s transform,.25s box-shadow}.project-card:hover{transform:translate(-4px,-4px);box-shadow:10px 10px 0 color-mix(in srgb,var(--card-accent) 24%,transparent)}
.accent-amber{--card-accent:var(--accent2)}.accent-mint{--card-accent:var(--accent3)}
.project-card-top,.project-title-row,.project-facts,.next-strip,.account-top,.prep-progress>div:first-child,.account-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.project-emoji,.account-emoji{display:grid;place-items:center;width:46px;height:46px;border:2px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--card-accent) 16%,var(--glass));font-size:23px;transform:rotate(-4deg)}.project-emoji.large{width:64px;height:64px;font-size:32px;border-radius:21px}
.status-chip{padding:5px 10px;border-radius:999px;background:color-mix(in srgb,var(--good) 13%,var(--glass));color:var(--good);font-size:9px;font-weight:900}.status-chip.idle,.status-chip.planning{background:color-mix(in srgb,var(--warn) 15%,var(--glass));color:#c87900}
.project-title-row{margin-top:18px;align-items:flex-end}.project-kicker{margin:0 0 4px;color:var(--muted);font-size:9px}.project-title-row h3{margin:0;font-size:23px;font-weight:950}.project-percent{color:var(--card-accent);font-size:32px;font-weight:950}.progress-track{height:10px;overflow:hidden;margin-top:14px;border:2px solid var(--border);border-radius:999px;background:var(--input-bg)}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--card-accent),color-mix(in srgb,var(--card-accent) 55%,var(--pop)))}
.project-positioning{min-height:34px;margin:13px 0;color:var(--muted);font-size:11px}.project-facts{justify-content:flex-start;gap:22px;padding:12px 0;border-top:1px dashed var(--border);font-size:10px;color:var(--muted)}.project-facts b{color:var(--text);font-size:13px}.next-strip{margin-top:3px;padding:11px 13px;border-radius:14px;background:color-mix(in srgb,var(--card-accent) 10%,var(--input-bg));font-size:10px}.next-strip span{color:var(--muted)}.next-strip strong{flex:1}.next-strip b{color:var(--card-accent);font-size:18px}

.simple-row,.decision-row{display:flex;align-items:flex-start;gap:11px;width:100%;padding:11px 5px;border:0;border-bottom:1px dashed var(--border);background:transparent;text-align:left;cursor:pointer}.simple-row>span,.decision-row>span{display:grid;place-items:center;width:25px;height:25px;flex:none;border-radius:9px;background:color-mix(in srgb,var(--good) 14%,transparent);color:var(--good);font-weight:900}.simple-row strong,.simple-row small,.decision-row strong,.decision-row small{display:block}.simple-row strong,.decision-row strong{font-size:11px}.simple-row small,.decision-row small{margin-top:3px;color:var(--muted);font-size:9px}.decision-row p{margin:4px 0;color:var(--muted);font-size:10px}.decision-row>span{background:color-mix(in srgb,var(--accent1) 13%,transparent);color:var(--accent1)}
.metric-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.metric-mini{padding:10px;border-radius:14px;background:var(--input-bg)}.metric-mini small,.metric-mini strong{display:block}.metric-mini small{color:var(--muted);font-size:8px}.metric-mini strong{margin-top:4px;font-size:11px}.metric-line{height:4px;margin-top:8px;overflow:hidden;border-radius:99px;background:var(--border)}.metric-line i{display:block;height:100%;background:var(--accent3)}.system-note{margin:12px 0 0;color:var(--muted);font-size:9px}

.back-link{margin:0 0 14px;border:0;background:transparent;color:var(--muted);font-size:11px;font-weight:800;cursor:pointer}.project-hero{display:flex;align-items:center;justify-content:space-between;border-top:7px solid var(--card-accent)}.project-hero-main{display:flex;align-items:center;gap:17px}.project-hero h2{margin:0;font-size:31px;font-weight:950}.project-hero p{margin:5px 0 0;color:var(--muted);font-size:11px}.project-score{text-align:right}.project-score strong,.project-score span{display:block}.project-score strong{color:var(--card-accent);font-size:40px}.project-score span{color:var(--muted);font-size:9px}
.project-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.summary-tile{padding:15px;border:2px solid var(--border);border-radius:18px;background:var(--glass);box-shadow:3px 3px 0 var(--border)}.summary-tile small,.summary-tile strong{display:block}.summary-tile small{color:var(--muted);font-size:9px}.summary-tile strong{margin-top:5px;font-size:11px;line-height:1.35}
.function-stack{display:flex;flex-direction:column;gap:18px;margin-top:28px}.function-panel{padding:0;overflow:hidden}.function-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 20px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--input-bg) 72%,var(--glass))}.function-title{display:flex;align-items:center;gap:12px}.function-title>span{font-size:24px}.function-title h3{margin:0;font-size:16px;font-weight:950}.function-title p{margin:3px 0 0;color:var(--muted);font-size:9px}.function-actions{display:flex;align-items:center;gap:8px}
.record-lanes{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border)}.record-lane{min-height:130px;padding:13px;background:var(--glass)}.lane-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;color:var(--muted);font-size:9px;font-weight:900}.lane-label small{display:grid;place-items:center;min-width:18px;height:18px;border-radius:99px;background:var(--input-bg)}
.record-card{display:flex;flex-direction:column;align-items:flex-start;width:100%;margin-bottom:7px;padding:10px;border:1px solid var(--border);border-radius:13px;background:var(--input-bg);text-align:left;cursor:pointer}.record-card:hover{border-color:var(--accent1)}.record-card.done{opacity:.55}.record-card.done strong{text-decoration:line-through}.record-card strong{margin:5px 0;font-size:10px}.record-card small{color:var(--muted);font-size:8px}.record-type{padding:3px 6px;border-radius:99px;background:var(--glass);color:var(--accent1);font-size:7px;font-weight:900}.lane-empty{width:100%;padding:9px;border:1px dashed var(--border);border-radius:11px;background:transparent;color:var(--muted);font-size:8px;cursor:pointer}.lane-empty:hover{color:var(--accent1);border-color:var(--accent1)}
.milestone-panel{margin-top:20px}.milestone-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.milestone-row{display:flex;gap:10px;padding:10px;border-radius:13px;background:var(--input-bg)}.milestone-row>span{display:grid;place-items:center;width:21px;height:21px;flex:none;border:2px solid var(--muted);border-radius:7px;font-size:9px}.milestone-row.done>span{border-color:var(--good);background:var(--good);color:#fff}.milestone-row.doing>span{border-color:var(--warn);background:var(--warn);color:#fff}.milestone-row strong,.milestone-row small{display:block}.milestone-row strong{font-size:10px}.milestone-row small{margin-top:3px;color:var(--muted);font-size:8px}

.page-heading{margin:10px 0 24px;padding:18px 2px}.inbox-panel{padding:8px 20px}.inbox-row{display:flex;align-items:center;gap:14px;width:100%;padding:15px 4px;border:0;border-bottom:1px dashed var(--border);background:transparent;text-align:left;cursor:pointer}.inbox-icon{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:14px;background:var(--input-bg);font-size:19px}.inbox-copy{flex:1;min-width:0}.inbox-copy strong{display:block;font-size:12px}.inbox-copy p{margin:4px 0;color:var(--muted);font-size:10px}.inbox-copy small{color:var(--muted);font-size:8px}.inbox-action{color:var(--accent1);font-size:9px;font-weight:900}
.empty-state{display:grid;place-items:center;min-height:180px;padding:25px;text-align:center;color:var(--muted)}.empty-state.compact{min-height:90px;padding:12px}.empty-state>span{font-size:27px}.empty-state h3{margin:8px 0 0;color:var(--text);font-size:14px}.empty-state p{max-width:360px;margin:6px 0;font-size:10px;line-height:1.6}

.account-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.account-card{--card-accent:var(--accent1);padding:24px;border:2px dashed var(--card-accent);border-radius:28px;background:var(--glass);box-shadow:var(--shadow)}.account-card h3{margin:16px 0 5px;font-size:22px;font-weight:950}.account-positioning{margin:0;color:var(--muted);font-size:11px}.platform-list{display:flex;gap:7px;margin-top:12px}.platform-list span{padding:4px 9px;border-radius:99px;background:var(--input-bg);font-size:9px;font-weight:800}.launch-condition{margin-top:17px;padding:12px;border-radius:15px;background:color-mix(in srgb,var(--card-accent) 10%,var(--input-bg))}.launch-condition small,.launch-condition strong{display:block}.launch-condition small{color:var(--muted);font-size:8px}.launch-condition strong{margin-top:4px;font-size:10px}.prep-progress{margin-top:16px}.prep-progress>div:first-child{font-size:9px}.prep-list{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:12px}.prep-list button{display:flex;align-items:center;gap:8px;padding:9px;border:1px solid var(--border);border-radius:12px;background:var(--input-bg);text-align:left;cursor:pointer}.prep-list button>span{display:grid;place-items:center;width:16px;height:16px;flex:none;border:2px solid var(--muted);border-radius:5px;color:#fff;font-size:8px}.prep-list button strong{font-size:9px}.prep-list button.done{opacity:.6}.prep-list button.done>span{border-color:var(--good);background:var(--good)}.prep-list button.done strong{text-decoration:line-through}.account-actions{margin-top:17px;color:var(--muted);font-size:8px}.account-actions b{color:var(--text)}
.review-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.review-stats>div{padding:18px;border:2px solid var(--border);border-radius:20px;background:var(--glass);box-shadow:3px 3px 0 var(--border)}.review-stats strong,.review-stats span{display:block}.review-stats strong{color:var(--accent1);font-size:28px}.review-stats span{color:var(--muted);font-size:9px}

.modal-mask{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgba(35,20,40,.48);backdrop-filter:blur(9px)}.quick-modal,.record-modal{width:min(580px,100%);padding:28px;border:2px solid var(--border);border-radius:28px;background:var(--glass);box-shadow:12px 12px 0 rgba(35,20,40,.2)}.quick-modal{text-align:center}.modal-icon{display:grid;place-items:center;width:50px;height:50px;margin:0 auto 10px;border-radius:18px;background:linear-gradient(135deg,var(--accent1),var(--accent2));color:#fff;font-size:24px;transform:rotate(-5deg)}.quick-modal h2,.record-modal h2{margin:0;font-size:22px;font-weight:950}.quick-modal>p:not(.eyebrow){margin:8px 0;color:var(--muted);font-size:9px}.quick-textarea,.record-detail{width:100%;min-height:130px;margin-top:18px;padding:15px;resize:vertical;border:2px solid var(--border);border-radius:18px;outline:none;background:var(--input-bg);color:var(--text)}.quick-textarea:focus,.record-detail:focus,.inp:focus{border-color:var(--accent1);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent1) 14%,transparent)}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:17px}.btn-ghost,.delete-btn,.modal-close{border:0;background:transparent;color:var(--muted);font-size:11px;font-weight:800;cursor:pointer}.delete-btn{color:var(--bad)}.record-modal{width:min(720px,100%)}.record-modal-head,.record-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.modal-close{font-size:25px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:14px}.field{display:flex;flex-direction:column;gap:6px}.field.full{margin-top:14px}.field>span{color:var(--muted);font-size:9px;font-weight:900}.field .inp{width:100%;padding:10px 11px;border:2px solid var(--border);border-radius:13px;background:var(--input-bg);color:var(--text);outline:none}.record-detail{min-height:100px;margin-top:0}.record-footer{align-items:center;margin-top:17px}
.auth-shell{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px;background:var(--bg)}.auth-card{width:min(400px,100%);padding:34px;text-align:center;border:2px solid var(--border);border-radius:30px;background:var(--glass);box-shadow:var(--shadow-pop)}.auth-logo{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 17px;border-radius:22px;background:linear-gradient(135deg,var(--accent1),var(--accent2));font-size:30px;transform:rotate(-6deg);box-shadow:5px 5px 0 rgba(255,93,162,.25)}.auth-card h1{margin:0;font-size:26px;font-weight:950}.auth-card>p:not(.eyebrow):not(.auth-error){margin:8px 0 20px;color:var(--muted);font-size:11px}.auth-input{width:100%;padding:12px 14px;border:2px solid var(--border);border-radius:14px;background:var(--input-bg);color:var(--text);outline:none}.auth-submit{width:100%;margin-top:13px}.auth-error{margin:9px 0 0;color:var(--bad);font-size:10px}
.mobile-nav{display:none}
