/* The sign-in page (pub/login.html): the game's paper look on its own, since a stranger gets none of css/. The palette
   and the textures are copies of the tokens in css/paper.css (the textures as written by scripts/paper/textures.js);
   change them there first. Ash paper for the page, the home screen's torn mint kicker and cream poster title, a cream
   torn sheet for the form, ink-outlined slab buttons that press into the page. */
@font-face { font-family: 'Anton'; font-style: normal; font-weight: 400; font-display: swap; src: url('/fonts/Anton-Regular.woff2') format('woff2'); }
@font-face { font-family: 'Rubik'; font-style: normal; font-weight: 300 900; font-display: swap; src: url('/fonts/Rubik-Variable.woff2') format('woff2'); }
@font-face { font-family: 'Caveat Brush'; font-style: normal; font-weight: 400; font-display: swap; src: url('/fonts/CaveatBrush-Regular.woff2') format('woff2'); }

:root {
  --ink: #17130f; --ink-soft: #4d453a; --ink-hint: #8a8070; --ink0: #0b0a08; --ink0-rgb: 11, 10, 8;
  --cream: #efe6cf; --cream-dim: #c8c0ad;
  --paper: #e8dfc8; --paper-hi: #f6f0df; --paper-lo: #d4c8aa; --paper-edge: #a99b7c;
  --ash: #2e2c28; --ash-hi: #3d3a34; --ash-lo: #211f1c; --ash-edge: #57524a;
  --mint: #6fe0b4; --mint-dk: #23855f; --mint-rgb: 111, 224, 180;
  --mustard: #e9ad2f; --mustard-dk: #7a520c;
  --crimson: #c23a2c; --crimson-rgb: 194, 58, 44; --pp-warn: #a83226;
  --font: 'Rubik', system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --font-display: 'Anton', 'Impact', 'Haettenschweiler', 'Arial Narrow Bold', sans-serif;
  --font-hand: 'Caveat Brush', 'Segoe Print', 'Bradley Hand', cursive;
  --ease-paper: cubic-bezier(0.22, 1.2, 0.36, 1);
  --tx-grain: url("data:image/png;base64,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");
  --tx-grain-light: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALQAAAC0BAMAAADP4xsBAAAAMFBMVEX///////////////////////////////////////////////////////////////9Or7hAAAAAEHRSTlMAESIzRFVmd4iZqrvM3e7/dpUBFQAAHqFJREFUeNo9m+2V7FirgwEnADgB2JWA3ZN/bnc98nnvn5lefbpc+wOEELJ5p1lf/qTnZnmaHU8fO23+truZ2daYmZ8IS/7Gc2pzyvixJzfW+sqtWDfLzrRyy8hxc9/0/Hn632SulR3LefgK2zK/x9Mys2Yry61Ol1XahsczNtF5lZXF5Lq5rUVZuvmkVWR1jVV2Vx6bzidv/rTXx7cjc+wEa9AT63hsZW52WcaGnZzIOfVqo3WsqoxPrefx8stPzOmYdNuM8C4zu596WLTb1p9ltbFBrxz+Z81x8d1baV5dZRxkGOfYWzUe5RPmuRbrnm6cmFdnep2j7ZVVG3+fFVWZzbbT+1RWeGZl26T5eljH9onItJiYn3M96z7XlNuvPdsztqamOIkJ04eDg03frryty993dtOvybbr36M349Yljnv7nOGCLV//sy12UWYeG9xix/SMW4fzP+dyIsPdcjvn9C/8EBw5iisucdJst6rcw055VFj55thfl3XfY4RSd295sQAOiVW03+U+axdbCPeymjxpWTbN8ZjuMqZ9x7jP5dj8eGY4S+Io/lznwL1m1kUO1BBj3IXFLz2LR///stt9/WrPmf47oy9Om5vg7re7yy2CUEp2ZTlWE3mswj3NCeB27jfbLQjTcSNEqvny1Hn6zN7TXnncaq7km1nka1VjwyLCd7ijtHzyr3x5Tlqux07xFVvJp8OW89Zttp/s3jTSyX5eWe3jxAXLrZPx2Bn38npI3uiHk/Q+NjXWx3r2nay/k3nW0uw3W7+jQzPncnb3cP5NENXuL3Or33V7ot5oQr3qBT2MlUx4nmV7nnvK2HOucURn3WK4pCmLisyruRxuei35cbLiIXUzuf0u8yDVxjjZcY7l9mQpzfX9zGyMj191zF9337vfScUFT7MKS78jLMiIyowI8/Mvxyc5n7xPj9UCk1G1f7OW71qDae2eC5iYwOAQXq89abVrQYyaZ4xbFfApxCRG43IbOxUex97qWts9LMtKn8n0zryUP+0+p7hCsiqUpVYr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");
  --tx-blotch: url("data:image/png;base64,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");
  --tx-torn: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120' width='120' height='120'%3E%3Cpath fill='white' d='M0.0 0.8L4.0 0.2L8.0 0.2L12.0 0.2L16.0 0.2L20.0 0.2L22.5 1.2L25.0 0.3L27.5 0.4L30.0 1.7L32.5 2.1L35.0 2.1L37.5 2.5L40.0 1.9L42.5 1.2L45.0 1.3L47.5 1.3L50.0 1.6L52.5 0.5L55.0 0.1L57.5 0.2L60.0 0.3L62.5 0.0L65.0 1.6L67.5 1.7L70.0 2.2L72.5 1.9L75.0 0.9L77.5 1.7L80.0 2.6L82.5 2.3L85.0 1.8L87.5 1.0L90.0 0.8L92.5 0.7L95.0 0.2L97.5 0.5L100.0 0.2L104.0 0.2L108.0 0.2L112.0 0.2L116.0 0.2L120.0 0.2L119.4 0.0L120.0 4.0L120.0 8.0L120.0 12.0L120.0 16.0L120.0 20.0L120.0 22.5L119.2 25.0L118.6 27.5L117.3 30.0L117.8 32.5L118.0 35.0L118.1 37.5L119.2 40.0L118.7 42.5L118.3 45.0L118.7 47.5L119.5 50.0L120.0 52.5L119.6 55.0L120.0 57.5L119.3 60.0L119.0 62.5L118.6 65.0L118.4 67.5L118.8 70.0L118.9 72.5L118.0 75.0L117.9 77.5L118.1 80.0L118.7 82.5L119.5 85.0L119.5 87.5L119.2 90.0L119.5 92.5L118.7 95.0L119.6 97.5L120.0 100.0L120.0 104.0L120.0 108.0L120.0 112.0L120.0 116.0L120.0 120.0L120.0 118.4L116.0 119.0L112.0 119.0L108.0 119.0L104.0 119.0L100.0 119.0L97.5 119.4L95.0 119.7L92.5 119.4L90.0 118.5L87.5 118.5L85.0 117.5L82.5 118.1L80.0 118.0L77.5 118.8L75.0 119.0L72.5 118.8L70.0 118.1L67.5 118.3L65.0 119.9L62.5 119.5L60.0 120.0L57.5 119.9L55.0 119.6L52.5 119.2L50.0 117.9L47.5 119.1L45.0 118.6L42.5 119.0L40.0 118.1L37.5 117.6L35.0 118.4L32.5 118.0L30.0 118.8L27.5 119.2L25.0 119.1L22.5 118.8L20.0 119.0L16.0 119.0L12.0 119.0L8.0 119.0L4.0 119.0L0.0 119.0L0.6 120.0L0.0 116.0L0.0 112.0L0.0 108.0L0.0 104.0L0.0 100.0L0.0 97.5L0.0 95.0L0.4 92.5L1.4 90.0L0.8 87.5L1.4 85.0L1.3 82.5L2.0 80.0L1.9 77.5L2.8 75.0L1.5 72.5L0.9 70.0L1.1 67.5L0.0 65.0L0.7 62.5L0.2 60.0L1.2 57.5L0.5 55.0L0.7 52.5L0.0 50.0L1.7 47.5L1.5 45.0L2.8 42.5L2.1 40.0L1.8 37.5L1.0 35.0L1.1 32.5L1.2 30.0L1.6 27.5L0.4 25.0L0.7 22.5L0.0 20.0L0.0 16.0L0.0 12.0L0.0 8.0L0.0 4.0L0.0 0.0Z'/%3E%3C/svg%3E");
  --tx-torn-sm: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120' width='120' height='120'%3E%3Cpath fill='white' d='M0.0 0.6L4.0 0.0L8.0 0.0L12.0 0.0L16.0 0.0L20.0 0.0L22.5 0.2L25.0 0.3L27.5 0.5L30.0 1.5L32.5 1.2L35.0 1.2L37.5 0.8L40.0 0.6L42.5 0.5L45.0 0.5L47.5 0.9L50.0 0.2L52.5 0.0L55.0 0.0L57.5 0.3L60.0 0.3L62.5 0.4L65.0 0.7L67.5 1.0L70.0 0.8L72.5 0.8L75.0 1.0L77.5 1.0L80.0 1.0L82.5 1.1L85.0 0.1L87.5 0.0L90.0 0.2L92.5 0.5L95.0 0.1L97.5 0.3L100.0 0.0L104.0 0.0L108.0 0.0L112.0 0.0L116.0 0.0L120.0 0.0L119.3 0.0L119.9 4.0L119.9 8.0L119.9 12.0L119.9 16.0L119.9 20.0L119.1 22.5L118.6 25.0L119.2 27.5L118.9 30.0L119.6 32.5L118.9 35.0L118.7 37.5L118.6 40.0L119.3 42.5L119.9 45.0L119.7 47.5L119.6 50.0L119.6 52.5L119.2 55.0L119.3 57.5L119.6 60.0L119.8 62.5L119.4 65.0L119.5 67.5L118.4 70.0L118.4 72.5L118.9 75.0L118.9 77.5L119.8 80.0L119.4 82.5L119.1 85.0L119.4 87.5L119.4 90.0L119.9 92.5L119.8 95.0L120.0 97.5L119.9 100.0L119.9 104.0L119.9 108.0L119.9 112.0L119.9 116.0L119.9 120.0L120.0 118.9L116.0 119.5L112.0 119.5L108.0 119.5L104.0 119.5L100.0 119.5L97.5 119.0L95.0 119.2L92.5 119.5L90.0 119.6L87.5 119.4L85.0 118.5L82.5 119.0L80.0 119.1L77.5 119.3L75.0 119.8L72.5 119.9L70.0 120.0L67.5 119.7L65.0 119.8L62.5 119.7L60.0 119.8L57.5 119.4L55.0 119.6L52.5 118.6L50.0 118.3L47.5 118.6L45.0 119.0L42.5 119.4L40.0 119.0L37.5 119.1L35.0 119.2L32.5 119.6L30.0 119.8L27.5 120.0L25.0 119.7L22.5 119.7L20.0 119.5L16.0 119.5L12.0 119.5L8.0 119.5L4.0 119.5L0.0 119.5L1.7 120.0L1.1 116.0L1.1 112.0L1.1 108.0L1.1 104.0L1.1 100.0L1.5 97.5L1.0 95.0L0.4 92.5L0.7 90.0L0.4 87.5L0.9 85.0L0.4 82.5L0.2 80.0L0.0 77.5L0.0 75.0L0.6 72.5L1.1 70.0L0.9 67.5L1.2 65.0L0.7 62.5L1.1 60.0L0.9 57.5L0.7 55.0L0.7 52.5L0.5 50.0L0.4 47.5L0.0 45.0L0.2 42.5L0.1 40.0L0.6 37.5L0.9 35.0L0.5 32.5L0.6 30.0L0.3 27.5L1.0 25.0L1.2 22.5L1.1 20.0L1.1 16.0L1.1 12.0L1.1 8.0L1.1 4.0L1.1 0.0Z'/%3E%3C/svg%3E");
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; min-height: 100vh; min-height: 100dvh; font-family: var(--font); font-size: 16px; line-height: 1.5; color: var(--cream);
  background: var(--tx-grain-light), radial-gradient(120% 80% at 50% 0%, var(--ash-hi), var(--ash) 55%, var(--ash-lo)); background-size: 180px 180px, auto; background-attachment: fixed; }
