/* ===== IMASUS poster system ===== */
@import url('https://api.fontshare.com/v2/css?f[]=general-sans@400,500,600,700&display=swap');

:root{
  /* IMASUS design-system tokens (verbatim from the DS) */
  --teal:#1F3D3F;         /* forest — dark green / ink */
  --navy:#252645;         /* dark blue — hover, training */
  --mint:#AFE0C7;         /* light green — fills, chips */
  --blue:#AFCEDE;         /* sky — light blue — fills, chips */
  --cream:#F5F5F4;        /* stone — page background */
  --ink:#1F3D3F;          /* forest — UI text is forest at opacity */
  --ink-80:rgba(31,61,63,.82);
  --ink-70:rgba(31,61,63,.72);
  --ink-60:rgba(31,61,63,.62);
  --paper:#FFFFFF;        /* surface — cards */
  --line:rgba(31,61,63,.10);
  --line-strong:rgba(31,61,63,.20);
  --muted:rgba(31,61,63,.55);
  --red:#FA3449;          /* crimson — accent ONLY (links/alerts), never a large fill */
  --coral:#FFC2D7;        /* rare soft accent */

  /* challenge category / phase hues — the four primary fills (overridable via tweaks) */
  --cat-material:#AFE0C7; /* mint */
  --cat-design:#AFCEDE;   /* sky */
  --cat-system:#252645;   /* navy */
  --cat-business:#1F3D3F; /* forest */

  --serif:'General Sans', system-ui, sans-serif;
  --sans:'General Sans', system-ui, sans-serif;
}

*{ box-sizing:border-box; margin:0; padding:0; }

html,body{ height:100%; }
body{
  font-family:var(--sans);
  background:#54534e;
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* viewport stage that letterboxes a fixed poster */
.stage{
  position:fixed; inset:0;
  display:flex; align-items:center; justify-content:center;
  overflow:auto;
  padding:32px;
}
.poster{
  flex:0 0 auto;
  transform-origin:center center;
  background:var(--cream);
  position:relative;
  overflow:hidden;
}

/* shared bits */
.kicker{
  font-weight:600; letter-spacing:.22em; text-transform:uppercase;
}
.wordmark{ font-style:italic; font-weight:700; letter-spacing:-.01em; }

@media print{
  body{ background:#fff; }
  .stage{ position:static; padding:0; display:block; overflow:visible; }
  .poster{ transform:none !important; box-shadow:none !important; }
}
