/* デザイントークン（docs/04_ui_design.md と対応）。public/css/ にコピーして使う */
:root {
  --c-bg: #F4F4F4;
  --c-surface: #FFFFFF;
  --c-ink: #161616;
  --c-ink-muted: #626262;
  --c-border: #DEDEDE;
  --c-border-input: #858585;
  --c-divider: #EBEBEB;
  --c-primary: #101010;
  --c-primary-hover: #2B2B2B;
  --c-primary-tint: #EEEEEE;
  --c-primary-line: #8B6A54;
  --c-external: #626262;
  --c-external-bg: #F0F0F0;
  --c-dark: #303030;
  --c-warn-bg: #F1F1F1;
  --c-warn-ink: #65432B;
  --c-ok-bg: #EEF4EA;
  --c-ok-ink: #244A20;
  --c-disabled-bg: #ECECEC;
  --c-disabled-ink: #7A7A7A;

  --font-body: 'Noto Sans JP', sans-serif;
  --font-shop: Georgia, 'Noto Serif JP', serif;

  --gutter: 16px;
  --radius-card: 14px;
  --radius-btn: 12px;
  --radius-btn-primary: 14px;
  --h-btn: 48px;
  --h-btn-primary: 52px;
  --tap-min: 44px;

  --ledger-hour-day: 64px;
  --ledger-hour-week: 48px;
}

html, body { margin: 0; background: var(--c-bg); color: var(--c-ink); font-family: var(--font-body); }
input, select, textarea, button { font-family: inherit; font-size: 16px; }
a { color: var(--c-primary); }
a:hover { color: var(--c-primary-hover); }
.num { font-feature-settings: 'tnum'; }
.app { max-width: 480px; margin: 0 auto; min-height: 100vh; display: flex; flex-direction: column; }

/* 添付ロゴは原本を保持し、透明な上下余白だけを表示領域で詰める。 */
.brand-logo{display:block;position:relative;width:120px;aspect-ratio:627/380;overflow:hidden;flex-shrink:0;mix-blend-mode:normal}
.brand-logo img{position:absolute;max-width:none;width:100%;height:auto;left:0;top:-32.894737%}
.brand-logo-login{width:224px;max-width:100%}
.brand-logo-nav{width:44px}

/* D-99: 写真内の明朝ロゴに合わせ、見出しと主ボタンに書体を適用。 */
h1,h2{font-family:var(--font-shop);font-weight:600;letter-spacing:.04em}
.primary,.line-primary{font-family:var(--font-shop);font-weight:600;letter-spacing:.1em}
.num,.line-date,.price,input,select,textarea{font-family:var(--font-body);font-feature-settings:'tnum'}
/* D-100: 原本の透明な上下余白だけを表示枠で詰める。 */
