  :root {
    --accent: #f91120; --postit: #ffd76a; --ease: cubic-bezier(0.22, 1, 0.36, 1);   /* innored 대표 색 */
    --ok: #34a853;   /* 회의실 "사용 가능" 초록 — 발주자 지시(26.09) */
    /* 타입 그리드 — 당근 SEED의 font-size/line-height 토큰(t1~t11)을 그대로 쓴다.
       크기는 반드시 이 그리드에서 고른다. 그리드 밖 특례는 시계 모드와 인트로 인사 둘뿐 */
    --fs-t1: 11px;  --lh-t1: 15px;
    --fs-t2: 12px;  --lh-t2: 16px;
    --fs-t3: 13px;  --lh-t3: 18px;
    --fs-t4: 14px;  --lh-t4: 19px;
    --fs-t5: 16px;  --lh-t5: 22px;
    --fs-t6: 18px;  --lh-t6: 24px;
    --fs-t7: 20px;  --lh-t7: 27px;
    --fs-t8: 22px;  --lh-t8: 30px;
    --fs-t9: 24px;  --lh-t9: 32px;
    --fs-t10: 26px; --lh-t10: 35px;
    --fs-t11: 28px; --lh-t11: 38px;
    /* SEED의 bold는 700이지만 이 화면은 600 — 글라스 UI에서 700은 무겁다 (감량은 의도).
       display(700)는 인트로 인사 한 곳만 쓰는 특례 */
    --fw-regular: 400; --fw-medium: 500; --fw-bold: 600; --fw-display: 700;
    /* 마이크로 인터랙션(호버·포커스) 공통 속도 — 짧고 딱딱한 0.15~0.2s 선형을 전부 이걸로 */
    --hover: 0.32s cubic-bezier(0.22, 1, 0.36, 1);
    /* 리퀴드 글래스 — 위젯 카드의 림 라이트/광택 (다크 팔레트에서 감량) */
    --glass-rim: rgba(255, 255, 255, 0.85);
    --glass-sheen: rgba(255, 255, 255, 0.32);
  }

  /* ── 시간대별 라이팅 ── */
  body[data-theme="morning"] {
    --sky-a: #fdf3e7; --sky-b: #f3e4d3;
    --ink: #2a241d; --ink-soft: #99897a; --panel: rgba(255,252,246,0.74);
    --floor: #efe7db; --floor-line: #e2d7c6;
    --roof: #faf5ec; --wall: #e8ddcc;
    --desk: #f6efe3; --shadow: rgba(120,90,60,0.22);
  }
  body[data-theme="midday"] {
    --sky-a: #eef1f4; --sky-b: #dde3e9;
    --ink: #1d2126; --ink-soft: #838b94; --panel: rgba(252,253,255,0.74);
    --floor: #e6eaee; --floor-line: #d5dbe2;
    --roof: #f7f9fb; --wall: #dde3ea;
    --desk: #f2f5f8; --shadow: rgba(60,80,100,0.22);
  }
  body[data-theme="evening"] {
    --glass-rim: rgba(255, 255, 255, 0.14);
    --glass-sheen: rgba(255, 255, 255, 0.05);
    --sky-a: #191b26; --sky-b: #0e0f16;
    --ink: #f0ece4; --ink-soft: #a8a5b2; --panel: rgba(30,32,45,0.8);
    --floor: #23252f; --floor-line: #2d303c;
    --roof: #2b2d3a; --wall: #1e202b;
    --desk: #2e3140; --shadow: rgba(0,0,0,0.5);
  }

  * { margin: 0; padding: 0; box-sizing: border-box; }
  html, body { height: 100%; }
  body {
    /* 모든 OS에서 같은 화면 — 영문·숫자는 Google Sans, 한글은 Noto Sans KR(글리프 폴백).
       Roboto와 짝으로 설계된 한글이 Noto Sans KR — Pretendard에서 교체(발주자 확정, 26.08).
       시스템 키워드를 앞에 두면 기기마다 얼굴이 갈라진다 — 두 CDN 폰트가 항상 맨 앞 */
    font-family: "Google Sans", "Noto Sans KR", -apple-system, sans-serif;
    color: var(--ink);
    background-color: var(--sky-b);
    transition: color 0.6s var(--ease), background-color 0.6s var(--ease);
    overflow: hidden;
    display: flex; flex-direction: column;
    min-height: 100dvh;
    -webkit-font-smoothing: antialiased;
  }
  /* 하늘의 밝기 차이는 테마와 무관한 고정 오버레이로 — 색은 단색이 맡아 부드럽게 전환된다 */
  body::before {
    content: ''; position: fixed; inset: 0; z-index: -1; pointer-events: none;
    background: radial-gradient(120% 100% at 50% 0%, rgba(255,255,255,0.11) 0%, transparent 70%);
  }
  .mono { font-variant-numeric: tabular-nums; }   /* 시각·날짜·좌표 — 폰트는 본문과 같고 숫자 폭만 고정 */

  /* 안쪽 스크롤 공통 — OS 기본 막대 대신 얇고 은은한 반투명 썸 (트랙은 투명) */
  * { scrollbar-width: thin; scrollbar-color: color-mix(in srgb, var(--ink) 22%, transparent) transparent; }
  *::-webkit-scrollbar { width: 8px; height: 8px; }
  *::-webkit-scrollbar-track { background: transparent; }
  *::-webkit-scrollbar-thumb {
    background: color-mix(in srgb, var(--ink) 18%, transparent);
    border-radius: 8px;
    border: 2px solid transparent; background-clip: padding-box;   /* 가장자리 여백 — 막대가 더 얇아 보인다 */
  }
  *::-webkit-scrollbar-thumb:hover { background: color-mix(in srgb, var(--ink) 34%, transparent); border-radius: 8px; border: 2px solid transparent; background-clip: padding-box; }
  *::-webkit-scrollbar-corner { background: transparent; }
  button { font-family: inherit; }
  b, strong { font-weight: var(--fw-bold); }
