/* ===================================================================
   shared.css — 共通スタイル + M3 デザイントークン
   =================================================================== */

/* --- M3 Design Tokens --- */
:root {
  /* Color system */
  --md-primary: #1B8B4B;
  --md-primary-dark: #147038;
  --md-primary-light: #e8f5ee;
  --md-primary-disabled: #a0c4af;
  --md-on-primary: #fff;
  --md-surface: #fff;
  --md-background: #f5f5f5;
  --md-on-surface: #1c2536;
  --md-on-surface-variant: #555;
  --md-outline: #d0d5dd;
  --md-outline-light: #e8e8e8;
  --md-error: #d63031;
  --md-muted: #888;
  --md-muted-light: #aaa;
  --md-muted-lighter: #bbb;

  /* Elevation */
  --md-elevation-1: 0 1px 4px rgba(0,0,0,.06);
  --md-elevation-2: 0 4px 24px rgba(0,0,0,.08);
  --md-elevation-3: 0 20px 60px rgba(0,0,0,.35);

  /* Typography scale */
  --md-font-family: 'Noto Sans JP','Hiragino Sans',sans-serif;
  --md-fs-xs: 10px;
  --md-fs-sm: 12px;
  --md-fs-body: 14px;
  --md-fs-md: 15px;
  --md-fs-lg: 16px;
  --md-fs-xl: 18px;
  --md-fs-2xl: 22px;

  /* Radius */
  --md-radius-sm: 6px;
  --md-radius-md: 8px;
  --md-radius-lg: 10px;
  --md-radius-xl: 12px;
  --md-radius-2xl: 16px;
}

/* --- Reset --- */
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--md-font-family);-webkit-font-smoothing:antialiased;background:var(--md-background);color:var(--md-on-surface);overflow-x:hidden}
button,select,input{font-family:inherit}

/* --- Animations --- */
@keyframes fadeIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.fi{animation:fadeIn .35s ease forwards}

/* --- Common Form Components --- */
.field-label{font-size:var(--md-fs-sm);font-weight:600;color:var(--md-on-surface-variant);margin-bottom:5px;display:block}
.field-input{width:100%;padding:10px 12px;border-radius:var(--md-radius-md);border:1.5px solid var(--md-outline);font-size:var(--md-fs-md);outline:none;transition:border .2s;background:var(--md-surface);-webkit-appearance:none}
.field-input:focus{border-color:var(--md-primary)}

/* --- Common Buttons --- */
.green-btn{width:100%;padding:14px 0;border-radius:var(--md-radius-lg);border:none;background:var(--md-primary);color:var(--md-on-primary);font-size:var(--md-fs-lg);font-weight:700;cursor:pointer;letter-spacing:.5px;transition:background .2s}
.green-btn:active{background:var(--md-primary-dark)}
.green-btn:disabled{background:var(--md-primary-disabled);cursor:not-allowed}