.gate { width: 100%; max-width: 480px; margin: 0 auto; padding: clamp(28px, 8vh, 72px) 16px 40px; display: flex; flex-direction: column; gap: 22px; }
/* the sign-in card and the owner's letter: side by side on a wide screen, the letter under the card on a phone */
.gate-cols { display: grid; gap: 34px; align-items: start; }
/* on a wide screen one grid: the title and the card on the left, the letter on the right from the top of the title
   strip down, and the terms and privacy links centred along the bottom of the page */
@media (min-width: 900px) {
  .gate { display: grid; max-width: 980px; min-height: 100vh; min-height: 100dvh; grid-template-columns: minmax(0, 448px) minmax(0, 1fr); grid-template-rows: auto auto 1fr auto;
    grid-template-areas: 'logo letter' 'card letter' '. letter' 'foot foot'; column-gap: 40px; row-gap: 22px; align-items: start; }
  .gate-cols { display: contents; }
  .gate-logo { grid-area: logo; margin: 0; }
  .gate-card { grid-area: card; }
  .gate .gate-letter { grid-area: letter; margin: var(--title-top, 24px) 4px 0; }
  .gate-foot { grid-area: foot; align-self: end; padding-top: 28px; }
}

/* the logo: a hand-lettered kicker on torn mint over the poster title on torn cream (the home screen's) */
.gate-logo { margin: 0 0 4px; }
.gate-kicker { position: relative; z-index: 2; margin: 0 0 -6px 8px; line-height: 0; transform: rotate(-2.5deg); transform-origin: 0 100%; }
.gate-kicker span { position: relative; isolation: isolate; display: inline-block; padding: 4px 18px 3px 16px; font-family: var(--font-hand); font-size: 22px; line-height: 1.1; color: var(--ink); }
.gate-title { margin: 0; font-family: var(--font-display); font-weight: 400; font-size: clamp(34px, 10vw, 50px); line-height: 1; letter-spacing: 0.01em; text-transform: uppercase; color: var(--ink); }
.gate-title span { position: relative; isolation: isolate; display: inline-block; padding: 16px 24px 8px 20px; transform: rotate(-1.2deg); }
.gate-kicker span::before, .gate-kicker span::after, .gate-title span::before, .gate-title span::after,
.gate-card::before, .gate-card::after, .gate-modal::before, .gate-modal::after { content: ''; position: absolute; inset: 0; pointer-events: none; }
.gate-kicker span::before, .gate-kicker span::after { -webkit-mask-box-image: var(--tx-torn-sm) 20 fill / 14px round; }
.gate-kicker span::before { z-index: -1; background: var(--tx-grain), var(--mint); background-size: 180px 180px, auto; }
.gate-kicker span::after { z-index: -2; transform: translate(3px, 4px); background: rgba(var(--ink0-rgb), 0.5); }
.gate-title span::before, .gate-title span::after { -webkit-mask-box-image: var(--tx-torn) 20 fill / 20px round; }
.gate-title span::before { z-index: -1; background: var(--tx-grain), var(--tx-blotch), var(--paper-hi); background-size: 180px 180px, cover, auto; }
.gate-title span::after { z-index: -2; transform: translate(6px, 7px); background: rgba(var(--ink0-rgb), 0.6); }

