/**
 * Pastel / Y2K cute UI — 覆盖默认纸本样式（data-theme=paper）
 * 需在 app.css 之后加载。
 */

[data-theme='paper'] body {
  letter-spacing: 0.01em;
}

/* —— 顶栏：仿窗口彩色标题条 + 装饰 —— */
[data-theme='paper'] .app-header-stack {
  border-bottom: 2px solid var(--kw-line);
  border-radius: 0 0 var(--radius-md) var(--radius-md);
  background: linear-gradient(180deg, rgba(255, 214, 235, 0.95) 0%, rgba(255, 255, 255, 0.88) 100%);
  box-shadow: 0 4px 18px rgba(255, 105, 180, 0.12);
  position: relative;
  overflow: visible;
}

[data-theme='paper'] .app-header-stack::before {
  content: '✧ ⋆｡˚';
  position: absolute;
  left: 12px;
  top: calc(10px + env(safe-area-inset-top, 0px));
  font-size: 0.65rem;
  color: rgba(255, 107, 168, 0.85);
  letter-spacing: 0.08em;
  pointer-events: none;
}

[data-theme='paper'] .app-header-title {
  color: var(--text-primary);
  font-weight: 800;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.9);
}

[data-theme='paper'] .header-icon-btn {
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.65);
  border: 2px solid rgba(255, 182, 215, 0.65);
  box-shadow: 0 2px 8px rgba(255, 105, 180, 0.15);
}

/* —— 底栏 Tab：圆润漂浮岛 —— */
[data-theme='paper'] .tabbar {
  border-top: 2px solid var(--kw-line);
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  margin: 0 8px;
  margin-bottom: env(safe-area-inset-bottom, 0px);
  padding-left: 6px;
  padding-right: 6px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, rgba(232, 253, 248, 0.92) 100%);
  box-shadow: 0 -6px 22px rgba(255, 105, 180, 0.12);
}

[data-theme='paper'] .tabbar button {
  border-radius: var(--radius-md);
  margin: 4px 2px;
  transition: transform 0.12s ease, background 0.15s ease;
}

[data-theme='paper'] .tabbar button.active {
  background: linear-gradient(165deg, rgba(255, 214, 235, 0.95) 0%, rgba(184, 242, 230, 0.65) 100%);
  color: var(--accent);
  font-weight: 700;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85), 0 2px 10px rgba(255, 107, 168, 0.18);
}

[data-theme='paper'] .tabbar .tab-icon {
  filter: drop-shadow(0 1px 1px rgba(255, 182, 215, 0.6));
}

/* —— 会话列表 & 备忘入口 —— */
[data-theme='paper'] .chat-conv-row {
  margin: 8px 6px;
  padding: 12px 12px;
  border-radius: var(--radius-md);
  border: 2px solid var(--ui-accent-border, rgba(255, 182, 215, 0.45));
  border-bottom: 2px solid var(--ui-accent-border, rgba(255, 182, 215, 0.45));
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 4px 14px color-mix(in srgb, var(--ui-accent-bar, rgba(180, 140, 200, 0.1)) 40%, transparent);
}

[data-theme='paper'] .chat-memo-entry {
  border: 2px dashed rgba(125, 211, 192, 0.75);
  background: repeating-linear-gradient(
      -8deg,
      rgba(255, 255, 255, 0.85),
      rgba(255, 255, 255, 0.85) 12px,
      rgba(232, 253, 248, 0.65) 12px,
      rgba(232, 253, 248, 0.65) 24px
    ),
    linear-gradient(135deg, rgba(255, 248, 252, 0.95), rgba(232, 248, 244, 0.85));
}

[data-theme='paper'] .chat-memo-entry-icon {
  background: linear-gradient(145deg, var(--kw-lemon), var(--kw-mint));
  border-radius: 12px;
  border: 2px solid rgba(255, 255, 255, 0.85);
  box-shadow: 0 2px 8px rgba(125, 211, 192, 0.35);
}

[data-theme='paper'] .chat-conv-row:active {
  transform: scale(0.99);
  background: rgba(255, 240, 248, 0.88);
}

