/* Cozy theme overrides (noir is the default in the other files). Loaded after them: same-specificity rules rely on the order. */
/* ---------- cozy theme: bright day, cream and pastels, round and friendly ---------- */
:root[data-theme="cozy"] {
  --night: #fbf3e4; --panel: #fffaf1; --panel-2: #f6ead6; --line: #e8d6b9;
  --ink: #4b3a2a; --muted: #8c7a63; --ember: #ff8a6a; --ember-ink: #fff;
  --file: #fffdf8; --file-2: #ffd9c7; --file-ink: #4b3a2a; --file-muted: #9a8669;
  --good: #5cbf8e; --bad: #ef6f5e;
  --f-display: "Fredoka", "Nunito", system-ui, sans-serif;
  --f-body: "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-type: "Nunito", system-ui, sans-serif;
  color-scheme: light;
}
[data-theme="cozy"] #view { background: #e3f0f6; }
[data-theme="cozy"] .bar, [data-theme="cozy"] .bottom { border-color: var(--line); }
[data-theme="cozy"] .case-id .no { color: #e9704f; font-weight: 800; }
[data-theme="cozy"] .case-id .nm, [data-theme="cozy"] .btn.primary, [data-theme="cozy"] #toast .tt, [data-theme="cozy"] .sheet-head h2,
[data-theme="cozy"] .fbtn.solid, [data-theme="cozy"] .file-card h1, [data-theme="cozy"] .sus .L { text-transform: none; letter-spacing: 0; font-weight: 600; }
[data-theme="cozy"] .icon-btn { border-radius: 50%; }
[data-theme="cozy"] .btn { border-radius: 18px; }
[data-theme="cozy"] .btn.primary { box-shadow: 0 3px 0 #e46c4c; }
[data-theme="cozy"] .btn .count { background: var(--ember); color: #fff; }
[data-theme="cozy"] #hallBtn, [data-theme="cozy"] #roomName { background: rgba(255,250,241,.94); color: var(--ink); box-shadow: 0 4px 12px rgba(75,58,42,.18); }
[data-theme="cozy"] #toast { border-radius: 18px; transform: translateY(16px); box-shadow: 0 10px 28px rgba(75,58,42,.28); }
[data-theme="cozy"] #toast.show { transform: none; }
[data-theme="cozy"] #toast .acts button { border-radius: 14px; background: var(--ember); border-color: var(--ember); color: #fff; }
[data-theme="cozy"] #backdrop { background: rgba(75,58,42,.3); }
[data-theme="cozy"] #sheet { border-radius: 26px 26px 0 0; box-shadow: 0 -10px 30px rgba(75,58,42,.25); }
[data-theme="cozy"] #sheet::before, [data-theme="cozy"] .file-card::before { display: none; }
[data-theme="cozy"] .sheet-head { border-bottom: 2px solid var(--line); }
[data-theme="cozy"] .sus, [data-theme="cozy"] .wpn, [data-theme="cozy"] .clue-pick, [data-theme="cozy"] .tile, [data-theme="cozy"] .segb { border-radius: 16px; border-color: var(--line); background: #fff; }
[data-theme="cozy"] .sus.sel, [data-theme="cozy"] .wpn.sel, [data-theme="cozy"] .clue-pick[aria-pressed="true"], [data-theme="cozy"] .segb[aria-pressed="true"] { background: var(--ember); border-color: var(--ember); color: #fff; }
[data-theme="cozy"] .clue-pick[aria-pressed="true"] .box { background: #fff; border-color: #fff; color: var(--ember); }
[data-theme="cozy"] .clue-pick.ded, [data-theme="cozy"] .clue.ded { border-left: 5px solid var(--ember); }
[data-theme="cozy"] .clue, [data-theme="cozy"] .statement, [data-theme="cozy"] .share-box { background: #fff7ec; border-radius: 12px; }
[data-theme="cozy"] .fbtn { border-radius: 16px; }
[data-theme="cozy"] .fbtn.solid { background: var(--ember); border-color: var(--ember); color: #fff; box-shadow: 0 3px 0 #e46c4c; }
[data-theme="cozy"] .verdict { border-radius: 12px; }
[data-theme="cozy"] .verdict.ok { background: rgba(255,138,106,.18); color: #a2412a; }
[data-theme="cozy"] .cover { background: rgba(251,243,228,.72); }
[data-theme="cozy"] .file-card { border-radius: 26px; transform: none; box-shadow: 0 24px 60px rgba(75,58,42,.3); }
[data-theme="cozy"] .stamp { color: #e9704f; border-color: #e9704f; border-radius: 10px; font-family: var(--f-display); text-transform: none; letter-spacing: .02em; }
[data-theme="cozy"] .badge { background: #fff; border-color: var(--ember); color: var(--ink); font-family: var(--f-display); font-weight: 700; }
[data-theme="cozy"] .pin { background: var(--good); border-color: #2d7a55; box-shadow: 0 0 0 4px rgba(92,191,142,.3); }
[data-theme="cozy"] .target { border-radius: 20px; }
[data-theme="cozy"] .start-card .gear { border-color: var(--line); }
[data-theme="cozy"] .legal-links a { color: var(--ink); }
[data-theme="cozy"] #cold { background: linear-gradient(to bottom, rgba(251,243,228,0) 30%, rgba(251,243,228,.85) 58%, rgba(251,243,228,.97) 100%); }
[data-theme="cozy"] #cold::before, [data-theme="cozy"] #cold::after { background: #4b3a2a; }
[data-theme="cozy"] .cold-line { font-family: var(--f-display); font-weight: 600; color: var(--ink); text-shadow: 0 1px 0 rgba(255,255,255,.7); }
[data-theme="cozy"] .cold-line:first-child { color: #e9704f; letter-spacing: .02em; }
[data-theme="cozy"] .cold-skip { color: rgba(255,250,241,.8); }
:root[data-theme="cozy"] { --pa-bg: #ffe3d3; --pa-ring: #fff; }
[data-theme="cozy"] .pa-noir { display: none; }
[data-theme="cozy"] .pa-cozy { display: block; }
[data-theme="cozy"] .pa-face { box-shadow: 0 6px 14px rgba(75,58,42,.3); }
[data-theme="cozy"] .pa-bub { border-radius: 20px 20px 20px 6px; font-family: var(--f-body); font-weight: 600; box-shadow: 0 10px 24px rgba(75,58,42,.28); }
[data-theme="cozy"] .pa-act { border-radius: 14px; background: var(--ember); color: #fff; }
[data-theme="cozy"] .fly-card { border-radius: 14px; text-transform: none; font-weight: 600; box-shadow: 0 10px 22px rgba(75,58,42,.3); }
[data-theme="cozy"] .zone-pulse { border-color: #ff8a6a; background: rgba(255,255,255,.18); box-shadow: 0 0 calc(28px * var(--inv)) rgba(255,138,106,.9), inset 0 0 calc(40px * var(--inv)) rgba(255,138,106,.35); }
[data-theme="cozy"] .tap-ring { border-color: var(--ember); }
[data-theme="cozy"] .slot { border-radius: 14px; }
[data-theme="cozy"] .slot.full { background: #fff; border-color: var(--line); box-shadow: 0 2px 6px rgba(75,58,42,.18); }
[data-theme="cozy"] .item-ghost { border-radius: 16px; background: #fff; }
[data-theme="cozy"] #reveal { background: rgba(75,58,42,.45); }
[data-theme="cozy"] .rv-card { border-radius: 24px; box-shadow: 0 24px 60px rgba(75,58,42,.35); }
[data-theme="cozy"] .rv-zoom, [data-theme="cozy"] .dc-stage { border-radius: 16px; }
[data-theme="cozy"] .rv-title { text-transform: none; font-weight: 600; }
[data-theme="cozy"] .rv-badge { color: #e9704f; border-color: #e9704f; border-radius: 10px; text-transform: none; }