/* the sheet: cream torn paper with a print shadow, ink text */
.gate-card, .gate-modal { position: relative; isolation: isolate; padding: 26px 24px 24px; color: var(--ink); }
.gate-card::before, .gate-modal::before { z-index: -1; -webkit-mask-box-image: var(--tx-torn) 20 fill / 20px round; background: var(--tx-grain), var(--tx-blotch), var(--paper-hi); background-size: 180px 180px, cover, auto; }
.gate-card::after, .gate-modal::after { z-index: -2; -webkit-mask-box-image: var(--tx-torn) 20 fill / 20px round; transform: translate(6px, 8px); background: rgba(var(--ink0-rgb), 0.6); }
.gate-card.dealt { animation: gate-in 0.32s var(--ease-paper) both; }
@keyframes gate-in { from { transform: translateY(14px) rotate(0.6deg); opacity: 0; } to { transform: none; opacity: 1; } }
.gate-card h2, .gate-modal h2 { margin: 0 0 8px; font-family: var(--font-display); font-weight: 400; font-size: 30px; line-height: 1.05; letter-spacing: 0.02em; text-transform: uppercase; }
.gate-lead { margin: 0 0 18px; }
.gate-note { margin: 18px 0 0; font-size: 13.5px; color: var(--ink-soft); }
.gate-stamp { display: inline-block; margin: 0 0 10px; padding: 3px 10px 2px; font-family: var(--font-display); font-size: 15px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--paper-hi); background: var(--mint-dk); transform: rotate(-2deg); box-shadow: 2px 3px 0 rgba(var(--ink0-rgb), 0.5); }

