/* Unmodified Google Fonts ofl/comfortaa/Comfortaa[wght].ttf and exact OFL.txt: upstream revision db64f6bde4ced22493138096badb4fe2f7f8f7a0. Font SHA-256: 0fc3f45dc48b614db9c39181502544b37217ecbf8bee2fb35886992bc96c5bd3. OFL covers the font only, not this wordmark or site code. */ @font-face { font-family: Comfortaa; src: url('/public/fonts/comfortaa/Comfortaa.ttf') format('truetype'); font-weight: 300 700; font-display: swap; } :root { color-scheme: light; --clay: oklch(0.64 0.140 35); --ochre: oklch(0.64 0.140 85); --patina: oklch(0.64 0.140 185); } * { box-sizing: border-box; } body { margin: 0; background: #fff; color: #000; font: 15px/1.6 system-ui, sans-serif; } .splash { min-height: calc(100svh - 76px); display: flex; align-items: center; padding: 70px 8vw; } .lockup { width: min(76vw, 850px); } h1 { margin: 0; } #wordmark { display: block; width: 100%; height: auto; overflow: visible; } #wordmark text { font: 700 180px Comfortaa, sans-serif; letter-spacing: -11.7px; fill: #000; stroke: #000; stroke-width: 5.04px; stroke-linejoin: round; } #wordmark .halo { opacity: .14; } .tagline { display: inline-flex; align-items: center; gap: 20px; margin: 24px 0 0 10px; min-height: 44px; color: #000; text-decoration: none; font: 500 clamp(18px, 2vw, 27px)/1.5 Comfortaa, sans-serif; } .tagline svg { width: 58px; height: 32px; transition: transform .2s ease; } .tagline:hover svg { transform: translateX(5px); } :focus-visible { outline: 2px solid #000; outline-offset: 5px; } .experiment { margin: 0 8vw 24px; max-width: 960px; } summary { cursor: pointer; min-height: 52px; padding: 12px 0; list-style: none; display: flex; align-items: center; gap: 18px; width: fit-content; color: #555; } summary::-webkit-details-marker { display: none; } summary span { font-size: 22px; font-weight: 300; } details[open] summary span { transform: rotate(45deg); } .panel { border-top: 1px solid #ddd; padding: 24px 0 16px; } .panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; } h2 { font-size: 19px; font-weight: 500; margin: 0; } p { max-width: 680px; color: #555; } .controls, .swatches { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 28px; } label { display: block; margin-bottom: 8px; } output { float: right; font-variant-numeric: tabular-nums; color: #555; } input, select, button { font: inherit; color: #000; } select, button { min-height: 44px; padding: 8px 12px; background: #fff; border: 1px solid #bbb; border-radius: 6px; } button { cursor: pointer; } button:hover { background: #f5f5f5; } select, input { width: 100%; min-width: 0; } input[type='range'] { accent-color: #000; height: 44px; margin: 0; } .sample { height: 64px; border-radius: 5px; margin-bottom: 12px; } .clay { background: var(--clay); fill: var(--clay); } .ochre { background: var(--ochre); fill: var(--ochre); } .patina { background: var(--patina); fill: var(--patina); } input[readonly] { border: 1px solid #ddd; border-radius: 4px; padding: 8px; min-height: 44px; font: 13px/1.5 ui-monospace, monospace; } .copy-row { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 24px; } #copy-status { color: #555; } .fine-print { font-size: 12px; } a { color: inherit; text-underline-offset: 3px; } @media (max-width: 600px) { .splash { padding-inline: 7vw; } .lockup { width: 86vw; } .tagline { gap: 14px; margin-left: 4px; margin-top: 20px; } .tagline svg { width: 44px; } .experiment { margin-inline: 7vw; } .controls, .swatches { grid-template-columns: 1fr; gap: 18px; } .sample { height: 52px; } .panel-heading { align-items: flex-start; } } @media (prefers-reduced-motion: reduce) { .tagline svg { transition: none; } }