/* Generated from website/index.html by tools/build_hf_space.py. */ :root { /* color */ --bg: #F4F4F4; --surface: #FFFFFF; --surface-2: #F9F9F9; --ink: #111111; --ink-2: #464646; --ink-3: #666666; --rule: #D9D9D9; --grid: #E6E6E6; --select: #D6D6D6; --teal: #00B796; --coral: #FF7276; --coral-ink: #B5363F; --lav: #997ADB; --warm: #9E978E; --orange: #FFAA4D; --green: #8FE07A; --green-ink: #2C8F1F; --tint-teal: #8EDDCB; --tint-coral: #FFB4B6; --track: #EDEDED; /* value marks: 3:1 or more against the sheet */ --teal-mark: #00957A; --coral-mark: #E04F55; --warm-mark: #857E75; --orange-mark: #B35F00; /* type */ --font-display: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; --font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; --font-mono: "DM Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace; --fs-control: 0.9rem; --fs-control-sm: 0.84rem; --fs-meta: 0.8rem; --fs-label: 0.75rem; --fs-code: 0.82rem; --fs-caption: 0.84rem; --fs-small: 0.9rem; --fs-title: 1.02rem; --fs-body: 1.05rem; --ls-control: -0.006em; /* layout */ --col: 42rem; --wide: 76rem; --bar-h: 52px; /* without the hairline; 44px sideways (below) */ --s-1: 6px; /* spacing: the gaps between parts */ --s-2: 10px; --s-3: 14px; --s-4: 22px; --s-5: 28px; --s-6: 46px; --s-7: 64px; --gutter: clamp(16px, 3.2vw - 8px, 32px); /* radius: corners nest (inner = outer less the padding) */ --r-xs: 6px; --r-sm: 10px; --r-md: 13px; --r-lg: 16px; --r-xl: 20px; --sheet-r: clamp(22px, 3.4vw, 48px); /* fills: ink at low strength, for any surface and theme */ --wash-1: color-mix(in oklab, var(--ink) 4.5%, transparent); --wash-2: color-mix(in oklab, var(--ink) 7%, transparent); --wash-3: color-mix(in oklab, var(--ink) 10%, transparent); --wash-4: color-mix(in oklab, var(--ink) 14%, transparent); /* elevation */ --sheet-shadow: 0 1px 2px rgba(0, 0, 0, 0.04), 0 12px 32px -20px rgba(0, 0, 0, 0.2); --lift: #FFFFFF; --lift-shadow: 0 1px 2px rgba(0, 0, 0, 0.09), 0 0 0 0.5px rgba(0, 0, 0, 0.1); --pop: #FFFFFF; --pop-rule: rgba(0, 0, 0, 0.09); --pop-shadow: 0 22px 48px -18px rgba(0, 0, 0, 0.26), 0 4px 14px -6px rgba(0, 0, 0, 0.11); /* motion */ --ease: cubic-bezier(0.2, 0.8, 0.2, 1); --t-1: 0.15s; --t-2: 0.25s; --t-3: 0.4s; /* figures: ink on the light page, light on the dark one */ --halo: rgba(244, 244, 244, 0.92); /* behind words that lie over a figure */ --ink-dark: #111111; /* words on a light mark, in either theme */ --spark-a: #00957A; /* the predictions a repack changes: PACK3D's */ --spark-b: #E04F55; /* and packed RoPE's */ /* memory order: the opening, the repack window's strips, the end. Pale to deep on the light page */ --mem-0: #C9BAF3; --mem-1: #9C84E6; --mem-2: #7356D6; --mem-3: #4B3AB0; --mem-4: #271D69; --tip-shadow: 0 8px 20px -10px rgba(0, 0, 0, 0.45); } @media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --bg: #0E0E0E; --surface: #171717; --surface-2: #1B1B1B; --ink: #EDEDED; --ink-2: #BDBDBD; --ink-3: #9A9A9A; --rule: #2E2E2E; --grid: #242424; --select: #3B3B3B; --teal: #19AC8B; --coral: #C9474F; --coral-ink: #FF8F94; --lav: #9479D8; --warm: #A39C93; --orange: #FFB15E; --green: #7BD866; --green-ink: #8FE07A; --tint-teal: #1F5F51; --tint-coral: #6B2F33; --track: #202020; --teal-mark: #19AC8B; --coral-mark: #C9474F; --warm-mark: #A39C93; --orange-mark: #FFB15E; --sheet-shadow: 0 0 0 1px rgba(255, 255, 255, 0.06), 0 18px 40px -24px rgba(0, 0, 0, 0.8); --lift: rgba(255, 255, 255, 0.13); --lift-shadow: none; --pop: #1B1B1B; --pop-rule: rgba(255, 255, 255, 0.09); --pop-shadow: 0 24px 52px -16px rgba(0, 0, 0, 0.75), 0 4px 14px -6px rgba(0, 0, 0, 0.5); --halo: rgba(14, 14, 14, 0.9); --spark-a: #5FE0C3; --spark-b: #FF7276; --mem-0: #4B3AB0; --mem-1: #7356D6; --mem-2: #9A7DE6; --mem-3: #C9B6F4; --mem-4: #F7F3FE; color-scheme: dark; } } :root[data-theme="dark"] { --bg: #0E0E0E; --surface: #171717; --surface-2: #1B1B1B; --ink: #EDEDED; --ink-2: #BDBDBD; --ink-3: #9A9A9A; --rule: #2E2E2E; --grid: #242424; --select: #3B3B3B; --teal: #19AC8B; --coral: #C9474F; --coral-ink: #FF8F94; --lav: #9479D8; --warm: #A39C93; --orange: #FFB15E; --green: #7BD866; --green-ink: #8FE07A; --tint-teal: #1F5F51; --tint-coral: #6B2F33; --track: #202020; --teal-mark: #19AC8B; --coral-mark: #C9474F; --warm-mark: #A39C93; --orange-mark: #FFB15E; --sheet-shadow: 0 0 0 1px rgba(255, 255, 255, 0.06), 0 18px 40px -24px rgba(0, 0, 0, 0.8); --lift: rgba(255, 255, 255, 0.13); --lift-shadow: none; --pop: #1B1B1B; --pop-rule: rgba(255, 255, 255, 0.09); --pop-shadow: 0 24px 52px -16px rgba(0, 0, 0, 0.75), 0 4px 14px -6px rgba(0, 0, 0, 0.5); --halo: rgba(14, 14, 14, 0.9); --spark-a: #5FE0C3; --spark-b: #FF7276; --mem-0: #4B3AB0; --mem-1: #7356D6; --mem-2: #9A7DE6; --mem-3: #C9B6F4; --mem-4: #F7F3FE; color-scheme: dark; } .stage-window { position: relative; display: flex; overflow: hidden; color: var(--ink); margin: 36px calc(-1 * max(var(--gutter), env(safe-area-inset-right, 0px))) 0 calc(-1 * max(var(--gutter), env(safe-area-inset-left, 0px))); border-radius: var(--sheet-r); min-height: min(calc(100svh - var(--bar-h) - 1px - env(safe-area-inset-top, 0px)), 1040px); background: var(--surface); box-shadow: var(--sheet-shadow); } .sw-canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; touch-action: pan-y pinch-zoom; cursor: grab; pointer-events: auto; } .sw-canvas.grabbing { cursor: grabbing; } .sw-canvas:focus-visible { border-radius: var(--r-sm); } .sw-in { position: relative; z-index: 1; flex: 1; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr) auto auto; gap: clamp(14px, 2.4vh, 26px); width: 100%; min-width: 0; max-width: calc(var(--wide) + max(var(--gutter), env(safe-area-inset-left, 0px)) + max(var(--gutter), env(safe-area-inset-right, 0px))); margin-inline: auto; pointer-events: none; padding: clamp(28px, 5vh, 64px) max(var(--gutter), env(safe-area-inset-right, 0px)) clamp(28px, 5vh, 64px) max(var(--gutter), env(safe-area-inset-left, 0px)); } .sw-in .sw-head > *, .sw-in .sw-under > *, .sw-in .sw-foot > * { pointer-events: auto; } .sw-head { display: grid; gap: var(--s-3); } .sw-title { font-family: var(--font-display); font-weight: 340; font-size: clamp(1.6rem, 3.2vw, 2.8rem); line-height: 1.08; letter-spacing: -0.028em; text-wrap: balance; } .sw-cells { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(8px, 3vw, 40px); min-height: min(40svh, 560px); } /* shared rows, so strips and counts line up */ .sw-under { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 clamp(12px, 3vw, 40px); } .sw-col { min-width: 0; display: grid; grid-row: span 3; grid-template-rows: subgrid; align-content: start; } .sw-who { display: flex; flex-wrap: wrap; align-items: center; align-content: flex-start; gap: 4px 9px; font-weight: 600; font-size: var(--fs-title); } .sw-who small { font-weight: 500; font-size: var(--fs-meta); color: var(--ink-3); } .sw-strip { position: relative; height: 10px; margin-top: var(--s-2); border-radius: var(--r-xs); overflow: hidden; background: var(--wash-1); } .sw-strip canvas { position: absolute; inset: 0; width: 100%; height: 100%; } .sw-n { margin-top: var(--s-2); display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; } .sw-big { font-family: var(--font-display); font-weight: 360; font-size: clamp(1.7rem, 3.4vw, 2.6rem); letter-spacing: -0.03em; line-height: 1; font-variant-numeric: tabular-nums; } /* as wide as its final value (app.js sets data-max) */ .sw-big::after { content: attr(data-max); display: block; height: 0; overflow: hidden; visibility: hidden; } .sw-teal { color: var(--teal-mark); } .sw-coral { color: var(--coral-ink); } .sw-lab { font-family: var(--font-mono); font-size: var(--fs-label); color: var(--ink-3); overflow-wrap: anywhere; } .sw-foot { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2) var(--s-3); container-type: inline-size; } .sw-act { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); } @media (any-pointer: coarse) { .sw-act { row-gap: 12px; } } /* the longer label's width, within the foot */ #swGo { min-width: min(14.6em, 100cqw); } .sw-state { display: flex; align-items: flex-start; gap: 10px; font-size: var(--fs-small); color: var(--ink-2); } /* half the line height, less half the dot */ .sw-state i { flex: none; width: 8px; height: 8px; margin-top: calc(0.81em - 4px); border-radius: 50%; background: var(--ink-3); transition: background-color var(--t-2) var(--ease), box-shadow var(--t-2) var(--ease); } .sw-state.hot i { background: var(--ink); } /* the two longest states, unseen: one height through the repack */ .sw-state-t { display: grid; } .sw-state-t > * { grid-area: 1 / 1; } .sw-hold { visibility: hidden; } .sw-fallback { display: none; grid-column: 1 / -1; align-self: center; margin: 0 auto; max-width: 40ch; padding: 24px; color: var(--ink-2); text-align: center; } .stage-window.no-canvas .sw-canvas, .stage-window.no-canvas #swA, .stage-window.no-canvas #swB { display: none; } .stage-window.no-canvas .sw-fallback { display: block; } .stage-window.no-canvas + .sw-foot-note :is(.sw-cell-note, .hint) { display: none; } /* no cell to describe or turn */ .prose:has(+ .stage-window.no-canvas) .sw-cell-note { display: none; } .sw-foot-note { max-width: min(var(--col), 66ch); margin-left: max(0px, (100% - var(--col)) / 2); margin-right: auto; } @media (min-width: 641px) and (max-aspect-ratio: 1/1) { .stage-window { min-height: 0; } .sw-cells { min-height: 0; aspect-ratio: 2 / 1.15; } } @media (max-width: 640px) { .stage-window { min-height: 0; } .sw-in { padding-block: 20px; gap: var(--s-2); } .sw-cells { min-height: 0; aspect-ratio: 2 / 1; gap: var(--s-1); } .sw-who { font-size: var(--fs-small); } .sw-who small { flex-basis: 100%; } } /* a short phone (an iPhone SE, Safari's bars): the button reaches the screen */ @media (orientation: portrait) and (max-width: 640px) and (max-height: 640px) { .sw-in { padding-block: var(--s-3); gap: var(--s-2); } .sw-head { gap: var(--s-1); } .sw-title { font-size: 1.35rem; } .sw-cells { aspect-ratio: 2 / 0.7; } .sw-strip, .sw-n { margin-top: var(--s-1); } } @media (orientation: portrait) and (max-width: 360px) and (max-height: 600px) { .sw-in { padding-block: var(--s-2); gap: var(--s-1); } .sw-cells { aspect-ratio: 2 / 0.6; } } @media (orientation: landscape) and (max-height: 500px) { .stage-window { min-height: calc(100svh - var(--bar-h) - 1px); } .sw-in { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr) auto; gap: var(--s-2) clamp(16px, 3vw, 32px); padding-block: 16px; } .sw-head { grid-column: 1; grid-row: 1; gap: var(--s-1); } .sw-title { font-size: clamp(1.25rem, 2.6vw, 1.6rem); } .sw-under { grid-column: 1; grid-row: 2 / -1; align-self: start; } .sw-who small { flex-basis: 100%; } .sw-big { font-size: 1.6rem; } .sw-cells { grid-column: 2; grid-row: 1 / 3; min-height: 0; aspect-ratio: auto; gap: var(--s-1); } .sw-foot { grid-column: 2; grid-row: 3; } } /* Safari's bars showing (874 x 292) */ @media (orientation: landscape) and (max-height: 340px) { .sw-in { padding-block: var(--s-2); row-gap: var(--s-1); } .sw-title { font-size: var(--fs-body); } /* one line inside Safari's 62px insets */ .sw-strip, .sw-n { margin-top: var(--s-1); } }