/* the form */
.gate-form { display: flex; flex-direction: column; gap: 6px; }
.gate-form label { margin-top: 6px; font-size: 12.5px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-soft); }
.gate-form input { width: 100%; min-height: 46px; padding: 10px 12px; border: 0; border-radius: 2px; font: inherit; font-size: 17px; color: var(--ink); background: var(--paper-hi); box-shadow: inset 0 0 0 2px var(--ink), inset 3px 3px 0 rgba(var(--ink0-rgb), 0.12); }
.gate-form input::placeholder { color: var(--ink-hint); }
.gate-form input:focus-visible { outline: 3px solid var(--mint-dk); outline-offset: 2px; }
.gate-form input.gate-code { font-family: var(--font-display); font-size: 34px; letter-spacing: 0.3em; text-align: center; padding: 8px 12px 6px; }
.gate-hint { margin: 0; font-size: 13px; color: var(--ink-soft); }
.gate-robot { margin-top: 12px; min-height: 65px; }
.gate-form .gate-btn { margin-top: 16px; }
.gate-msg { min-height: 1.5em; margin: 12px 0 0; font-weight: 600; }
.gate-msg.bad { color: var(--pp-warn); }
.gate-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }

/* buttons: ink-outlined slabs that press into the page (css/paper.css .btn) */
.gate-btn { --b-bg: var(--paper-hi); --b-ink: var(--ink); min-height: 46px; padding: 10px 18px; border: 0; border-radius: 2px; cursor: pointer;
  font-family: var(--font); font-weight: 700; font-size: 14px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--b-ink);
  background: var(--tx-grain-light), var(--b-bg); background-size: 180px 180px, auto;
  box-shadow: 0 0 0 2px var(--ink0), 3px 4px 0 2px rgba(var(--ink0-rgb), 0.55);
  transition: transform 0.12s var(--ease-paper), box-shadow 0.12s; }
