/**
 * Design Tokens & CSS Custom Properties
 * Applied Skills: Impeccable + Taste Design (Warm Stone & Ink / Obsidian Studio)
 * 원자개발론 v2: 모든 표면·타이포그래피·고도·상호작용 토큰을 중앙 관리
 */

@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css');

:root {
  /* Surface Hierarchy — Warm Stone & Editorial Paper (Light Mode) */
  --bg-app: #f4f2ed;
  --bg-sidebar: #ece9e1;
  --bg-list: #f8f6f2;
  --bg-editor: #fcfbf9;
  --bg-surface: #fcfbf9;
  --bg-card: #ffffff;
  --bg-card-hover: #faf8f4;
  --bg-hover: #f1eee8;
  --bg-card-selected: #eaf0f8;
  --bg-elevated: rgba(255, 255, 255, 0.88);

  /* Hairline Borders & Focus Rings */
  --border-subtle: #e2ded5;
  --border-strong: #cbc5b9;
  --border-focus: #234575;
  --border-inner-light: inset 0 1px 0 rgba(255, 255, 255, 0.75);

  /* Editorial Ink Typography Colors (Never pure #000) */
  --text-main: #171716;
  --text-muted: #55534e;
  --text-dim: #7c7870;
  --text-inverse: #fcfbf9;

  /* Single Considered Primary Accent — Architectural Deep Ink Blue */
  --primary: #1e3f6e;
  --primary-hover: #152f54;
  --primary-light: #e8eff8;
  --primary-glow: rgba(30, 63, 110, 0.12);

  /* Semantic Desaturated Pastels & Accents */
  --accent-star: #d4820a;
  --accent-star-hover: #b56c05;

  --danger: #bf3634;
  --danger-hover: #9e2927;
  --danger-light: #fbeae9;

  --success: #1b7350;
  --success-light: #e6f4ed;
  --warning: #b56812;
  --warning-light: #fcf1e3;

  /* Typography Stack */
  --font-sans: 'Pretendard Variable', 'Pretendard', 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --font-display: 'Pretendard Variable', 'Pretendard', 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono: 'JetBrains Mono', 'SF Mono', 'Fira Code', 'Consolas', monospace;

  /* Tinted Ambient Shadows (Offset + Soft Diffusion) */
  --shadow-xs: 0 1px 2px rgba(23, 23, 22, 0.04);
  --shadow-sm: 0 1px 3px rgba(23, 23, 22, 0.05), 0 1px 2px rgba(23, 23, 22, 0.03);
  --shadow-md: 0 6px 16px -4px rgba(23, 23, 22, 0.07), 0 2px 6px -1px rgba(23, 23, 22, 0.04);
  --shadow-lg: 0 14px 28px -6px rgba(23, 23, 22, 0.09), 0 4px 10px -2px rgba(23, 23, 22, 0.04);
  --shadow-modal: 0 24px 48px -12px rgba(18, 20, 24, 0.22), 0 0 0 1px rgba(23, 23, 22, 0.06);

  /* Concentric Radii */
  --radius-xs: 5px;
  --radius-sm: 7px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-xl: 18px;
  --radius-full: 9999px;

  /* Layout Dimensions */
  --sidebar-width: 248px;
  --list-width: 332px;
  --header-height: 54px;
  --editor-max-width: 800px;

  /* Purposeful Motion (Exponential Ease-Out) */
  --ease-out-expo: cubic-bezier(0.22, 1, 0.36, 1);
  --transition-fast: 160ms cubic-bezier(0.22, 1, 0.36, 1);
  --transition-normal: 260ms cubic-bezier(0.22, 1, 0.36, 1);
}

/* Dark Mode Palette — Obsidian Studio */
[data-theme='dark'] {
  --bg-app: #0d0f12;
  --bg-sidebar: #111419;
  --bg-list: #15181f;
  --bg-editor: #101318;
  --bg-surface: #101318;
  --bg-card: #1a1e26;
  --bg-card-hover: #212631;
  --bg-hover: #1e232d;
  --bg-card-selected: #1c283d;
  --bg-elevated: rgba(26, 30, 38, 0.9);

  --border-subtle: #252a35;
  --border-strong: #343b4a;
  --border-focus: #739bf2;
  --border-inner-light: inset 0 1px 0 rgba(255, 255, 255, 0.05);

  --text-main: #edeff4;
  --text-muted: #9da4b3;
  --text-dim: #6d7484;
  --text-inverse: #0d0f12;

  --primary: #6c96eb;
  --primary-hover: #87abfa;
  --primary-light: rgba(108, 150, 235, 0.15);
  --primary-glow: rgba(108, 150, 235, 0.24);

  --accent-star: #f5a623;
  --accent-star-hover: #e09112;

  --danger: #f06866;
  --danger-hover: #e04f4d;
  --danger-light: rgba(240, 104, 102, 0.15);

  --success: #3bc48d;
  --success-light: rgba(59, 196, 141, 0.15);
  --warning: #f2a93b;
  --warning-light: rgba(242, 169, 59, 0.15);

  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.35);
  --shadow-sm: 0 2px 5px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 8px 20px -4px rgba(0, 0, 0, 0.5);
  --shadow-lg: 0 16px 32px -6px rgba(0, 0, 0, 0.6);
  --shadow-modal: 0 28px 56px -12px rgba(0, 0, 0, 0.78), 0 0 0 1px rgba(255, 255, 255, 0.07);
}
