:root {
  
  --color-ink: #050505;          
  --color-main: #00419b;         
  --color-main-2: #00419b;       
  --color-accent: #00419b;       
  --color-accent-2: #00419b;     
  --color-base: #fcfcfc;         
  --color-pale: #f2f2f2;         
  --color-line: #050505;         
  
  --color-blue-dk: #00337a;      
  --color-blue-md: #4071b4;      
  --color-blue-lt: #ccd9eb;      
  --color-blue-xl: #e3ebf5;      
  --color-paper: #f2f2f2;        
  --color-paper-line: #e2e2e2;   
  --color-deco-line: #c9d3e2;    
  --color-deco-tick: #b4c4dc;      
  --color-catch-shadow: rgb(0 20 60 / 0.7);   
  --color-reserved: #008c3a;     
  --color-on-dark: #fcfcfc;      
  --color-on-dark-line: rgb(252 252 252 / 0.7);
  --color-error: #c8312b;        
  --color-shadow: rgb(5 5 5 / 0.16);

  
  --bg-dark: var(--color-ink);   
  --bg-accent: linear-gradient(90deg, var(--color-accent) 0%, var(--color-accent-2) 100%);

  
  --font-body: "Zen Kaku Gothic New", "Hiragino Sans", "Hiragino Kaku Gothic ProN", system-ui, sans-serif;   
  --font-head: "Zen Kaku Gothic New", "Hiragino Sans", system-ui, sans-serif;   
  --font-en: "Zalando Sans Expanded", "Zen Kaku Gothic New", sans-serif;   
  
  --fs-min: 13px;
  
  --fs-base: clamp(var(--fs-min), min(2.3dvh, 3.95vw), 15.5px);   
  --fs-ui: max(var(--fs-min), 13px);   
  --fs-input: 16px;                     
  --fw-body: 500;                
  --ls-body: 0.03em;
  --lh-body: 1.8;                
  --lh-head: 1.3;

  
  --col: 450px;                  
  --header-h: 56px;
  --gutter: 20px;                
  --sp-1: 0.45em;                
  --sp-p: 0.75em;                
  --sp-g: 1.1em;                 
  --pad-y: 1.2em;                
  --next-h: 0px;                 
  --radius-pill: 999px;
  --radius-s: 6px;
  --shadow-soft: 0 0 10px 0 var(--color-shadow);
  --shadow-column: 0 0 24px 0 var(--color-shadow);

  
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --rise: 20px;                  
  --dur-in: 500ms;               
  --dur-hover: 300ms;

  
  --flip-dur: 800ms;             
  --flip-every: 1600ms;          
  --door-dur: 1500ms;            
  --door-wait: 300ms;            
  --radius-card: 16px;           
  --radius-box: 10px;            
  --bw: 1px;                     
  --shift: 8px;                  
  --ease-flip: cubic-bezier(0.22, 0.61, 0.36, 1);
  --ease-stamp: cubic-bezier(0.2, 1.4, 0.4, 1);   
  --train-lap: 2400ms;           
  --reel-h: clamp(56px, 9dvh, 120px);   
}

@media (max-height: 600px) { :root { --pad-y: 0.7em; } }

@media (max-height: 700px) { :root { --sp-g: 0.85em; --sp-p: 0.6em; --reel-h: 7dvh; } }

@media (min-height: 800px) and (max-width: 959px), (min-height: 860px) { :root { --sp-g: 2em; --sp-p: 1.1em; --fs-base: clamp(var(--fs-min), min(2.1dvh, 4.1vw), 17px); } }
@media (min-height: 1000px) { :root { --sp-g: 3em; } }