.gate-btn.primary { --b-bg: var(--mint); font-size: 15px; }
.gate-btn:hover { transform: translate(-1px, -1px); box-shadow: 0 0 0 2px var(--ink0), 4px 5px 0 2px rgba(var(--ink0-rgb), 0.55); }
.gate-btn:active { transform: translate(2px, 3px); box-shadow: 0 0 0 2px var(--ink0), 1px 1px 0 2px rgba(var(--ink0-rgb), 0.55); }
.gate-btn:focus-visible { outline: 3px solid var(--mint-dk); outline-offset: 4px; }
.gate-btn:disabled { opacity: 0.6; cursor: progress; transform: none; }

.gate-foot { display: flex; justify-content: center; gap: 10px; color: var(--cream-dim); font-size: 13px; }
.gate-link { padding: 4px 2px; border: 0; background: none; font: inherit; color: var(--cream-dim); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.gate-link.inline { padding: 0; color: var(--ink); font-weight: 600; }
.gate-link:focus-visible { outline: 3px solid var(--mint); outline-offset: 2px; }

/* the legal popup */
.gate-modal-back { position: fixed; inset: 0; z-index: 70; overflow-y: auto; padding: 32px 16px; background: rgba(var(--ink0-rgb), 0.72); }
.gate-modal { max-width: 640px; margin: 0 auto; }
.gate-eyebrow { margin: 0 0 4px; font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-soft); }
.gate-modal h3 { margin: 18px 0 6px; font-size: 16px; }
.gate-modal p, .gate-modal li { font-size: 14.5px; }
.gate-modal ul { padding-left: 20px; }

