/* Disobedient Avocado — production stylesheet.
   Only the LICENSED webfont is declared here. The trial/demo faces used during
   exploration (Kiosk, Gunshot, Nutnik, etc.) are deliberately absent — they are
   not licensed for the web and must never ship. */

/* Space Mono is requested with a <link> in the document head, not an @import here:
   a nested @import cannot start downloading until this file has itself arrived and
   parsed, which serialises two round trips and is the main cause of a font flash. */

/* Metric-matched fallback so text laid out before Space Mono arrives does not reflow. */
@font-face{font-family:"Space Mono Fallback";src:local("Menlo"),local("DejaVu Sans Mono"),local("Consolas"),local("Courier New");size-adjust:96%;ascent-override:90%;descent-override:24%;line-gap-override:0%}

/* Licensed webfont kit (Fontspring). Keep the liga feature intact: this font has
   no kerning table, its letterfitting is delivered through liga. */
/* font-display:block, not swap. The wordmark sets at 22vh, so a fallback flash and
   reflow is far worse than a brief invisible pause. The file is preloaded in the head,
   so in practice it paints on the first frame. */
@font-face{font-family:"Master Of Poster";src:url("fonts/poster.woff2") format("woff2"),url("fonts/poster.woff") format("woff");font-weight:700;font-style:normal;font-display:block}

:root{
--grape-900:#2A0B3D;--grape-800:#4A1571;--grape-700:#63229A;--grape-600:#8034AD;--grape-500:#9A4FC7;--grape-400:#B87FD9;--grape-300:#D2AEE9;--grape-200:#EBDCF6;--grape-100:#F6EEFB;
--bubble-600:#D63C85;--bubble-500:#F072AE;--bubble-400:#F79BC6;--bubble-200:#FCD8E8;
--fizz-600:#2ED3DB;--fizz-500:#6FF0F6;--fizz-400:#9BFBFF;--fizz-200:#D8FDFF;
--paper:#FFF4E8;--paper-2:#FFE9D2;--white:#FFFFFF;--ink:#2A0B3D;--ink-soft:#5B3E72;
--lime-500:#B6E655;--tangerine-500:#FF8A3D;

--bg-page:var(--paper);--bg-inverse:var(--grape-600);--surface-card:var(--white);--surface-sunken:var(--grape-100);
--text-body:var(--ink);--text-muted:var(--ink-soft);--text-on-dark:var(--paper);--text-link:var(--grape-600);--text-link-hover:var(--bubble-600);
--accent-primary:var(--grape-600);--accent-secondary:var(--bubble-500);--accent-tertiary:var(--fizz-400);
--border-ink:var(--ink);--focus-ring:var(--fizz-600);
--success:var(--lime-500);--warning:var(--tangerine-500);--danger:var(--bubble-600);
}

:root{
--font-display:"Indigo Sky",Georgia,serif;
--font-alt-display:"Falmera Pearson","Indigo Sky",Georgia,serif;
--font-shout:"Ten Twelve","Arial Narrow",sans-serif;
--font-mono:"Space Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
--font-body:var(--font-mono);
--font-sans:"Outfit",system-ui,sans-serif;
--font-gunshot:"Gunshot Rough",Georgia,serif;
--font-kiosk:"Kiosk Sans Print",Georgia,serif;
--font-banger:"WTC Banger",Georgia,serif;
--font-catscratch:"Catscratch",Georgia,serif;
--font-poster:"Master Of Poster",Georgia,serif;
--font-mayonaise:"Mayonaise",Georgia,serif;
--font-morethan:"More Than Enough",Georgia,serif;
--font-lollipop:"Mrs Lollipop 3D",Georgia,serif;
--font-nutnik:"Nutnik Condensed",Georgia,serif;
--font-pudding:"Puddinghead",Georgia,serif;
--font-wordmark:var(--font-poster);

--text-mega:clamp(56px,9vw,132px);--text-hero:clamp(40px,6vw,88px);--text-xxl:56px;--text-xl:40px;--text-lg:28px;--text-md:20px;--text-base:17px;--text-sm:15px;--text-xs:13px;
--lh-tight:0.92;/* @kind font */
--lh-snug:1.1;/* @kind font */
--lh-body:1.5;/* @kind font */
--lh-loose:1.65;/* @kind font */

--ls-display:-0.01em;/* @kind font */
--ls-shout:0.01em;/* @kind font */
--ls-caps:0.12em;/* @kind font */
--ls-body:0;/* @kind font */

--fw-body:400;/* @kind font */
--fw-medium:500;/* @kind font */
--fw-bold:700;/* @kind font */
--fw-black:800;/* @kind font */

}

:root{
--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:144px;
--gutter:var(--space-5);--section-y:var(--space-9);--container-max:1140px;--measure:62ch;
}

:root{
--radius-sm:8px;--radius-md:14px;--radius-lg:24px;--radius-xl:36px;--radius-pill:999px;--radius-blob:64% 36% 58% 42%/45% 55% 45% 55%;
--stroke-1:2px;/* @kind spacing */
--stroke-2:3px;/* @kind spacing */
--stroke-3:5px;/* @kind spacing */

--border-hard:var(--stroke-2) solid var(--border-ink);
--shadow-pop-sm:3px 3px 0 var(--ink);--shadow-pop:6px 6px 0 var(--ink);--shadow-pop-lg:10px 10px 0 var(--ink);
--shadow-pop-grape:6px 6px 0 var(--grape-600);--shadow-pop-fizz:6px 6px 0 var(--fizz-600);
--shadow-soft:0 12px 32px -12px rgba(42,11,61,.35);
--ease-pop:cubic-bezier(.34,1.56,.64,1);/* @kind other */
--ease-out:cubic-bezier(.2,.8,.3,1);/* @kind other */

--dur-fast:120ms;/* @kind other */
--dur:200ms;/* @kind other */
--dur-slow:420ms;/* @kind other */

--lift:translate(-2px,-2px);/* @kind other */
--press:translate(3px,3px);/* @kind other */

}


/* Runtime state colours. The module script overwrites these on documentElement as
   the page flips Bone <-> Slime; declaring the Bone values here means the page is
   still correct and legible if the module never executes (no import-map support,
   CDN unreachable, JS disabled). Do not remove. */
:root{--bg:#D9D6CE;--ink:#111014;--hot:#111014;--warm:#2A2A2E}
