/* Exact implementation tokens. Native artwork shading is not a CSS color source. */
@font-face{font-family:"Nunito Sans";src:url("../assets/fonts/NunitoSans-Variable.ttf") format("truetype");font-weight:200 1000;font-style:normal;font-display:swap;}
:root {
  --background: #F5EEFA;
  --foreground: #4F2873;
  --card: #FFFFFF;
  --card-foreground: #4F2873;
  --popover: #FFFFFF;
  --popover-foreground: #4F2873;
  --primary: #4F2873;
  --primary-foreground: #FFFFFF;
  --secondary: #E6D6F0;
  --secondary-foreground: #4F2873;
  --muted: #EEE4F5;
  --muted-foreground: #694F79;
  --accent: #E6D6F0;
  --accent-foreground: #4F2873;
  --destructive: #9C2B48;
  --destructive-foreground: #FFFFFF;
  --border: #C9A7E1;
  --input: #8A5AA5;
  --ring: #8A5AA5;
}
.dark {
  --background: #251330;
  --foreground: #F5EEFA;
  --card: #351D43;
  --card-foreground: #F5EEFA;
  --popover: #351D43;
  --popover-foreground: #F5EEFA;
  --primary: #C9A7E1;
  --primary-foreground: #251330;
  --secondary: #4F2873;
  --secondary-foreground: #F5EEFA;
  --muted: #351D43;
  --muted-foreground: #D7C3E4;
  --accent: #684384;
  --accent-foreground: #FFFFFF;
  --destructive: #F8ADC0;
  --destructive-foreground: #251330;
  --border: #8A5AA5;
  --input: #C9A7E1;
  --ring: #C9A7E1;
}
*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--foreground);font-family:"Nunito Sans",ui-sans-serif,system-ui,sans-serif;font-size:16px;line-height:1.6}a{color:inherit}button,input,select{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.7rem 1.2rem;border:1px solid transparent;border-radius:999px;background:var(--primary);color:var(--primary-foreground);font-weight:700;text-decoration:none;cursor:pointer}button:hover,.button:hover{filter:brightness(1.07)}button:disabled{cursor:not-allowed;opacity:.55}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--ring);outline-offset:4px}input,select{min-height:44px;background:var(--card);color:var(--card-foreground);border:1px solid var(--input);border-radius:.5rem;padding:.6rem .8rem}.container{width:min(1180px,100% - 40px);margin-inline:auto}.card{background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:1.5rem;padding:1.5rem}.muted{color:var(--muted-foreground)}h1,h2,h3{line-height:1.12;letter-spacing:-.025em}h1{font-size:clamp(2rem,4vw,3.5rem)}h2{font-size:clamp(1.5rem,2.5vw,2.5rem)}p{max-width:72ch}img{max-width:100%;height:auto}.logo{display:block;width:min(100%,640px);object-fit:contain;margin:auto}code{font-family:ui-monospace,monospace;font-size:.9em}pre{overflow:auto;border-radius:1rem;padding:1rem;background:var(--muted);color:var(--muted-foreground)}.skip{position:absolute;left:12px;top:-100px}.skip:focus{top:12px;z-index:99}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1.2rem}.stack{display:grid;gap:1rem}section{padding-block:2rem}footer{padding-block:2rem;border-top:1px solid var(--border)}@media(max-width:600px){.container{width:min(100% - 28px,1180px)}.card{padding:1rem}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
