/* hisaab's "radical bright" look: loud colours, thick ink borders, hard shadows. System fonts only. */
:root {
  --yellow: #FFE14D;
  --pink: #FF4FA3;
  --blue: #3D5AFE;
  --lime: #B6FF3B;
  --ink: #111111;
  --white: #FFFFFF;
  --muted: #55524C;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  background: var(--yellow);
  color: var(--ink);
  font-family: ui-rounded, "SF Pro Rounded", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  -webkit-text-size-adjust: 100%;
}

main {
  max-width: 520px;
  margin: 0 auto;
  padding: max(28px, env(safe-area-inset-top)) 16px 40px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.brand { margin: 0; font-size: 28px; font-weight: 900; letter-spacing: -1px; }
.brand.big { font-size: 64px; letter-spacing: -3px; margin-top: 24px; }
.brand span { color: var(--pink); }
a.brand { color: inherit; text-decoration: none; align-self: flex-start; }

h1 { margin: 8px 0 0; font-size: 46px; line-height: 0.95; font-weight: 900; letter-spacing: -2px; }

.lede { margin: 0; font-size: 18px; line-height: 1.4; }

.card {
  background: var(--white);
  border: 3px solid var(--ink);
  border-radius: 22px;
  box-shadow: 5px 5px 0 var(--ink);
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.card.soft { background: #FFF6C2; box-shadow: none; }
.card p { margin: 0; font-size: 15px; line-height: 1.45; }
.card[hidden] { display: none; }
.card h2 { margin: 0; font-size: 22px; line-height: 1.1; font-weight: 900; letter-spacing: -0.5px; }
.card ul { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; }
.card li { font-size: 15px; line-height: 1.45; }
.card a { color: inherit; font-weight: 700; word-break: break-word; }

.meta { margin: 0; font-size: 14px; color: var(--muted); }

.label { font-weight: 900; font-size: 13px !important; text-transform: uppercase; letter-spacing: 0.5px; }

.code {
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 34px !important;
  font-weight: 800;
  letter-spacing: 4px;
  word-break: break-all;
}

.button {
  display: block;
  text-align: center;
  text-decoration: none;
  font: inherit;
  font-weight: 900;
  font-size: 18px;
  color: var(--yellow);
  background: var(--ink);
  border: 3px solid var(--ink);
  border-radius: 999px;
  padding: 16px;
  cursor: pointer;
  width: 100%;
}
.button.ghost { color: var(--ink); background: var(--white); }
.button:active { transform: translate(2px, 2px); }

.tags { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; }
.tag {
  border: 3px solid var(--ink);
  border-radius: 999px;
  padding: 6px 14px;
  font-weight: 900;
  font-size: 15px;
}
.tag.lime { background: var(--lime); transform: rotate(-2deg); }
.tag.pink { background: var(--pink); }
.tag.blue { background: var(--blue); color: var(--white); transform: rotate(2deg); }

.foot { margin: 0; text-align: center; font-size: 14px; }
.foot a { color: var(--muted); }
