/* SNS shadow system V1.0 · 2026-10-28 · Shared across four light themes. */
:root {
  --shadow-ink: 16 28 24; /* #101C18; neutral ink, not brand color. */
  --shadow-level-0: none; /* S0 · 平面 */
  --shadow-level-1: 0px 1px 2px 0px rgb(var(--shadow-ink) / 0.06); /* S1 · 轻微抬升 */
  --shadow-level-2: 0px 2px 8px 0px rgb(var(--shadow-ink) / 0.06), 0px 1px 2px 0px rgb(var(--shadow-ink) / 0.04); /* S2 · 悬浮 */
  --shadow-level-3: 0px 8px 24px 0px rgb(var(--shadow-ink) / 0.1), 0px 2px 6px 0px rgb(var(--shadow-ink) / 0.06); /* S3 · 浮层 */
  --shadow-level-4: 0px 16px 48px 0px rgb(var(--shadow-ink) / 0.14), 0px 4px 12px 0px rgb(var(--shadow-ink) / 0.08); /* S4 · 模态 */
  --shadow-direction-drawer: -8px 0px 32px -8px rgb(var(--shadow-ink) / 0.12); /* D1 · 右侧抽屉 */
  --shadow-direction-sticky: 0px 4px 12px -4px rgb(var(--shadow-ink) / 0.1); /* D2 · 顶部吸顶 */
  --shadow-direction-table: 6px 0px 12px -8px rgb(var(--shadow-ink) / 0.16); /* D3 · 左侧固定列 */
  --shadow-card: var(--shadow-level-0);
  --shadow-card-hover: var(--shadow-level-1);
  --shadow-tooltip: var(--shadow-level-2);
  --shadow-popover: var(--shadow-level-3);
  --shadow-dropdown: var(--shadow-level-3);
  --shadow-toast: var(--shadow-level-3);
  --shadow-dialog: var(--shadow-level-4);
  --shadow-dragging: var(--shadow-level-4);
  --shadow-drawer: var(--shadow-direction-drawer);
  --shadow-sticky: var(--shadow-direction-sticky);
  --shadow-table-fixed: var(--shadow-direction-table);
}
/* Opt-in classes; existing cards keep their flat default. */
.sns-shadow-card { box-shadow: var(--shadow-card); }
.sns-shadow-interactive { box-shadow: var(--shadow-card); transition: box-shadow 180ms ease; }
.sns-shadow-interactive:hover { box-shadow: var(--shadow-card-hover); }
.sns-shadow-interactive:focus-visible { outline: 3px solid var(--color-interaction-focus-ring); outline-offset: 3px; }
.sns-shadow-tooltip { box-shadow: var(--shadow-tooltip); }
.sns-shadow-popover { box-shadow: var(--shadow-popover); }
.sns-shadow-dropdown { box-shadow: var(--shadow-dropdown); }
.sns-shadow-toast { box-shadow: var(--shadow-toast); }
.sns-shadow-dialog { box-shadow: var(--shadow-dialog); }
.sns-shadow-dragging { box-shadow: var(--shadow-dragging); }
.sns-shadow-drawer { box-shadow: var(--shadow-drawer); }
.sns-shadow-sticky { box-shadow: var(--shadow-sticky); }
.sns-shadow-table-fixed { box-shadow: var(--shadow-table-fixed); }
@media (prefers-reduced-motion: reduce) { .sns-shadow-interactive { transition: none; } }
@media (forced-colors: active) {
  .sns-shadow-card, .sns-shadow-interactive, .sns-shadow-tooltip, .sns-shadow-popover, .sns-shadow-dropdown, .sns-shadow-toast, .sns-shadow-dialog, .sns-shadow-dragging, .sns-shadow-drawer, .sns-shadow-sticky, .sns-shadow-table-fixed { box-shadow: none; border: 1px solid CanvasText; }
  .sns-shadow-interactive:focus-visible { outline: 3px solid Highlight; outline-offset: 3px; }
}
