/* Legacy type-scale aliases and JIYOU web tokens. These are not Apple web specifications. */
:root{--shell-inset:14px;--radius-group:20px;--group-padding:6px;--radius-group-inner:calc(var(--radius-group) - var(--group-padding));
 --radius-field:12px;--radius-content:20px;--radius-panel:28px;--radius-pill:999px;
 --space-unit:4px;--gap-control:8px;--inset-group:6px;--gap-section:32px;
 --height-control:48px;--height-touch:44px;--height-tab:58px;
 --layer-content:0;--layer-toolbar:20;--layer-navigation:30;--layer-menu:40;--layer-dialog:60;
 --glass-opacity:.84;--glass-blur:18px;--glass-saturation:118%;
 --material-glass:rgba(250,253,251,var(--glass-opacity));--material-border:rgba(255,255,255,.9);
 --depth-content:0 1px 3px #1b392308,0 6px 18px #1b392304;
 --depth-control:inset 0 1px 0 #ffffffe0,0 1px 3px #243b2d0d,0 4px 10px #243b2d08;
 --depth-navigation:inset 0 1px 0 #ffffffed,0 0 0 1px #25412c12,0 8px 24px #213c2b12;
 --motion-fast:120ms;--motion-normal:220ms;--motion-layer:280ms;
 --motion-fluid:cubic-bezier(.22,1,.36,1);--motion-press:cubic-bezier(.2,.7,.3,1);
 --text-caption:.8125rem;--text-control:.9375rem;--text-body:1rem;--text-title:2rem;
}

/* Retained type-scale aliases for compatibility; verify source kit provenance separately. */
:root{
 --apple-largetitle-size:2.125rem;--apple-largetitle-leading:1.20588235;
 --apple-title1-size:1.75rem;--apple-title1-leading:1.21428571;
 --apple-title2-size:1.375rem;--apple-title2-leading:1.27272727;
 --apple-title3-size:1.25rem;--apple-title3-leading:1.25000000;
 --apple-headline-size:1.0625rem;--apple-headline-leading:1.29411765;
 --apple-body-size:1.0625rem;--apple-body-leading:1.29411765;
 --apple-callout-size:1rem;--apple-callout-leading:1.31250000;
 --apple-subheadline-size:0.9375rem;--apple-subheadline-leading:1.33333333;
 --apple-footnote-size:0.8125rem;--apple-footnote-leading:1.38461538;
 --apple-caption1-size:0.75rem;--apple-caption1-leading:1.33333333;
 --apple-caption2-size:0.6875rem;--apple-caption2-leading:1.18181818;
 --apple-touch-min:44px;
 --apple-tabbar-height:62px;--apple-tab-height:54px;--apple-tabbar-inset-x:8px;--apple-tabbar-inset-y:4px;
 --apple-tabbar-example-width:346px;
}
:root{--height-touch:var(--apple-touch-min);--height-tab:var(--apple-tab-height);--text-body:var(--apple-body-size);--text-title:var(--apple-largetitle-size);--text-control:var(--apple-callout-size);--text-caption:var(--apple-footnote-size)}

/* Korean typography scale (2026-09-15 UI audit). One value per level, so the same
   heading reads the same on phone, tablet and desktop. */
:root{
 --ls-display:-.03em;--ls-title:-.025em;--ls-heading:-.015em;--ls-body:-.005em;--ls-caption:0;
 --lh-tight:1.35;--lh-body:1.6;--lh-reading:1.75;
 --tap-min:44px;
}

/* Type roles, weight steps and motion tiers (2026-09-15 refinement).
   Four weights only: 400 regular, 500 medium, 600 semibold, 700 bold. */
