clampography 2.0.0-beta.3 → 2.0.0-beta.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ @layer base{:where(:root){--spacing-xs:clamp(0.25rem, 0.0833rem + 0.8333vw, 0.75rem);--spacing-sm:clamp(0.375rem, 0.0833rem + 1.4583vw, 1.25rem);--spacing-md:clamp(0.5rem, 0.1667rem + 1.6667vw, 1.5rem);--spacing-lg:clamp(0.75rem, 0.1667rem + 2.9167vw, 2.5rem);--spacing-xl:clamp(1rem, 0.3333rem + 3.3333vw, 3rem);--list-indent:clamp(1.5rem, 1.3333rem + 0.8333vw, 2rem);--scroll-offset:5rem;--font-family-base:Inter, system-ui, -apple-system, 'Segoe UI Variable Display', 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif;--font-family-mono:ui-monospace, 'Cascadia Code', 'Cascadia Mono', 'Segoe UI Mono', 'Ubuntu Mono', SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;--clampography-v-min:20;--clampography-v-max:80;--clampography-h1-min:1.875;--clampography-h1-max:4;--clampography-h1-slope:calc((var(--clampography-h1-max) - var(--clampography-h1-min)) / (var(--clampography-v-max) - var(--clampography-v-min)));--clampography-h1-base:calc(var(--clampography-h1-min) - var(--clampography-h1-slope) * var(--clampography-v-min));--clampography-h1-size:clamp(calc(var(--clampography-h1-min) * 1rem), calc(var(--clampography-h1-base) * 1rem + var(--clampography-h1-slope) * 100vw), calc(var(--clampography-h1-max) * 1rem));--clampography-h2-min:1.25;--clampography-h2-max:3;--clampography-h2-slope:calc((var(--clampography-h2-max) - var(--clampography-h2-min)) / (var(--clampography-v-max) - var(--clampography-v-min)));--clampography-h2-base:calc(var(--clampography-h2-min) - var(--clampography-h2-slope) * var(--clampography-v-min));--clampography-h2-size:clamp(calc(var(--clampography-h2-min) * 1rem), calc(var(--clampography-h2-base) * 1rem + var(--clampography-h2-slope) * 100vw), calc(var(--clampography-h2-max) * 1rem));--clampography-h3-min:1.125;--clampography-h3-max:2.25;--clampography-h3-slope:calc((var(--clampography-h3-max) - var(--clampography-h3-min)) / (var(--clampography-v-max) - var(--clampography-v-min)));--clampography-h3-base:calc(var(--clampography-h3-min) - var(--clampography-h3-slope) * var(--clampography-v-min));--clampography-h3-size:clamp(calc(var(--clampography-h3-min) * 1rem), calc(var(--clampography-h3-base) * 1rem + var(--clampography-h3-slope) * 100vw), calc(var(--clampography-h3-max) * 1rem));--clampography-h4-min:1;--clampography-h4-max:1.5;--clampography-h4-slope:calc((var(--clampography-h4-max) - var(--clampography-h4-min)) / (var(--clampography-v-max) - var(--clampography-v-min)));--clampography-h4-base:calc(var(--clampography-h4-min) - var(--clampography-h4-slope) * var(--clampography-v-min));--clampography-h4-size:clamp(calc(var(--clampography-h4-min) * 1rem), calc(var(--clampography-h4-base) * 1rem + var(--clampography-h4-slope) * 100vw), calc(var(--clampography-h4-max) * 1rem));--clampography-h5-min:1;--clampography-h5-max:1;--clampography-h5-slope:calc((var(--clampography-h5-max) - var(--clampography-h5-min)) / (var(--clampography-v-max) - var(--clampography-v-min)));--clampography-h5-base:calc(var(--clampography-h5-min) - var(--clampography-h5-slope) * var(--clampography-v-min));--clampography-h5-size:clamp(calc(var(--clampography-h5-min) * 1rem), calc(var(--clampography-h5-base) * 1rem + var(--clampography-h5-slope) * 100vw), calc(var(--clampography-h5-max) * 1rem));--clampography-h6-min:0.875;--clampography-h6-max:0.875;--clampography-h6-slope:calc((var(--clampography-h6-max) - var(--clampography-h6-min)) / (var(--clampography-v-max) - var(--clampography-v-min)));--clampography-h6-base:calc(var(--clampography-h6-min) - var(--clampography-h6-slope) * var(--clampography-v-min));--clampography-h6-size:clamp(calc(var(--clampography-h6-min) * 1rem), calc(var(--clampography-h6-base) * 1rem + var(--clampography-h6-slope) * 100vw), calc(var(--clampography-h6-max) * 1rem));--clampography-heading-scale:1;--clampography-h1-scale:var(--clampography-heading-scale);--clampography-h2-scale:var(--clampography-heading-scale);--clampography-h3-scale:var(--clampography-heading-scale);--clampography-h4-scale:var(--clampography-heading-scale);--clampography-h5-scale:var(--clampography-heading-scale);--clampography-h6-scale:var(--clampography-heading-scale)}body{font-size:clamp(0.875rem, 0.7917rem + 0.4167vw, 1.125rem);line-height:1.75;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-wrap:pretty}:root :where(h1, h2, h3, h4, h5, h6){font-weight:600;scroll-margin-top:var(--scroll-offset)}:root h1{font-size:calc(var(--clampography-h1-size) * var(--clampography-h1-scale));line-height:1.1111;font-weight:800;margin-top:0;margin-bottom:var(--spacing-xl)}:root h2{font-size:calc(var(--clampography-h2-size) * var(--clampography-h2-scale));line-height:1.3333;font-weight:700;margin-top:var(--spacing-xl);margin-bottom:var(--spacing-md)}:root h3{font-size:calc(var(--clampography-h3-size) * var(--clampography-h3-scale));line-height:1.5;margin-top:var(--spacing-lg);margin-bottom:var(--spacing-sm)}:root h4{font-size:calc(var(--clampography-h4-size) * var(--clampography-h4-scale));line-height:1.5;margin-top:var(--spacing-lg);margin-bottom:var(--spacing-sm)}:root h5{font-size:calc(var(--clampography-h5-size) * var(--clampography-h5-scale));line-height:1.5;margin-top:var(--spacing-md);margin-bottom:var(--spacing-xs)}:root h6{font-size:calc(var(--clampography-h6-size) * var(--clampography-h6-scale));line-height:1.5;margin-top:var(--spacing-md);margin-bottom:var(--spacing-xs)}:root :is(h1, h2, h3, h4, h5, h6):first-child{margin-top:0}:root a{text-decoration-line:underline;cursor:pointer}:root :where(h1, h2, h3, h4, h5, h6) a{text-decoration:none}:root menu{list-style:none;margin-bottom:var(--spacing-md);padding-inline-start:0}:root menu > li::before{display:none}:root hgroup{margin-bottom:var(--spacing-lg)}:root hgroup :where(h1, h2, h3, h4, h5, h6){margin-bottom:var(--spacing-xs)}:root hgroup :where(p){margin-top:0;margin-bottom:0;font-size:0.875em;font-weight:400;line-height:1.5}:root p{line-height:1.75;margin-bottom:var(--spacing-md)}:root :where(strong, b){font-weight:700}:root :where(em, i, cite, var){font-style:italic}:root dfn{font-style:italic;font-weight:600}:root small{font-size:0.875em;line-height:1.5}:root :where(code, kbd, samp){font-family:var(--font-family-mono);font-size:0.875em;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}:root kbd{font-weight:600}:root data{font-variant-numeric:tabular-nums}:root :where(sub, sup){font-size:0.75em;line-height:0;position:relative;vertical-align:baseline}:root sup{top:-0.5em}:root sub{bottom:-0.25em}:root abbr[title]{text-decoration:underline dotted;text-underline-offset:4px;cursor:help}:root del{text-decoration:line-through}:root ins{text-decoration:underline}:root s{text-decoration:line-through}:root u{text-decoration:underline}:root mark{font-style:normal;font-weight:inherit}:root address{font-style:italic;margin-top:var(--spacing-md);margin-bottom:var(--spacing-md)}:root time{font-style:normal;font-variant-numeric:tabular-nums}:root blockquote{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-lg);padding-inline-start:var(--spacing-md)}:root blockquote blockquote{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-sm);padding-inline-start:var(--spacing-sm)}:root q{font-style:inherit}:root :where(ul, ol){list-style:none;margin-bottom:var(--spacing-md);padding-inline-start:var(--list-indent)}:root li{position:relative}:root li + li{margin-top:var(--spacing-xs)}:root li > :where(p, dl, figure, table, pre){margin-top:0;margin-bottom:0}:root li > blockquote{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-sm)}:root li > :where(ul, ol){margin-top:var(--spacing-xs);margin-bottom:0}:root ul > li::before{content:'';position:absolute;inset-inline-end:100%;margin-inline-end:0.75em;top:0.65em;width:0.375em;height:0.375em;background-color:currentColor;border-radius:50%}:root ol{counter-reset:list-counter}:root ol > li{counter-increment:list-counter}:root ol > li::before{content:counter(list-counter) '.';position:absolute;inset-inline-end:100%;margin-inline-end:0.5em;font-weight:600;font-variant-numeric:tabular-nums;text-align:end;color:currentColor}:root dl{margin-top:var(--spacing-md);margin-bottom:var(--spacing-md)}:root dt{font-weight:600;margin-top:var(--spacing-sm)}:root dt:first-child{margin-top:0}:root dd{margin-inline-start:var(--spacing-md)}:root dt + dd{margin-top:var(--spacing-xs)}:root dd + dd{margin-top:var(--spacing-xs)}:root dd:last-child{margin-bottom:0}:root pre{margin-top:var(--spacing-md);margin-bottom:var(--spacing-md);font-family:var(--font-family-mono);line-height:1.6;overflow-x:auto;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}:root pre code{font-size:inherit;padding:0;background:none;border-radius:0}:root input, :root button, :root textarea, :root select, :root optgroup{font-family:inherit;font-size:100%;line-height:inherit}:root textarea{line-height:1.5}:root button, :root [type='button'], :root [type='reset'], :root [type='submit']{cursor:pointer}:root fieldset{margin-top:var(--spacing-md);margin-bottom:var(--spacing-md);padding:var(--spacing-sm)}:root legend{font-weight:600;padding:0 var(--spacing-xs)}:root label{display:inline-block;font-weight:600;margin-bottom:var(--spacing-xs)}:root output{display:inline-block;font-variant-numeric:tabular-nums}:root :where(meter, progress){display:inline-block;vertical-align:middle}:root :where(img, video, canvas, audio, iframe, svg){max-width:100%;height:auto;vertical-align:middle}:root figure{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-lg)}:root figcaption{margin-top:0.375rem;font-size:0.875em;line-height:1.5}:root table{width:100%;margin-top:var(--spacing-md);margin-bottom:var(--spacing-md);border-collapse:collapse;font-size:1em;line-height:1.6}:root caption{margin-bottom:var(--spacing-xs);font-size:0.875em;font-weight:600;text-align:start}:root th, :root td{padding:var(--spacing-xs) var(--spacing-sm);text-align:start}:root th{font-weight:600}:root thead th{vertical-align:bottom}:root tbody th, :root tbody td{vertical-align:top}:root tfoot th, :root tfoot td{vertical-align:top}:root tbody + tbody{border-top-width:2px}:root hr{margin-top:var(--spacing-xl);margin-bottom:var(--spacing-xl);border:0;border-top:1px solid}:root :where(:focus, :focus-visible){outline-offset:2px}:root details{margin-top:var(--spacing-md);margin-bottom:var(--spacing-md)}:root summary{cursor:pointer;font-weight:600}:root details[open] > summary{margin-bottom:var(--spacing-xs)}:root dialog{font-size:inherit;line-height:inherit}:root :where(h1, h2, h3, h4, h5, h6, p, ul:not(li > ul, li > ol), ol:not(li > ul, li > ol), dl, blockquote, figure, table, pre):first-child{margin-top:0}:root :where(p, ul, ol, dl, blockquote, figure, table, pre):last-child{margin-bottom:0}}@layer base{:where(:root){color-scheme:light;--clampography-background:oklch(100.0% 0.000 89.9);--clampography-border:oklch(94.6% 0.000 89.9);--clampography-error:oklch(65.4% 0.229 27.0);--clampography-heading:oklch(15.0% 0.021 264.3);--clampography-info:oklch(68.3% 0.166 259.7);--clampography-link:oklch(60.3% 0.216 259.8);--clampography-muted:oklch(51.9% 0.014 259.8);--clampography-primary:oklch(60.3% 0.216 259.8);--clampography-secondary:oklch(54.9% 0.280 300.0);--clampography-success:oklch(75.8% 0.166 161.7);--clampography-surface:oklch(98.5% 0.000 89.9);--clampography-text:oklch(31.1% 0.020 257.3);--clampography-warning:oklch(79.9% 0.136 72.2)}@media (prefers-color-scheme: dark){:root{color-scheme:dark;--clampography-background:oklch(13.3% 0.016 284.0);--clampography-border:oklch(43.4% 0.006 258.3);--clampography-error:oklch(62.9% 0.220 27.0);--clampography-heading:oklch(94.6% 0.000 89.9);--clampography-info:oklch(71.2% 0.155 251.4);--clampography-link:oklch(75.3% 0.133 248.6);--clampography-muted:oklch(68.9% 0.006 264.5);--clampography-primary:oklch(75.3% 0.133 248.6);--clampography-secondary:oklch(62.6% 0.243 301.2);--clampography-success:oklch(66.3% 0.148 160.6);--clampography-surface:oklch(21.2% 0.009 255.6);--clampography-text:oklch(88.8% 0.007 268.5);--clampography-warning:oklch(72.1% 0.164 63.1)}}[data-theme="dark"]{color-scheme:dark;--clampography-background:oklch(13.3% 0.016 284.0);--clampography-border:oklch(43.4% 0.006 258.3);--clampography-error:oklch(62.9% 0.220 27.0);--clampography-heading:oklch(94.6% 0.000 89.9);--clampography-info:oklch(71.2% 0.155 251.4);--clampography-link:oklch(75.3% 0.133 248.6);--clampography-muted:oklch(68.9% 0.006 264.5);--clampography-primary:oklch(75.3% 0.133 248.6);--clampography-secondary:oklch(62.6% 0.243 301.2);--clampography-success:oklch(66.3% 0.148 160.6);--clampography-surface:oklch(21.2% 0.009 255.6);--clampography-text:oklch(88.8% 0.007 268.5);--clampography-warning:oklch(72.1% 0.164 63.1)}[data-theme="light"]{color-scheme:light;--clampography-background:oklch(100.0% 0.000 89.9);--clampography-border:oklch(94.6% 0.000 89.9);--clampography-error:oklch(65.4% 0.229 27.0);--clampography-heading:oklch(15.0% 0.021 264.3);--clampography-info:oklch(68.3% 0.166 259.7);--clampography-link:oklch(60.3% 0.216 259.8);--clampography-muted:oklch(51.9% 0.014 259.8);--clampography-primary:oklch(60.3% 0.216 259.8);--clampography-secondary:oklch(54.9% 0.280 300.0);--clampography-success:oklch(75.8% 0.166 161.7);--clampography-surface:oklch(98.5% 0.000 89.9);--clampography-text:oklch(31.1% 0.020 257.3);--clampography-warning:oklch(79.9% 0.136 72.2)}}@layer base{:where(:root){--clampography-transition-duration:200ms}body{background-color:var(--clampography-background);color:var(--clampography-text);font-family:var(--font-sans, var(--font-family-base));transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-duration:var(--clampography-transition-duration, 200ms);transition-timing-function:ease}:root :where(h1, h2, h3, h4, h5, h6){color:var(--clampography-heading)}:root a{color:var(--clampography-link);font-weight:600;letter-spacing:0.025em;text-decoration-line:underline;text-decoration-thickness:2px;text-underline-offset:4px;text-decoration-color:color-mix(in oklab, var(--clampography-link) 30%, transparent);transition-property:color, text-decoration-color;transition-duration:150ms}:root a:hover{text-decoration-color:var(--clampography-link)}:root ul > li::before{background-color:var(--clampography-primary)}:root ol > li::before{color:var(--clampography-primary)}:root :where(code:not(pre code), kbd, samp){background-color:var(--clampography-surface);color:var(--clampography-heading);border:1px solid var(--clampography-border);border-radius:0.25rem;padding:0.125rem var(--spacing-xs);white-space:nowrap}:root kbd{transform:translateY(-0.15em)}:root pre{background-color:var(--clampography-surface);border:1px solid var(--clampography-border);border-radius:0.375rem;padding:var(--spacing-md)}:root table{padding:var(--spacing-sm);border:1px solid var(--clampography-border)}:root th{color:var(--clampography-heading)}:root th, :root td{border:1px solid var(--clampography-border)}:root thead th{border-bottom-width:2px}:root tbody tr:nth-child(even){background-color:var(--clampography-surface)}:root caption, :root figcaption, :root .muted{color:var(--clampography-muted)}:root hr{height:1px;border-width:0;margin-top:var(--spacing-xl);margin-bottom:var(--spacing-xl);background-color:var(--clampography-border)}:root blockquote{border-inline-start-width:4px;border-inline-start-color:var(--clampography-primary);background-color:var(--clampography-surface);padding:var(--spacing-md);border-radius:0.25rem;font-style:italic;color:var(--clampography-heading)}:root mark{background-color:var(--clampography-primary);color:var(--clampography-background);padding:0.125rem var(--spacing-xs);border-radius:0.25rem}:root del{text-decoration-color:var(--clampography-error);text-decoration-thickness:2px}:root details{border:1px solid var(--clampography-border);border-radius:0.375rem;padding:var(--spacing-sm)}:root summary{color:var(--clampography-heading);border-bottom:0px solid var(--clampography-border)}:root details[open] > summary{border-bottom-width:1px;padding-bottom:var(--spacing-sm)}@media (prefers-reduced-motion: reduce){body{transition:none;--clampography-transition-duration:0ms}}@media (prefers-contrast: more){body{background-color:white;color:black}:root :where(h1, h2, h3, h4, h5, h6){color:black}:root a{color:black;text-decoration:underline;text-decoration-thickness:2px;font-weight:700}:root :where(code:not(pre code), kbd, samp){background-color:#f0f0f0;color:black;border:2px solid black}:root pre{background-color:#f0f0f0;color:black;border:2px solid black}:root blockquote{background-color:#f0f0f0;border-inline-start-color:black;border-inline-start-width:6px;color:black}:root th, :root td{border:2px solid black}:root hr{background-color:black;height:2px}}}@layer base{:root :where(button, [type='button'], [type='reset'], [type='submit']){display:inline-flex;align-items:center;justify-content:center;gap:0.375em;padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--clampography-surface);color:var(--clampography-text);border:1px solid var(--clampography-border);border-radius:0.375rem;font-weight:500;white-space:nowrap;transition-property:background-color, border-color, color, box-shadow;transition-duration:150ms}:root :where(button, [type='button'], [type='reset'], [type='submit']):hover{background-color:var(--clampography-background);border-color:var(--clampography-primary)}:root :where(button, [type='button'], [type='submit']).primary, :root [type='submit']{background-color:var(--clampography-primary);color:var(--clampography-background);border-color:var(--clampography-primary)}:root :where(button, [type='button'], [type='submit']).primary:hover, :root [type='submit']:hover{filter:brightness(1.1)}:root :where(input:not([type='checkbox'], [type='radio'], [type='range'], [type='color']), textarea, select){display:block;width:100%;padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--clampography-background);color:var(--clampography-text);border:1px solid var(--clampography-border);border-radius:0.375rem;transition-property:border-color, box-shadow;transition-duration:150ms}:root :where(input:not([type='checkbox'], [type='radio'], [type='range'], [type='color']), textarea, select):focus{outline:none;border-color:var(--clampography-primary);box-shadow:0 0 0 3px color-mix(in oklab, var(--clampography-primary) 20%, transparent)}:root :where(input, textarea, select):disabled{opacity:0.5;cursor:not-allowed}:root :where(input, textarea, select)[readonly]{background-color:color-mix(in oklab, var(--clampography-surface) 50%, transparent);cursor:default}:root :where(input, textarea, select):user-invalid{border-color:var(--clampography-error)}:root :where(input, textarea, select):user-invalid:focus{box-shadow:0 0 0 3px color-mix(in oklab, var(--clampography-error) 20%, transparent)}:root [type='search']::-webkit-search-cancel-button, :root [type='search']::-webkit-search-decoration{-webkit-appearance:none;appearance:none}:root [type='number']::-webkit-inner-spin-button, :root [type='number']::-webkit-outer-spin-button{height:auto}:root :where(input, textarea, select)::placeholder{color:var(--clampography-muted)}:root select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");background-position:inline-end 0.5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-inline-end:2.5rem}:root [type='file']{padding:0;background-color:transparent;border:none;cursor:pointer}:root [type='file']::file-selector-button{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);margin-inline-end:var(--spacing-sm);background-color:var(--clampography-surface);color:var(--clampography-text);border:1px solid var(--clampography-border);border-radius:0.375rem;font-family:inherit;font-size:inherit;cursor:pointer;transition-property:background-color, border-color;transition-duration:150ms}:root [type='file']:hover::file-selector-button{background-color:var(--clampography-background);border-color:var(--clampography-primary)}:root [type='checkbox'], :root [type='radio']{width:1em;height:1em;accent-color:var(--clampography-primary);vertical-align:middle;cursor:pointer}:root [type='checkbox']:focus-visible, :root [type='radio']:focus-visible{outline:2px solid var(--clampography-primary);outline-offset:2px}:root [type='range']{accent-color:var(--clampography-primary);width:100%;cursor:pointer}:root [type='color']{padding:0.125rem;width:2.5rem;height:2.5rem;border:1px solid var(--clampography-border);border-radius:0.375rem;background-color:var(--clampography-background);cursor:pointer}:root fieldset{border:1px solid var(--clampography-border);border-radius:0.5rem;background-color:var(--clampography-surface)}:root legend{color:var(--clampography-heading)}:root label{color:var(--clampography-text)}:root output{color:var(--clampography-primary);font-weight:600}:root progress{-webkit-appearance:none;appearance:none;width:100%;height:1em;background:transparent}:root progress::-webkit-progress-bar{background:color-mix(in oklab, var(--clampography-text) 20%, transparent)}:root progress::-webkit-progress-value{background:var(--clampography-success)}:root progress::-moz-progress-bar{background:var(--clampography-success)}:root meter{-webkit-appearance:none;appearance:none;width:100%;height:1em;background:transparent}@supports (-moz-appearance: none){:root progress{background:color-mix(in oklab, var(--clampography-text) 20%, transparent)}:root meter{background:color-mix(in oklab, var(--clampography-text) 20%, transparent)}}:root meter::-webkit-meter-inner-element{display:flex;align-items:stretch;height:1em}:root meter::-webkit-meter-bar{background:color-mix(in oklab, var(--clampography-text) 20%, transparent);height:100%}:root meter::-webkit-meter-optimum-value{background:var(--clampography-success);height:100%}:root meter:-moz-meter-optimum::-moz-meter-bar{background:var(--clampography-success)}:root meter::-webkit-meter-suboptimum-value{background:var(--clampography-warning);height:100%}:root meter:-moz-meter-sub-optimum::-moz-meter-bar{background:var(--clampography-warning)}:root meter::-webkit-meter-even-less-good-value{background:var(--clampography-error);height:100%}:root meter:-moz-meter-sub-sub-optimum::-moz-meter-bar{background:var(--clampography-error)}}@layer base{:root kbd{display:inline-block;padding:0.1em 0.45em;min-width:2em;text-align:center;font-size:0.8em;font-weight:700;line-height:1.5;white-space:nowrap;vertical-align:0.1em;cursor:default;user-select:none;background-color:var(--clampography-surface, oklch(94% 0.004 264));color:var(--clampography-text, oklch(18% 0.015 264));border:1px solid var(--clampography-border, oklch(76% 0.008 264));border-radius:4px;box-shadow:0 2px 0 color-mix(in oklab, var(--clampography-border, oklch(60% 0.008 264)) 100%, black 18%), 0 3px 2px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.5);transition-property:box-shadow, transform, border-bottom-width;transition-duration:80ms}:root kbd:active{transform:translateY(2px);box-shadow:0 0 0 color-mix(in oklab, var(--clampography-border, oklch(60% 0.008 264)) 100%, black 18%), 0 1px 1px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.3)}}
package/css/extra.css ADDED
@@ -0,0 +1,189 @@
1
+ @layer base {
2
+
3
+ :where(:root) {
4
+ --clampography-transition-duration: 200ms;
5
+ }
6
+
7
+ body {
8
+ background-color: var(--clampography-background);
9
+ color: var(--clampography-text);
10
+ font-family: var(--font-sans, var(--font-family-base));
11
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
12
+ transition-duration: var(--clampography-transition-duration, 200ms);
13
+ transition-timing-function: ease;
14
+ }
15
+
16
+ :root :where(h1, h2, h3, h4, h5, h6) {
17
+ color: var(--clampography-heading);
18
+ }
19
+
20
+ :root a {
21
+ color: var(--clampography-link);
22
+ font-weight: 600;
23
+ letter-spacing: 0.025em;
24
+ text-decoration-line: underline;
25
+ text-decoration-thickness: 2px;
26
+ text-underline-offset: 4px;
27
+ text-decoration-color: color-mix(in oklab, var(--clampography-link) 30%, transparent);
28
+ transition-property: color, text-decoration-color;
29
+ transition-duration: 150ms;
30
+ }
31
+
32
+ :root a:hover {
33
+ text-decoration-color: var(--clampography-link);
34
+ }
35
+
36
+ :root ul > li::before {
37
+ background-color: var(--clampography-primary);
38
+ }
39
+
40
+ :root ol > li::before {
41
+ color: var(--clampography-primary);
42
+ }
43
+
44
+ :root :where(code:not(pre code), kbd, samp) {
45
+ background-color: var(--clampography-surface);
46
+ color: var(--clampography-heading);
47
+ border: 1px solid var(--clampography-border);
48
+ border-radius: 0.25rem;
49
+ padding: 0.125rem var(--spacing-xs);
50
+ white-space: nowrap;
51
+ }
52
+
53
+ :root kbd {
54
+ transform: translateY(-0.15em);
55
+ }
56
+
57
+ :root pre {
58
+ background-color: var(--clampography-surface);
59
+ border: 1px solid var(--clampography-border);
60
+ border-radius: 0.375rem;
61
+ padding: var(--spacing-md);
62
+ }
63
+
64
+ :root table {
65
+ padding: var(--spacing-sm);
66
+ border: 1px solid var(--clampography-border);
67
+ }
68
+
69
+ :root th {
70
+ color: var(--clampography-heading);
71
+ }
72
+
73
+ :root th, :root td {
74
+ border: 1px solid var(--clampography-border);
75
+ }
76
+
77
+ :root thead th {
78
+ border-bottom-width: 2px;
79
+ }
80
+
81
+ :root tbody tr:nth-child(even) {
82
+ background-color: var(--clampography-surface);
83
+ }
84
+
85
+ :root caption, :root figcaption, :root .muted {
86
+ color: var(--clampography-muted);
87
+ }
88
+
89
+ :root hr {
90
+ height: 1px;
91
+ border-width: 0;
92
+ margin-top: var(--spacing-xl);
93
+ margin-bottom: var(--spacing-xl);
94
+ background-color: var(--clampography-border);
95
+ }
96
+
97
+ :root blockquote {
98
+ border-inline-start-width: 4px;
99
+ border-inline-start-color: var(--clampography-primary);
100
+ background-color: var(--clampography-surface);
101
+ padding: var(--spacing-md);
102
+ border-radius: 0.25rem;
103
+ font-style: italic;
104
+ color: var(--clampography-heading);
105
+ }
106
+
107
+ :root mark {
108
+ background-color: var(--clampography-primary);
109
+ color: var(--clampography-background);
110
+ padding: 0.125rem var(--spacing-xs);
111
+ border-radius: 0.25rem;
112
+ }
113
+
114
+ :root del {
115
+ text-decoration-color: var(--clampography-error);
116
+ text-decoration-thickness: 2px;
117
+ }
118
+
119
+ :root details {
120
+ border: 1px solid var(--clampography-border);
121
+ border-radius: 0.375rem;
122
+ padding: var(--spacing-sm);
123
+ }
124
+
125
+ :root summary {
126
+ color: var(--clampography-heading);
127
+ border-bottom: 0px solid var(--clampography-border);
128
+ }
129
+
130
+ :root details[open] > summary {
131
+ border-bottom-width: 1px;
132
+ padding-bottom: var(--spacing-sm);
133
+ }
134
+
135
+ @media (prefers-reduced-motion: reduce) {
136
+
137
+ body {
138
+ transition: none;
139
+ --clampography-transition-duration: 0ms;
140
+ }
141
+ }
142
+
143
+ @media (prefers-contrast: more) {
144
+
145
+ body {
146
+ background-color: white;
147
+ color: black;
148
+ }
149
+
150
+ :root :where(h1, h2, h3, h4, h5, h6) {
151
+ color: black;
152
+ }
153
+
154
+ :root a {
155
+ color: black;
156
+ text-decoration: underline;
157
+ text-decoration-thickness: 2px;
158
+ font-weight: 700;
159
+ }
160
+
161
+ :root :where(code:not(pre code), kbd, samp) {
162
+ background-color: #f0f0f0;
163
+ color: black;
164
+ border: 2px solid black;
165
+ }
166
+
167
+ :root pre {
168
+ background-color: #f0f0f0;
169
+ color: black;
170
+ border: 2px solid black;
171
+ }
172
+
173
+ :root blockquote {
174
+ background-color: #f0f0f0;
175
+ border-inline-start-color: black;
176
+ border-inline-start-width: 6px;
177
+ color: black;
178
+ }
179
+
180
+ :root th, :root td {
181
+ border: 2px solid black;
182
+ }
183
+
184
+ :root hr {
185
+ background-color: black;
186
+ height: 2px;
187
+ }
188
+ }
189
+ }
@@ -0,0 +1 @@
1
+ @layer base{:where(:root){--clampography-transition-duration:200ms}body{background-color:var(--clampography-background);color:var(--clampography-text);font-family:var(--font-sans, var(--font-family-base));transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-duration:var(--clampography-transition-duration, 200ms);transition-timing-function:ease}:root :where(h1, h2, h3, h4, h5, h6){color:var(--clampography-heading)}:root a{color:var(--clampography-link);font-weight:600;letter-spacing:0.025em;text-decoration-line:underline;text-decoration-thickness:2px;text-underline-offset:4px;text-decoration-color:color-mix(in oklab, var(--clampography-link) 30%, transparent);transition-property:color, text-decoration-color;transition-duration:150ms}:root a:hover{text-decoration-color:var(--clampography-link)}:root ul > li::before{background-color:var(--clampography-primary)}:root ol > li::before{color:var(--clampography-primary)}:root :where(code:not(pre code), kbd, samp){background-color:var(--clampography-surface);color:var(--clampography-heading);border:1px solid var(--clampography-border);border-radius:0.25rem;padding:0.125rem var(--spacing-xs);white-space:nowrap}:root kbd{transform:translateY(-0.15em)}:root pre{background-color:var(--clampography-surface);border:1px solid var(--clampography-border);border-radius:0.375rem;padding:var(--spacing-md)}:root table{padding:var(--spacing-sm);border:1px solid var(--clampography-border)}:root th{color:var(--clampography-heading)}:root th, :root td{border:1px solid var(--clampography-border)}:root thead th{border-bottom-width:2px}:root tbody tr:nth-child(even){background-color:var(--clampography-surface)}:root caption, :root figcaption, :root .muted{color:var(--clampography-muted)}:root hr{height:1px;border-width:0;margin-top:var(--spacing-xl);margin-bottom:var(--spacing-xl);background-color:var(--clampography-border)}:root blockquote{border-inline-start-width:4px;border-inline-start-color:var(--clampography-primary);background-color:var(--clampography-surface);padding:var(--spacing-md);border-radius:0.25rem;font-style:italic;color:var(--clampography-heading)}:root mark{background-color:var(--clampography-primary);color:var(--clampography-background);padding:0.125rem var(--spacing-xs);border-radius:0.25rem}:root del{text-decoration-color:var(--clampography-error);text-decoration-thickness:2px}:root details{border:1px solid var(--clampography-border);border-radius:0.375rem;padding:var(--spacing-sm)}:root summary{color:var(--clampography-heading);border-bottom:0px solid var(--clampography-border)}:root details[open] > summary{border-bottom-width:1px;padding-bottom:var(--spacing-sm)}@media (prefers-reduced-motion: reduce){body{transition:none;--clampography-transition-duration:0ms}}@media (prefers-contrast: more){body{background-color:white;color:black}:root :where(h1, h2, h3, h4, h5, h6){color:black}:root a{color:black;text-decoration:underline;text-decoration-thickness:2px;font-weight:700}:root :where(code:not(pre code), kbd, samp){background-color:#f0f0f0;color:black;border:2px solid black}:root pre{background-color:#f0f0f0;color:black;border:2px solid black}:root blockquote{background-color:#f0f0f0;border-inline-start-color:black;border-inline-start-width:6px;color:black}:root th, :root td{border:2px solid black}:root hr{background-color:black;height:2px}}}
@@ -0,0 +1,110 @@
1
+ {
2
+ "dark": {
3
+ "background": {
4
+ "$value": "#07070e",
5
+ "$type": "color"
6
+ },
7
+ "border": {
8
+ "$value": "#4f5154",
9
+ "$type": "color"
10
+ },
11
+ "error": {
12
+ "$value": "#f13936",
13
+ "$type": "color"
14
+ },
15
+ "heading": {
16
+ "$value": "#ededed",
17
+ "$type": "color"
18
+ },
19
+ "info": {
20
+ "$value": "#4fa6ff",
21
+ "$type": "color"
22
+ },
23
+ "link": {
24
+ "$value": "#66b5ff",
25
+ "$type": "color"
26
+ },
27
+ "muted": {
28
+ "$value": "#999b9f",
29
+ "$type": "color"
30
+ },
31
+ "primary": {
32
+ "$value": "#66b5ff",
33
+ "$type": "color"
34
+ },
35
+ "secondary": {
36
+ "$value": "#a453ff",
37
+ "$type": "color"
38
+ },
39
+ "success": {
40
+ "$value": "#03ae74",
41
+ "$type": "color"
42
+ },
43
+ "surface": {
44
+ "$value": "#16191d",
45
+ "$type": "color"
46
+ },
47
+ "text": {
48
+ "$value": "#d8dadf",
49
+ "$type": "color"
50
+ },
51
+ "warning": {
52
+ "$value": "#eb8a02",
53
+ "$type": "color"
54
+ }
55
+ },
56
+ "light": {
57
+ "background": {
58
+ "$value": "#ffffff",
59
+ "$type": "color"
60
+ },
61
+ "border": {
62
+ "$value": "#ededed",
63
+ "$type": "color"
64
+ },
65
+ "error": {
66
+ "$value": "#fe3c39",
67
+ "$type": "color"
68
+ },
69
+ "heading": {
70
+ "$value": "#070b14",
71
+ "$type": "color"
72
+ },
73
+ "info": {
74
+ "$value": "#5897fe",
75
+ "$type": "color"
76
+ },
77
+ "link": {
78
+ "$value": "#2278ff",
79
+ "$type": "color"
80
+ },
81
+ "muted": {
82
+ "$value": "#646971",
83
+ "$type": "color"
84
+ },
85
+ "primary": {
86
+ "$value": "#2278ff",
87
+ "$type": "color"
88
+ },
89
+ "secondary": {
90
+ "$value": "#901af7",
91
+ "$type": "color"
92
+ },
93
+ "success": {
94
+ "$value": "#08d08f",
95
+ "$type": "color"
96
+ },
97
+ "surface": {
98
+ "$value": "#fafafa",
99
+ "$type": "color"
100
+ },
101
+ "text": {
102
+ "$value": "#2a313b",
103
+ "$type": "color"
104
+ },
105
+ "warning": {
106
+ "$value": "#f3ae4f",
107
+ "$type": "color"
108
+ }
109
+ }
110
+ }
package/css/forms.css ADDED
@@ -0,0 +1,244 @@
1
+ @layer base {
2
+
3
+ :root :where(button, [type='button'], [type='reset'], [type='submit']) {
4
+ display: inline-flex;
5
+ align-items: center;
6
+ justify-content: center;
7
+ gap: 0.375em;
8
+ padding: var(--spacing-xs) var(--spacing-sm);
9
+ background-color: var(--clampography-surface);
10
+ color: var(--clampography-text);
11
+ border: 1px solid var(--clampography-border);
12
+ border-radius: 0.375rem;
13
+ font-weight: 500;
14
+ white-space: nowrap;
15
+ transition-property: background-color, border-color, color, box-shadow;
16
+ transition-duration: 150ms;
17
+ }
18
+
19
+ :root :where(button, [type='button'], [type='reset'], [type='submit']):hover {
20
+ background-color: var(--clampography-background);
21
+ border-color: var(--clampography-primary);
22
+ }
23
+
24
+ :root :where(button, [type='button'], [type='submit']).primary, :root [type='submit'] {
25
+ background-color: var(--clampography-primary);
26
+ color: var(--clampography-background);
27
+ border-color: var(--clampography-primary);
28
+ }
29
+
30
+ :root :where(button, [type='button'], [type='submit']).primary:hover, :root [type='submit']:hover {
31
+ filter: brightness(1.1);
32
+ }
33
+
34
+ :root :where(input:not([type='checkbox'], [type='radio'], [type='range'], [type='color']), textarea, select) {
35
+ display: block;
36
+ width: 100%;
37
+ padding: var(--spacing-xs) var(--spacing-sm);
38
+ background-color: var(--clampography-background);
39
+ color: var(--clampography-text);
40
+ border: 1px solid var(--clampography-border);
41
+ border-radius: 0.375rem;
42
+ transition-property: border-color, box-shadow;
43
+ transition-duration: 150ms;
44
+ }
45
+
46
+ :root :where(input:not([type='checkbox'], [type='radio'], [type='range'], [type='color']), textarea, select):focus {
47
+ outline: none;
48
+ border-color: var(--clampography-primary);
49
+ box-shadow: 0 0 0 3px color-mix(in oklab, var(--clampography-primary) 20%, transparent);
50
+ }
51
+
52
+ :root :where(input, textarea, select):disabled {
53
+ opacity: 0.5;
54
+ cursor: not-allowed;
55
+ }
56
+
57
+ :root :where(input, textarea, select)[readonly] {
58
+ background-color: color-mix(in oklab, var(--clampography-surface) 50%, transparent);
59
+ cursor: default;
60
+ }
61
+
62
+ :root :where(input, textarea, select):user-invalid {
63
+ border-color: var(--clampography-error);
64
+ }
65
+
66
+ :root :where(input, textarea, select):user-invalid:focus {
67
+ box-shadow: 0 0 0 3px color-mix(in oklab, var(--clampography-error) 20%, transparent);
68
+ }
69
+
70
+ :root [type='search']::-webkit-search-cancel-button, :root [type='search']::-webkit-search-decoration {
71
+ -webkit-appearance: none;
72
+ appearance: none;
73
+ }
74
+
75
+ :root [type='number']::-webkit-inner-spin-button, :root [type='number']::-webkit-outer-spin-button {
76
+ height: auto;
77
+ }
78
+
79
+ :root :where(input, textarea, select)::placeholder {
80
+ color: var(--clampography-muted);
81
+ }
82
+
83
+ :root select {
84
+ appearance: none;
85
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");
86
+ background-position: inline-end 0.5rem center;
87
+ background-repeat: no-repeat;
88
+ background-size: 1.5em 1.5em;
89
+ padding-inline-end: 2.5rem;
90
+ }
91
+
92
+ :root [type='file'] {
93
+ padding: 0;
94
+ background-color: transparent;
95
+ border: none;
96
+ cursor: pointer;
97
+ }
98
+
99
+ :root [type='file']::file-selector-button {
100
+ display: inline-flex;
101
+ align-items: center;
102
+ padding: var(--spacing-xs) var(--spacing-sm);
103
+ margin-inline-end: var(--spacing-sm);
104
+ background-color: var(--clampography-surface);
105
+ color: var(--clampography-text);
106
+ border: 1px solid var(--clampography-border);
107
+ border-radius: 0.375rem;
108
+ font-family: inherit;
109
+ font-size: inherit;
110
+ cursor: pointer;
111
+ transition-property: background-color, border-color;
112
+ transition-duration: 150ms;
113
+ }
114
+
115
+ :root [type='file']:hover::file-selector-button {
116
+ background-color: var(--clampography-background);
117
+ border-color: var(--clampography-primary);
118
+ }
119
+
120
+ :root [type='checkbox'], :root [type='radio'] {
121
+ width: 1em;
122
+ height: 1em;
123
+ accent-color: var(--clampography-primary);
124
+ vertical-align: middle;
125
+ cursor: pointer;
126
+ }
127
+
128
+ :root [type='checkbox']:focus-visible, :root [type='radio']:focus-visible {
129
+ outline: 2px solid var(--clampography-primary);
130
+ outline-offset: 2px;
131
+ }
132
+
133
+ :root [type='range'] {
134
+ accent-color: var(--clampography-primary);
135
+ width: 100%;
136
+ cursor: pointer;
137
+ }
138
+
139
+ :root [type='color'] {
140
+ padding: 0.125rem;
141
+ width: 2.5rem;
142
+ height: 2.5rem;
143
+ border: 1px solid var(--clampography-border);
144
+ border-radius: 0.375rem;
145
+ background-color: var(--clampography-background);
146
+ cursor: pointer;
147
+ }
148
+
149
+ :root fieldset {
150
+ border: 1px solid var(--clampography-border);
151
+ border-radius: 0.5rem;
152
+ background-color: var(--clampography-surface);
153
+ }
154
+
155
+ :root legend {
156
+ color: var(--clampography-heading);
157
+ }
158
+
159
+ :root label {
160
+ color: var(--clampography-text);
161
+ }
162
+
163
+ :root output {
164
+ color: var(--clampography-primary);
165
+ font-weight: 600;
166
+ }
167
+
168
+ :root progress {
169
+ -webkit-appearance: none;
170
+ appearance: none;
171
+ width: 100%;
172
+ height: 1em;
173
+ background: transparent;
174
+ }
175
+
176
+ :root progress::-webkit-progress-bar {
177
+ background: color-mix(in oklab, var(--clampography-text) 20%, transparent);
178
+ }
179
+
180
+ :root progress::-webkit-progress-value {
181
+ background: var(--clampography-success);
182
+ }
183
+
184
+ :root progress::-moz-progress-bar {
185
+ background: var(--clampography-success);
186
+ }
187
+
188
+ :root meter {
189
+ -webkit-appearance: none;
190
+ appearance: none;
191
+ width: 100%;
192
+ height: 1em;
193
+ background: transparent;
194
+ }
195
+
196
+ @supports (-moz-appearance: none) {
197
+
198
+ :root progress {
199
+ background: color-mix(in oklab, var(--clampography-text) 20%, transparent);
200
+ }
201
+
202
+ :root meter {
203
+ background: color-mix(in oklab, var(--clampography-text) 20%, transparent);
204
+ }
205
+ }
206
+
207
+ :root meter::-webkit-meter-inner-element {
208
+ display: flex;
209
+ align-items: stretch;
210
+ height: 1em;
211
+ }
212
+
213
+ :root meter::-webkit-meter-bar {
214
+ background: color-mix(in oklab, var(--clampography-text) 20%, transparent);
215
+ height: 100%;
216
+ }
217
+
218
+ :root meter::-webkit-meter-optimum-value {
219
+ background: var(--clampography-success);
220
+ height: 100%;
221
+ }
222
+
223
+ :root meter:-moz-meter-optimum::-moz-meter-bar {
224
+ background: var(--clampography-success);
225
+ }
226
+
227
+ :root meter::-webkit-meter-suboptimum-value {
228
+ background: var(--clampography-warning);
229
+ height: 100%;
230
+ }
231
+
232
+ :root meter:-moz-meter-sub-optimum::-moz-meter-bar {
233
+ background: var(--clampography-warning);
234
+ }
235
+
236
+ :root meter::-webkit-meter-even-less-good-value {
237
+ background: var(--clampography-error);
238
+ height: 100%;
239
+ }
240
+
241
+ :root meter:-moz-meter-sub-sub-optimum::-moz-meter-bar {
242
+ background: var(--clampography-error);
243
+ }
244
+ }
@@ -0,0 +1 @@
1
+ @layer base{:root :where(button, [type='button'], [type='reset'], [type='submit']){display:inline-flex;align-items:center;justify-content:center;gap:0.375em;padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--clampography-surface);color:var(--clampography-text);border:1px solid var(--clampography-border);border-radius:0.375rem;font-weight:500;white-space:nowrap;transition-property:background-color, border-color, color, box-shadow;transition-duration:150ms}:root :where(button, [type='button'], [type='reset'], [type='submit']):hover{background-color:var(--clampography-background);border-color:var(--clampography-primary)}:root :where(button, [type='button'], [type='submit']).primary, :root [type='submit']{background-color:var(--clampography-primary);color:var(--clampography-background);border-color:var(--clampography-primary)}:root :where(button, [type='button'], [type='submit']).primary:hover, :root [type='submit']:hover{filter:brightness(1.1)}:root :where(input:not([type='checkbox'], [type='radio'], [type='range'], [type='color']), textarea, select){display:block;width:100%;padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--clampography-background);color:var(--clampography-text);border:1px solid var(--clampography-border);border-radius:0.375rem;transition-property:border-color, box-shadow;transition-duration:150ms}:root :where(input:not([type='checkbox'], [type='radio'], [type='range'], [type='color']), textarea, select):focus{outline:none;border-color:var(--clampography-primary);box-shadow:0 0 0 3px color-mix(in oklab, var(--clampography-primary) 20%, transparent)}:root :where(input, textarea, select):disabled{opacity:0.5;cursor:not-allowed}:root :where(input, textarea, select)[readonly]{background-color:color-mix(in oklab, var(--clampography-surface) 50%, transparent);cursor:default}:root :where(input, textarea, select):user-invalid{border-color:var(--clampography-error)}:root :where(input, textarea, select):user-invalid:focus{box-shadow:0 0 0 3px color-mix(in oklab, var(--clampography-error) 20%, transparent)}:root [type='search']::-webkit-search-cancel-button, :root [type='search']::-webkit-search-decoration{-webkit-appearance:none;appearance:none}:root [type='number']::-webkit-inner-spin-button, :root [type='number']::-webkit-outer-spin-button{height:auto}:root :where(input, textarea, select)::placeholder{color:var(--clampography-muted)}:root select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");background-position:inline-end 0.5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-inline-end:2.5rem}:root [type='file']{padding:0;background-color:transparent;border:none;cursor:pointer}:root [type='file']::file-selector-button{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);margin-inline-end:var(--spacing-sm);background-color:var(--clampography-surface);color:var(--clampography-text);border:1px solid var(--clampography-border);border-radius:0.375rem;font-family:inherit;font-size:inherit;cursor:pointer;transition-property:background-color, border-color;transition-duration:150ms}:root [type='file']:hover::file-selector-button{background-color:var(--clampography-background);border-color:var(--clampography-primary)}:root [type='checkbox'], :root [type='radio']{width:1em;height:1em;accent-color:var(--clampography-primary);vertical-align:middle;cursor:pointer}:root [type='checkbox']:focus-visible, :root [type='radio']:focus-visible{outline:2px solid var(--clampography-primary);outline-offset:2px}:root [type='range']{accent-color:var(--clampography-primary);width:100%;cursor:pointer}:root [type='color']{padding:0.125rem;width:2.5rem;height:2.5rem;border:1px solid var(--clampography-border);border-radius:0.375rem;background-color:var(--clampography-background);cursor:pointer}:root fieldset{border:1px solid var(--clampography-border);border-radius:0.5rem;background-color:var(--clampography-surface)}:root legend{color:var(--clampography-heading)}:root label{color:var(--clampography-text)}:root output{color:var(--clampography-primary);font-weight:600}:root progress{-webkit-appearance:none;appearance:none;width:100%;height:1em;background:transparent}:root progress::-webkit-progress-bar{background:color-mix(in oklab, var(--clampography-text) 20%, transparent)}:root progress::-webkit-progress-value{background:var(--clampography-success)}:root progress::-moz-progress-bar{background:var(--clampography-success)}:root meter{-webkit-appearance:none;appearance:none;width:100%;height:1em;background:transparent}@supports (-moz-appearance: none){:root progress{background:color-mix(in oklab, var(--clampography-text) 20%, transparent)}:root meter{background:color-mix(in oklab, var(--clampography-text) 20%, transparent)}}:root meter::-webkit-meter-inner-element{display:flex;align-items:stretch;height:1em}:root meter::-webkit-meter-bar{background:color-mix(in oklab, var(--clampography-text) 20%, transparent);height:100%}:root meter::-webkit-meter-optimum-value{background:var(--clampography-success);height:100%}:root meter:-moz-meter-optimum::-moz-meter-bar{background:var(--clampography-success)}:root meter::-webkit-meter-suboptimum-value{background:var(--clampography-warning);height:100%}:root meter:-moz-meter-sub-optimum::-moz-meter-bar{background:var(--clampography-warning)}:root meter::-webkit-meter-even-less-good-value{background:var(--clampography-error);height:100%}:root meter:-moz-meter-sub-sub-optimum::-moz-meter-bar{background:var(--clampography-error)}}
package/css/kbd.css ADDED
@@ -0,0 +1,28 @@
1
+ @layer base {
2
+
3
+ :root kbd {
4
+ display: inline-block;
5
+ padding: 0.1em 0.45em;
6
+ min-width: 2em;
7
+ text-align: center;
8
+ font-size: 0.8em;
9
+ font-weight: 700;
10
+ line-height: 1.5;
11
+ white-space: nowrap;
12
+ vertical-align: 0.1em;
13
+ cursor: default;
14
+ user-select: none;
15
+ background-color: var(--clampography-surface, oklch(94% 0.004 264));
16
+ color: var(--clampography-text, oklch(18% 0.015 264));
17
+ border: 1px solid var(--clampography-border, oklch(76% 0.008 264));
18
+ border-radius: 4px;
19
+ box-shadow: 0 2px 0 color-mix(in oklab, var(--clampography-border, oklch(60% 0.008 264)) 100%, black 18%), 0 3px 2px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.5);
20
+ transition-property: box-shadow, transform, border-bottom-width;
21
+ transition-duration: 80ms;
22
+ }
23
+
24
+ :root kbd:active {
25
+ transform: translateY(2px);
26
+ box-shadow: 0 0 0 color-mix(in oklab, var(--clampography-border, oklch(60% 0.008 264)) 100%, black 18%), 0 1px 1px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.3);
27
+ }
28
+ }
@@ -0,0 +1 @@
1
+ @layer base{:root kbd{display:inline-block;padding:0.1em 0.45em;min-width:2em;text-align:center;font-size:0.8em;font-weight:700;line-height:1.5;white-space:nowrap;vertical-align:0.1em;cursor:default;user-select:none;background-color:var(--clampography-surface, oklch(94% 0.004 264));color:var(--clampography-text, oklch(18% 0.015 264));border:1px solid var(--clampography-border, oklch(76% 0.008 264));border-radius:4px;box-shadow:0 2px 0 color-mix(in oklab, var(--clampography-border, oklch(60% 0.008 264)) 100%, black 18%), 0 3px 2px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.5);transition-property:box-shadow, transform, border-bottom-width;transition-duration:80ms}:root kbd:active{transform:translateY(2px);box-shadow:0 0 0 color-mix(in oklab, var(--clampography-border, oklch(60% 0.008 264)) 100%, black 18%), 0 1px 1px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.3)}}