/*! ETTFOS design tokens (direction A). Colour, type, space, radius, layers and motion in one place.
    --ease-cut uses the precise curve cubic-bezier(.7,0,.2,1) from lemomo-ai/lemo-opuscar@413a6bd6d78ebd3bdd5abaec9538a26867f890df
    styles/swiss-motion/demo/ease.js (line 16). MIT License, Copyright (c) 2026 LemoLab. Full text: /third-party-notices.txt */
@layer reset, tokens, base, layout, components, dialogs, pages, motion, utilities;
@layer tokens {
  :root {
--green-950: #0D1C18;           
    --green-900: #142923;           
    --green-800: #1A332C;           
    --gold-700: #a0791b;            
    --gold-500: #bf972c;            
    --gold-300: #dcb640;            
    --gold-100: #f6e078;            
    --bronze-600: #835e0f;          
    --bronze-800: #654305;          
    --paper: #F4F5EF;               
    --paper-2: #EBEDE4;             
    --paper-3: #FAFBF7;             
    --ink: #142923;                 
    --ink-2: #4A5A53;               
    --text: #E9EEE9;                
    --text-2: #B4C3BB;              
    --text-3: #8FA399;              
    --candle: #D6DDD8;              
    --stop: #CC7F72;                
    --stop-paper: #9E3A3A;          
--light-ground: #F4F5EF;        
    --light-shade: #E5E8DE;         
    --light-lit: #FBFBF7;           
    --light-chip: #EBEDE4;          
    --ink-3: #56665f;               
    --veil-dark: #0B1714;           
    --veil-light: #ECEEE6;          
--hairline-gold: rgb(191 151 44 / .26);
    --hairline-gold-soft: rgb(191 151 44 / .14);
    --hairline-ink: rgb(20 41 35 / .17);
    --hairline-ink-soft: rgb(20 41 35 / .09);
    --scrim-950: rgb(13 28 24 / .86);
--font-sans: "Manrope", "IBM Plex Sans", "Manrope Fallback", -apple-system, "Segoe UI Variable", "Segoe UI", Roboto, Arial, sans-serif;
    --font-display: "Libre Caslon Display", "Libre Caslon Display Fallback", "IBM Plex Sans", "Times New Roman", Georgia, serif;
    --font-serif: var(--font-display);
    --font-mono: var(--font-sans);
--step--2: 0.75rem;                                           
    --step--1: 0.8125rem;                                         
    --step-ui: 0.875rem;                                          
    --step-0: 1rem;                                               
    --step-1: clamp(0.9375rem, 0.9167rem + 0.0926vw, 1rem);       
    --step-2: clamp(1.0625rem, 1.0417rem + 0.0926vw, 1.125rem);   
    --step-3: clamp(1.0625rem, 1rem + 0.2778vw, 1.25rem);         
    --step-4: clamp(1.25rem, 1.1667rem + 0.3704vw, 1.5rem);       
    --step-5: clamp(1.25rem, 1.0833rem + 0.7407vw, 1.75rem);      
    --step-6: clamp(1.75rem, 1.4167rem + 1.4815vw, 2.75rem);      
    --step-7: clamp(2.25rem, 1.6667rem + 2.5926vw, 4rem);         
--step-8: clamp(3rem, 2.6667rem + 1.4815vw, 4rem);            
    --step-7b: clamp(2rem, 1.5833rem + 1.8519vw, 3.25rem);        
    --step-fig: clamp(2.125rem, 1.4167rem + 2.2222vw, 3.5rem);    
    --scene-gap: clamp(5rem, 2rem + 5vw, 7rem);                   
--step-title: clamp(2rem, 1.5833rem + 1.8519vw, 3.25rem);     
    --step-reading: 1rem;                                         
--lh-display: 1.04;
    --lh-heading: 1.08;
    --lh-title: 1.25;
    --lh-body: 1.6;             
    --lh-reading: 1.7;          
    --lh-fine: 1.3846;          
    --lh-label: 1.3333;         
--weight-light: 300;
    --weight-regular: 400;
    --weight-medium: 500;
    --weight-semibold: 600;
    --weight-action: 650;       
    --weight-bold: 700;
--stretch-display: 100%;    
    --stretch-heading: 100%;
    --track-display: -0.02em;
    --track-heading: -0.015em;
    --track-label: 0.24em;      
    --track-wordmark: 0.36em;
--space-1: 0.25rem;    
    --space-2: 0.5rem;     
    --space-3: 0.75rem;    
    --space-4: 1rem;       
    --space-5: 1.5rem;     
    --space-6: 2rem;       
    --space-7: 3rem;       
    --space-8: 4rem;       
    --space-9: 6rem;       
    --space-10: 8rem;      
--gutter: 16px;                                       
    --grid-cols: 4;
    --grid-gap: 16px;
    --content-max: 83rem;                                 
    --measure: 66ch;
    --measure-narrow: 44ch;
    --section-space: clamp(4rem, 2.6667rem + 5.9259vw, 8rem);   
--header-h: 56px;
    --action-bar-h: 0px;                                  
--stage-h: 100svh;
    --window-line: clamp(30px, 4.6vw, 76px);
    --window-gap: var(--space-4);
    --target-min: 24px;                                   
    --target-touch: 44px;                                 
    --icon: 20px;
--radius-control: 2px;
    --radius-card: 2px;
    --radius-media: 0;
--layer-content: 1;
    --layer-film-text: 2;
    --layer-action-bar: 30;
    --layer-header: 40;
    --layer-menu: 45;
    --layer-skip: 60;
--ease-reveal: cubic-bezier(.16, 1, .3, 1);
    --ease-scene: cubic-bezier(.65, 0, .35, 1);
    --ease-cut: cubic-bezier(.7, 0, .2, 1);
    --dur-1: 120ms;             
    --dur-2: 160ms;             
    --dur-3: 200ms;             
    --dur-4: 400ms;             
    --dur-present: 640ms;       
    --dur-max: 1000ms;          
  }
@media (min-width: 768px) {
    :root { --gutter: 32px; --grid-cols: 8; --grid-gap: 24px; }
  }
  @media (min-width: 1024px) {
    :root { --gutter: 56px; --grid-cols: 12; --header-h: 64px; }
  }
  @media (min-width: 1440px) {
    :root { --gutter: 64px; }
  }
@media (prefers-reduced-motion: reduce) {
    :root { --dur-1: 0ms; --dur-2: 0ms; --dur-3: 0ms; --dur-4: 0ms; --dur-present: 0ms; --dur-max: 0ms; }
  }
  :root[data-motion="static"] { --dur-1: 0ms; --dur-2: 0ms; --dur-3: 0ms; --dur-4: 0ms; --dur-present: 0ms; --dur-max: 0ms; }
:root,
  [data-theme="dark"] {
    --surface: var(--green-900);
    --surface-raised: var(--green-800);
    --surface-sunken: var(--green-950);
    --surface-panel: var(--green-950);          
    --surface-chip: var(--green-950);
    --fg: var(--text);
    --fg-2: var(--text-2);
    --fg-3: var(--text-3);
    --label: var(--gold-500);                   
    --label-hi: var(--gold-300);                
    --accent: var(--gold-500);                  
    --rule: var(--hairline-gold);
    --rule-soft: var(--hairline-gold-soft);
    --rule-strong: var(--gold-500);             
    --focus: var(--gold-300);
    --focus-theme: var(--gold-300);             
    --link: var(--text);
    --link-rule: rgb(220 182 64 / .55);
    --action-bg: var(--gold-500);
    --action-fg: var(--green-950);              
    --action-bg-hover: var(--gold-300);
    --action-2-fg: var(--gold-300);
    --action-2-rule: var(--gold-500);
    --action-2-bg-hover: rgb(191 151 44 / .14);
    --risk: var(--text-3);
    --stop-line: var(--stop);
    --selection-bg: var(--gold-300);
    --selection-fg: var(--green-950);
    --shadow-pop: 0 18px 40px rgb(5 12 10 / .45);
    --scrim: rgb(9 19 16 / .8);                 
    --scrim-1: var(--scrim-950);                
    --scrim-2: rgb(13 28 24 / .62);
    --scrim-3: rgb(13 28 24 / 0);
    --shade-1: rgb(13 28 24 / .78);             
    --shade-2: rgb(13 28 24 / .5);
    --shade-3: rgb(13 28 24 / 0);
    --shade-4: rgb(13 28 24 / .9);
    --shade-5: rgb(20 41 35 / .85);
    --veil: var(--veil-dark);
    --cover: rgb(20 41 35 / .94);               
    --header-glass: rgb(13 28 24 / .92);        
    --screen: #000;                             
    --strike: rgb(220 182 64 / .7);
    --glow: rgb(220 182 64 / .12);
    --ghost: rgb(191 151 44 / .18);
    --edge: rgb(233 238 233 / .12);
    --lift: 0 50px 100px -50px rgb(0 0 0 / .8);
    --pop: 0 56px 110px -42px rgb(0 0 0 / .9);
    --numeral: rgb(220 182 64 / .72);
    --dim: .74;
    --sheen: rgb(255 246 214 / .35);            
    --rule-shadow: 0 1px 0 rgb(5 12 10 / .7), 0 -1px 0 rgb(246 224 120 / .06);   
--gold-band: linear-gradient(90deg, #a0791b 0%, #bf972c 28%, #dcb640 44%, #f6e078 50%, #dcb640 56%, #bf972c 74%, #a0791b 100%);
--foil: linear-gradient(100deg, #bf972c 0 30%, #f6e078 48%, #dcb640 58%, #bf972c 78% 100%);
    --duo-hi: var(--text-2);                    
    --duo-lo: var(--green-950);
    --duo-vignette: rgb(13 28 24 / .55);
    color-scheme: dark;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
[data-theme="light"] {
    --surface: var(--light-ground);
    --surface-raised: var(--light-lit);
    --surface-sunken: var(--light-shade);
    --surface-panel: var(--light-lit);
    --surface-chip: var(--light-chip);
    --fg: var(--ink);                           
    --fg-2: var(--ink-2);                       
    --fg-3: var(--ink-3);                       
    --label: var(--bronze-600);                 
    --label-hi: var(--bronze-800);              
    --accent: var(--bronze-600);
    --rule: var(--hairline-ink);
    --rule-soft: var(--hairline-ink-soft);
    --rule-strong: var(--bronze-600);           
    --focus: var(--bronze-800);
    --focus-theme: var(--bronze-800);
    --link: var(--ink);
    --link-rule: rgb(131 94 15 / .5);
    --action-bg: var(--bronze-600);
    --action-fg: var(--light-lit);              
    --action-bg-hover: var(--bronze-800);
    --action-2-fg: var(--bronze-800);
    --action-2-rule: var(--bronze-600);
    --action-2-bg-hover: rgb(131 94 15 / .08);
    --risk: var(--ink-3);
    --stop-line: var(--stop-paper);
    --selection-bg: var(--bronze-600);
    --selection-fg: var(--light-lit);
    --shadow-pop: 0 14px 32px rgb(20 41 35 / .12);
    --scrim: rgb(20 41 35 / .44);
    --scrim-1: rgb(244 245 239 / .86);
    --scrim-2: rgb(244 245 239 / .62);
    --scrim-3: rgb(244 245 239 / 0);
    --shade-1: rgb(244 245 239 / .78);
    --shade-2: rgb(244 245 239 / .5);
    --shade-3: rgb(244 245 239 / 0);
    --shade-4: rgb(244 245 239 / .9);
    --shade-5: rgb(244 245 239 / .85);
    --veil: var(--veil-light);
    --cover: rgb(244 245 239 / .94);
    --header-glass: rgb(244 245 239 / .92);
    --screen: #000;
    --strike: rgb(131 94 15 / .75);
    --glow: rgb(131 94 15 / .09);
    --ghost: rgb(131 94 15 / .2);
    --edge: rgb(20 41 35 / .14);
    --lift: 0 40px 80px -48px rgb(20 41 35 / .42);
    --pop: 0 56px 110px -46px rgb(20 41 35 / .55);
    --numeral: rgb(131 94 15 / .92);
    --dim: .9;
    --sheen: rgb(255 246 214 / .35);
    --rule-shadow: 0 1px 0 rgb(255 255 255 / .6);
--gold-band: linear-gradient(90deg, #654305 0%, #835e0f 28%, #a0791b 44%, #bf972c 50%, #a0791b 56%, #835e0f 74%, #654305 100%);
--foil: linear-gradient(100deg, #835e0f 0 30%, #5a3b03 48%, #654305 58%, #835e0f 78% 100%);
    --duo-hi: var(--light-shade);
    --duo-lo: var(--ink-2);
    --duo-vignette: rgb(20 41 35 / .22);
    color-scheme: light;
    -webkit-font-smoothing: auto;
    -moz-osx-font-smoothing: auto;
  }
:root {
    --heading-family: var(--font-display);
    --heading-weight: var(--weight-regular);    
    --heading-stretch: 100%;
    --heading-track: var(--track-heading);
    --em-style: normal;
  }
[data-ground="paper"] {
    --surface: var(--paper);
    --surface-raised: var(--paper-3);
    --surface-sunken: var(--paper-2);
    --surface-panel: var(--paper-3);
    --surface-chip: var(--paper-2);
    --fg: var(--ink);
    --fg-2: var(--ink-2);
    --fg-3: var(--ink-2);
    --label: var(--bronze-600);
    --label-hi: var(--bronze-800);
    --accent: var(--bronze-600);
    --rule: var(--hairline-ink);
    --rule-soft: var(--hairline-ink-soft);
    --rule-strong: var(--ink-2);                
    --focus: var(--ink);
    --link: var(--bronze-600);
    --link-rule: rgb(131 94 15 / .5);
    --action-bg: var(--green-900);
    --action-fg: var(--paper);                  
    --action-bg-hover: var(--green-800);
    --action-2-fg: var(--ink);
    --action-2-rule: var(--ink);
    --action-2-bg-hover: rgb(20 41 35 / .06);
    --risk: var(--ink-2);
    --stop-line: var(--stop-paper);
    --selection-bg: var(--bronze-600);
    --selection-fg: var(--paper);
    --shadow-pop: 0 14px 32px rgb(20 41 35 / .12);
    --strike: rgb(131 94 15 / .75);
    --glow: rgb(131 94 15 / .09);
    --ghost: rgb(131 94 15 / .2);
    --edge: rgb(20 41 35 / .14);
    --rule-shadow: 0 1px 0 rgb(255 255 255 / .6);
    --gold-band: linear-gradient(90deg, #654305 0%, #835e0f 28%, #a0791b 44%, #bf972c 50%, #a0791b 56%, #835e0f 74%, #654305 100%);
    --foil: linear-gradient(100deg, #835e0f 0 30%, #5a3b03 48%, #654305 58%, #835e0f 78% 100%);
    color-scheme: light;
    -webkit-font-smoothing: auto;
    -moz-osx-font-smoothing: auto;
  }
}
@media (pointer: coarse) { :root { --target-min: 44px; } }