/* —— 气泡：马卡龙描边 —— */
[data-theme='paper'] .bubble.me.bubble-p1 {
  background: linear-gradient(155deg, #ffe0f0 0%, #ffc9e6 45%, #ffb3d9 100%);
  color: #5c3d52;
  border: 2px solid rgba(255, 107, 168, 0.45);
  box-shadow: 0 4px 16px rgba(255, 105, 180, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

[data-theme='paper'] .bubble.other.bubble-p2 {
  background: linear-gradient(155deg, #e8fdf8 0%, #d2f5ec 48%, #c5f0e5 100%);
  color: #3d5a52;
  border: 2px solid rgba(125, 211, 192, 0.55);
  box-shadow: 0 4px 16px rgba(125, 211, 192, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

[data-theme='paper'] .avatar {
  border-radius: 14px;
  border: 2px solid rgba(255, 182, 215, 0.55);
  box-shadow: 0 2px 8px rgba(255, 105, 180, 0.12);
}

/* —— 输入条：药丸搜索框风格 —— */
[data-theme='paper'] .composer {
  padding: 10px 12px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.55) 0%, rgba(255, 245, 252, 0.75) 100%);
  border-top: 2px solid rgba(255, 182, 215, 0.35);
}

[data-theme='paper'] .composer textarea {
  border-radius: 999px;
  border: 2px solid rgba(255, 182, 215, 0.55);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: inset 0 2px 8px rgba(255, 182, 215, 0.12);
}

/* 保留爱心形发送键，只换新渐变 */
[data-theme='paper'] #chat-composer .send {
  background: linear-gradient(158deg, #ffd6eb 0%, #ff8fc7 45%, #ff6ba8 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.55),
    inset 0 -1px 0 rgba(255, 107, 168, 0.15),
    0 4px 16px rgba(255, 107, 168, 0.28);
}

/* —— 按钮通用 —— */
[data-theme='paper'] .btn {
  border-radius: 999px;
  border: 2px solid rgba(180, 160, 210, 0.35);
  background: rgba(255, 255, 255, 0.85);
  font-weight: 600;
}

[data-theme='paper'] .btn.primary {
  background: linear-gradient(145deg, #ff8fc7 0%, #ff6ba8 50%, #ff8fab 100%);
  border-color: rgba(255, 107, 168, 0.35);
  color: #fff !important;
  box-shadow: 0 4px 14px rgba(255, 107, 168, 0.3);
}

[data-theme='paper'] .btn.danger {
  border-radius: var(--radius-md);
  border-style: dashed;
}

/* —— 表单「我」页 —— */
[data-theme='paper'] .field input,
[data-theme='paper'] .field textarea,
[data-theme='paper'] .field select {
  border-radius: var(--radius-md);
  border: 2px solid rgba(255, 182, 215, 0.45);
}

[data-theme='paper'] .field-highlight {
  border-left: none;
  padding-left: 0;
  margin-left: 0;
  background: linear-gradient(90deg, rgba(255, 214, 235, 0.5), transparent);
  padding: 10px 12px;
  border-radius: var(--radius-md);
}

/* —— 弹窗 / Sheet —— */
[data-theme='paper'] .error-sheet-card,
[data-theme='paper'] .moment-success-card,
[data-theme='paper'] .ai-profile-card {
  border-radius: var(--radius-lg);
  border: 3px solid rgba(255, 182, 215, 0.55);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.97) 0%, rgba(255, 248, 252, 0.95) 100%);
  box-shadow: var(--shadow-float), inset 0 2px 0 rgba(255, 255, 255, 0.9);
  overflow: hidden;
}

[data-theme='paper'] .error-sheet-card::before,
[data-theme='paper'] .moment-success-card::before,
[data-theme='paper'] .ai-profile-card::before {
  content: '';
  display: block;
  height: 10px;
  background: linear-gradient(90deg, var(--kw-pink) 0%, var(--kw-mint) 50%, var(--kw-lemon) 100%);
  margin: -1px -1px 12px -1px;
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}

[data-theme='paper'] .error-sheet-backdrop,
[data-theme='paper'] .moment-success-backdrop {
  background: rgba(90, 70, 110, 0.35);
  backdrop-filter: blur(8px);
}

/* —— Toast —— */
[data-theme='paper'] .toast {
  border-radius: var(--radius-lg);
  border: 2px solid rgba(255, 182, 215, 0.55);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 8px 28px rgba(255, 105, 180, 0.2);
}

/* —— 登录页 —— */
[data-theme='paper'] .login-screen {
  background:
    radial-gradient(ellipse 80% 60% at 50% -10%, rgba(255, 214, 235, 0.65) 0%, transparent 55%),
    linear-gradient(165deg, #fff5fb 0%, #e8fdf8 45%, #fff9e6 100%);
}

[data-theme='paper'] .login-panel {
  border: 3px solid rgba(255, 182, 215, 0.55);
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, 0.78);
  box-shadow: var(--shadow-float), inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

[data-theme='paper'] .login-panel h1::after {
  content: ' ✦';
  color: var(--accent);
  font-weight: 800;
}

[data-theme='paper'] .login-panel .primary {
  border-radius: 999px;
  background: linear-gradient(145deg, #ff8fc7 0%, #ff6ba8 100%);
  border: 2px solid rgba(255, 255, 255, 0.55);
  box-shadow: 0 6px 18px rgba(255, 107, 168, 0.35);
}

/* —— 朋友圈卡片 —— */
[data-theme='paper'] .moment-card {
  border-radius: var(--radius-lg);
  border: 2px solid rgba(255, 182, 215, 0.4);
}

[data-theme='paper'] .moments-composer-inner {
  border-radius: var(--radius-md);
}

/* —— 备忘录页 —— */
[data-theme='paper'] .chat-memo-pane {
  background: linear-gradient(180deg, rgba(255, 252, 255, 0.92) 0%, rgba(232, 253, 248, 0.88) 100%);
}

[data-theme='paper'] .chat-memo-body {
  border-radius: var(--radius-md);
  border: 2px solid rgba(184, 242, 230, 0.65);
  background: rgba(255, 255, 255, 0.96);
}

[data-theme='paper'] .chat-memo-back-btn {
  border-radius: 999px;
  border: 2px solid rgba(255, 182, 215, 0.5);
  background: rgba(255, 255, 255, 0.9);
}

/* —— 返回爱心按钮区域 —— */
[data-theme='paper'] .chat-back-heart-bg {
  background: linear-gradient(
    155deg,
    color-mix(in srgb, var(--chat-heart-tint-1, #ffd6e4) 75%, transparent) 0%,
    color-mix(in srgb, var(--chat-heart-tint-2, #ffb6cc) 55%, transparent) 50%,
    color-mix(in srgb, var(--chat-heart-tint-3, #f8a8c6) 58%, transparent) 100%
  );
  border-color: rgba(255, 255, 255, 0.75);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.45),
    0 0 0 1px color-mix(in srgb, var(--ui-accent-btn-hot, #ff78a0) 12%, transparent);
}

/* —— 记忆摘要浮层 —— */
[data-theme='paper'] .memory-digest-float-inner {
  border-radius: var(--radius-lg);
  border: 2px solid rgba(255, 182, 215, 0.5);
  background: rgba(255, 255, 255, 0.94);
}

/* —— 全局 code / hint —— */
[data-theme='paper'] .field-hint code {
  border-radius: 8px;
  border: 1px solid rgba(255, 182, 215, 0.35);
}

/* —— 聊天壁纸开启时：保留 sampled 毛玻璃，补上与普通模式一致的可爱边框与 Tab 岛形 —— */
[data-theme='paper'] #main-app[data-photo-chat='on'] .app-header-stack {
  border-radius: 0 0 var(--radius-md) var(--radius-md);
  border-bottom-width: 2px;
  border-bottom-color: var(--kw-line);
}

[data-theme='paper'] #main-app[data-photo-chat='on'] .tabbar {
  border-top-width: 2px;
  border-top-color: var(--kw-line);
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  margin-left: 8px;
  margin-right: 8px;
  padding-left: 6px;
  padding-right: 6px;
}