:root{
 --w-regular:400;--w-medium:500;--w-semibold:600;--w-bold:700;
 --t-display:clamp(30px,3.2vw,40px);--t-largetitle:32px;--t-title1:26px;--t-title2:20px;--t-title3:17px;
 --t-headline:15px;--t-body:16px;--t-ui:15px;--t-subhead:14px;--t-footnote:13px;--t-caption:12px;
 --lh-display:1.2;--lh-largetitle:1.25;--lh-title:1.35;--lh-ui:1.45;
 --ls-title1:-.02em;--ls-title3:-.01em;--ls-badge:.01em;--ls-label:.02em;
 --ease-standard:cubic-bezier(.2,0,0,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in:cubic-bezier(.4,0,1,1);--ease-spring:cubic-bezier(.34,1.2,.64,1);
 --dur-press:120ms;--dur-state:220ms;--dur-layer:320ms;--dur-layer-exit:200ms;--dur-backdrop:240ms;--dur-page:260ms;
 --press-scale:.97;--press-scale-card:.985;
 --focus-ring:#2a7a4f;
 --motion-fast:var(--dur-press);--motion-normal:var(--dur-state);--motion-layer:var(--dur-layer);
 --motion-fluid:var(--ease-standard);--motion-press:var(--ease-out);
}

/* Geometry tiers (2026-09-15 HIG audit): capsule, panel, card, tile, control, small, badge. */
:root{--radius-card:24px;--radius-tile:20px;--radius-control:16px;--radius-small:12px;--radius-badge:8px;
 --edge-fade:rgba(243,246,244,.92);--scrim:rgba(23,49,34,.34);
 --ink-secondary:#53645a;--ink-tertiary:#5d6d63;--ink-footer:#5b6b61;}
@media(max-width:800px){:root{--radius-card:20px;--radius-tile:18px;--radius-control:14px}}

/* Semantic colour roles (2026-09-16). Light values are the canonical literals the screens already used;
   the dark block is the only place a second appearance is defined. */
:root{
 color-scheme:light;
 --surface:#fff;--surface-2:#f4f6f4;--fill-tint:#e2eee6;
 --rule:#dce5df;--rule-strong:#c4d3c9;
 --ink:#182b21;--ink-2:#506357;--ink-3:#65736b;
 --accent:#17643e;--accent-strong:#0c512b;--on-accent:#fff;
 --warn-bg:#fff3dc;--warn-ink:#78500a;--warn-rule:#e2b691;
 --info-bg:#eaf1fc;--info-ink:#315c90;
 --ok-bg:#e7f3eb;--ok-ink:#24623d;
 --danger-bg:#fff0ea;--danger-ink:#a52323;--danger-rule:#e6b49f;
 --violet-ink:#5c4180;--violet-bg:#f3ebf2;--violet-rule:#ac7fa2;
 --focus-ring:#2a7a4f;
 --canvas:#f3f6f4;--canvas-tint:#e2efe7;--canvas-tint-2:#e8edf4;
 --glass:rgba(250,253,251,.9);--glass-2:rgba(250,253,251,.86);--glass-3:rgba(250,253,251,.78);
 --glass-rim:rgba(255,255,255,.92);--glass-highlight:rgba(255,255,255,.95);
 --stage-sky-1:#eef7f1;--stage-sky-2:#d9ebe0;--stage-line:#1f5d3a;--stage-fill:#f6fbf7;--stage-hill:#cfe3d6;--stage-beam:#8fd3ad;--stage-sun:#f4d58a;--stage-flag:#f0811e;--stage-flag-rule:#c96a12;--stage-cloud:#fff;
 --shadow-ambient:rgba(25,61,40,.06);--shadow-key:rgba(25,61,40,.08);--shadow-deep:rgba(38,67,49,.12);
 --edge-fade:rgba(243,246,244,.92);
 --focus:var(--focus-ring);--danger:var(--danger-ink);
 --visual:#1a5f9e;--hear:#8a5e0f;--space:#146f5f;--protect:#ac3b24;--record:var(--violet-ink);
 --ink-secondary:var(--ink-2);--ink-tertiary:var(--ink-3);--ink-footer:var(--ink-3);
 --paper:var(--surface);--action:var(--accent);--action-hover:var(--accent-strong);--muted:var(--ink-3);--rule-2:var(--rule);
 --office-ink:var(--ink);--office-secondary:var(--ink-2);--office-rule:var(--rule);--office-green:var(--accent);
 --office-selected:var(--fill-tint);--office-hover:var(--surface-2);--office-field-border:var(--rule-strong);
 --material-glass:var(--glass);--material-border:var(--glass-rim);--j-glass:var(--glass-2);--j-surface:var(--surface);
 --depth-content:0 1px 3px var(--shadow-ambient),0 6px 18px var(--shadow-ambient);
 --depth-control:inset 0 1px 0 var(--glass-highlight),0 1px 3px var(--shadow-ambient),0 4px 10px var(--shadow-ambient);
 --depth-navigation:inset 0 1px 0 var(--glass-highlight),0 0 0 1px var(--shadow-ambient),0 8px 24px var(--shadow-key);
 --j-depth:inset 0 1px 0 var(--glass-highlight),0 8px 28px var(--shadow-key);
}
@media(prefers-color-scheme:dark){
 :root{
  color-scheme:dark;
  --surface:#1b2420;--surface-2:#232d28;--fill-tint:#24382d;
  --rule:#313b35;--rule-strong:#47544c;
  --ink:#e9efeb;--ink-2:#aab8b0;--ink-3:#8c9a93;
  --accent:#5fc98d;--accent-strong:#8fe3b0;--on-accent:#06251a;
  --warn-bg:#392b16;--warn-ink:#f0c078;--warn-rule:#6b4f24;
  --info-bg:#182840;--info-ink:#8fbcee;
  --ok-bg:#16301f;--ok-ink:#74d69b;
  --danger-bg:#3a201b;--danger-ink:#ff9d92;--danger-rule:#6d3d34;
  --violet-ink:#c3a8e8;--violet-bg:#2b2337;--violet-rule:#5b4a72;
  --focus-ring:#6fd39a;
  --canvas:#111714;--canvas-tint:#15241c;--canvas-tint-2:#141b22;
  --glass:rgba(27,36,32,.86);--glass-2:rgba(27,36,32,.8);--glass-3:rgba(27,36,32,.72);
  --glass-rim:rgba(255,255,255,.1);--glass-highlight:rgba(255,255,255,.07);
  --stage-sky-1:#16241d;--stage-sky-2:#101a15;--stage-line:#6fd39a;--stage-fill:#18231e;--stage-hill:#1b2f25;--stage-beam:#4fae7e;--stage-sun:#7a6a38;--stage-flag:#c96a12;--stage-flag-rule:#8a4a0c;--stage-cloud:#223029;
  --shadow-ambient:rgba(0,0,0,.4);--shadow-key:rgba(0,0,0,.5);--shadow-deep:rgba(0,0,0,.6);
  --edge-fade:rgba(17,23,20,.92);--scrim:rgba(0,0,0,.6);
  --visual:#8ab8ea;--hear:#e0b45f;--space:#63c9b4;--protect:#f09a86;
 }
}