@media (prefers-reduced-motion: reduce) { .gate-card.dealt { animation: none; } .gate-btn { transition: none; } }

/* the letter: a ruled sheet of cream paper with a torn edge, taped on with a strip of mint tape, a little askew; the
   greeting and the signature in the hand-lettered face, the rest in the reading face */
.gate-letter { position: relative; isolation: isolate; margin: 10px 4px 0; padding: 34px 28px 26px 34px; color: var(--ink); font-size: 15.5px; line-height: 1.6; transform: rotate(0.8deg); }
.gate-letter::before, .gate-letter::after { content: ''; position: absolute; inset: 0; pointer-events: none; -webkit-mask-box-image: var(--tx-torn) 20 fill / 20px round; }
.gate-letter::before { z-index: -1; background-color: var(--paper-hi);
  background-image: repeating-linear-gradient(to bottom, transparent 0 24px, rgba(var(--ink0-rgb), 0.08) 24px 25px), linear-gradient(to right, transparent 22px, rgba(var(--crimson-rgb), 0.35) 22px 24px, transparent 24px), var(--tx-grain);
  background-size: auto, auto, 180px 180px; background-position: 0 28px, 0 0, 0 0; }
.gate-letter::after { content: ''; position: absolute; inset: 0; pointer-events: none; -webkit-mask-box-image: var(--tx-torn) 20 fill / 20px round; }
.gate-letter::before { z-index: -1;
  background: repeating-linear-gradient(to bottom, transparent 0 calc(1.6em - 1px), rgba(var(--ink0-rgb), 0.09) calc(1.6em - 1px) 1.6em) 0 30px / 100% 1.6em no-repeat,
    linear-gradient(to right, transparent 22px, rgba(var(--crimson-rgb), 0.35) 22px 24px, transparent 24px), var(--tx-grain), var(--paper-hi);
  background-size: 100% calc(100% - 30px), auto, 180px 180px, auto; background-repeat: repeat-y, no-repeat, repeat, no-repeat; }
.gate-letter::after { z-index: -2; transform: translate(6px, 8px); background: rgba(var(--ink0-rgb), 0.55); }
.gate-letter p { margin: 0 0 0.9em; }
.gate-letter .gl-hello, .gate-letter .gl-bye, .gate-letter .gl-sign { font-family: var(--font-hand); font-size: 26px; line-height: 1.2; }
.gate-letter .gl-hello { margin-bottom: 0.4em; }
.gate-letter .gl-bye { margin: 0.6em 0 0.1em; }
.gate-letter .gl-sign { margin: 0; text-align: right; padding-right: 12px; }
.gl-contacts { display: flex; flex-wrap: wrap; gap: 4px 18px; margin: 0 0 0.4em; padding: 0; list-style: none; font-size: 14.5px; }
.gl-contacts b { font-weight: 700; }
/* the tape */
.gate-letter .gl-hello::before { content: ''; position: absolute; top: -12px; left: 50%; width: 110px; height: 26px; translate: -50% 0; rotate: -3deg; background: var(--tx-grain), rgba(var(--mint-rgb), 0.78); background-size: 180px 180px, auto; box-shadow: 1px 2px 0 rgba(var(--ink0-rgb), 0.25); }
@media (max-width: 899px) { .gate-letter { transform: rotate(-0.6deg); } }
