Compare commits

..

1 commit
v0.1.1 ... main

Author SHA1 Message Date
d1eaa9b774 Pico CSS Clone 2025-07-22 21:30:20 -06:00
2 changed files with 276 additions and 0 deletions

1
res/css/axiom-min.css vendored Normal file
View file

@ -0,0 +1 @@
dialog[open],nav ul{display:flex;padding:0}:root{--axiom-color-background:#fff;--axiom-color-background-secondary:#e2e2e2;--axiom-font-family-sans:sans;--axiom-font-family-serif:serif;--axiom-color:#373c44;--axiom-color-title:#2d3138;--axiom-color-muted:#646b79;--axiom-color-link-fg:#0172ad;--axiom-color-link-bg:#fff;--axiom-color-selection:#029ae840;--axiom-body-margin:5vw;--axiom-color-border:#cfd5e2;--axiom-border:1px solid var(--axiom-color-border);--axiom-padding:1rem;--axiom-border-radius:0.4rem;--axiom-icon-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--axiom-icon-close:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E")}body{--axiom-body-font-family:var(--axiom-font-family-sans);--axiom-body-color:var(--axiom-color);--axiom-body-text-align:left;--axiom-body-max-width:40rem;--axiom-body-line-height:1.5rem;font-family:var(--axiom-body-font-family);color:var(--axiom-body-color);text-align:var(--axiom-body-text-align);line-height:var(--axiom-body-line-height);height:100vh;width:56rem;max-width:90vw;margin:0 var(--axiom-body-margin)}footer,header,main{padding:var(--axiom-padding) 0}::selection{background-color:var(--axiom-color-selection)}h1,h2,h3,h4,h5,h6{--axiom-title-font-family:var(--axiom-font-family-sans);--axiom-title-text-align:left;--axiom-title-color:var(--axiom-color-title);font-family:var(--axiom-title-font-family);color:var(--axiom-title-color);text-align:var(--axiom-title-text-align)}a,button.outline{color:var(--axiom-color-link-fg)}a{text-decoration:none}form div,nav{display:flex;justify-content:space-between;align-items:center}nav ul{justify-content:space-between;list-style:none}nav ul li{padding-right:var(--axiom-padding)}.overflow-auto{overflow:auto}.body-width{width:calc(100vw - (var(--axiom-body-margin) * 2));overflow-x:auto}form{display:flex;flex-direction:column}button,input,select{font-size:1.1rem;margin:calc(var(--axiom-padding) * .5) 0;padding:var(--axiom-padding);border:var(--axiom-border);border-radius:var(--axiom-border-radius);background-color:#00000002}[type=checkbox][role=switch]:checked,button{background-color:var(--axiom-color-link-fg)}button{color:var(--axiom-color-link-bg);cursor:pointer}button.outline{background-color:#0000}[type=checkbox][role=switch]{font-size:inherit;appearance:none;margin:.2em 0;padding:1em;cursor:pointer;position:relative;width:3.8em;height:100%;border:var(--axiom-border);border-radius:2em;outline:0;background-color:#ccc;transition:background .2s}[type=checkbox][role=switch]::after{content:'';position:absolute;top:.97em;left:28%;transform:translate(-50%,-50%);border-radius:50%;height:1.55em;width:1.55em;background-color:#fff;transition:left .2s}[type=checkbox][role=switch]:checked{border-color:var(--axiom-color-link-fg)}[type=checkbox][role=switch]:checked::after{left:72%}details,dialog>article>header{padding:calc(var(--axiom-padding) * .5) 0}details summary{font-size:1.1rem;list-style-type:none;cursor:pointer}details summary::after{width:1rem;height:1rem;float:right;transform:rotate(-90deg);background-image:var(--axiom-icon-chevron);background-size:1rem auto;background-repeat:no-repeat;content:""}details[open] summary::after{transform:rotate(0)}table{width:100%;margin:var(--axiom-padding) 0;border-collapse:collapse;table-layout:auto}tbody tr:nth-child(odd){background:#00000002}td,th{font-size:.8rem;padding:.1rem .4rem;white-space:nowrap;border-bottom:var(--axiom-border)}td>input,th>input{all:unset;font-weight:400}dialog[open]{z-index:999;position:fixed;inset:0;align-items:center;justify-content:center;width:inherit;min-width:100%;height:inherit;min-height:100%;border:0;backdrop-filter:blur(0.375rem);background-color:#00000008}dialog>article{padding:var(--axiom-padding);width:85%;height:80vh;max-width:40rem;overflow-y:auto;border:var(--axiom-border);border-radius:var(--axiom-border-radius);background-color:var(--axiom-color-background)}dialog>article>header :is(a,button)[rel=prev]{display:block;float:right;width:2.5rem;height:2.5rem;border:var(--axiom-border);border-radius:var(--axiom-border-radius);background-image:var(--axiom-icon-close);background-position:center;background-size:auto 1rem;background-repeat:no-repeat;background-color:transparent}

275
res/css/axiom.css Normal file
View file

@ -0,0 +1,275 @@
:root {
/* background */
--axiom-color-background: #fff;
--axiom-color-background-secondary: #e2e2e2;
/* text */
--axiom-font-family-sans: sans;
--axiom-font-family-serif: serif;
/* color */
--axiom-color: #373c44;
--axiom-color-title: #2d3138;
--axiom-color-muted: #646b79;
--axiom-color-link-fg: #0172ad;
--axiom-color-link-bg: #fff;
--axiom-color-selection: #029ae840;
/* elements */
--axiom-body-margin: 5vw;
--axiom-color-border: #cfd5e2;
--axiom-border: 1px solid var(--axiom-color-border);
--axiom-padding: 1rem;
--axiom-border-radius: 0.4rem;
/* icons */
--axiom-icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
--axiom-icon-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");
}
@media (prefers-color-scheme: dark) {
:root {
/* Dark colors */
}
}
body {
--axiom-body-font-family: var(--axiom-font-family-sans);
--axiom-body-color: var(--axiom-color);
--axiom-body-text-align: left;
--axiom-body-max-width: 40rem;
--axiom-body-line-height: 1.5rem;
font-family: var(--axiom-body-font-family);
color: var(--axiom-body-color);
text-align: var(--axiom-body-text-align);
line-height: var(--axiom-body-line-height);
height: 100vh;
width: 56rem;
max-width: 90vw;
margin: 0 var(--axiom-body-margin);
}
main {
padding: var(--axiom-padding) 0;
}
::selection {
background-color: var(--axiom-color-selection);
}
h1, h2, h3, h4, h5, h6 {
--axiom-title-font-family: var(--axiom-font-family-sans);
--axiom-title-text-align: left;
--axiom-title-color: var(--axiom-color-title);
font-family: var(--axiom-title-font-family);
color: var(--axiom-title-color);
text-align: var(--axiom-title-text-align);
}
a {
text-decoration: none;
color: var(--axiom-color-link-fg);
}
header {
padding: var(--axiom-padding) 0;
}
nav {
display: flex;
justify-content: space-between;
align-items: center;
}
nav ul {
padding: 0;
display: flex;
justify-content: space-between;
list-style: none;
}
nav ul li {
padding-right: var(--axiom-padding);
}
.overflow-auto {
overflow: auto;
}
.body-width {
width: calc(100vw - (var(--axiom-body-margin) * 2));
overflow-x: auto;
}
form {
display: flex;
flex-direction: column;
}
form div {
display: flex;
justify-content: space-between;
align-items: center;
}
input,
button,
select {
font-size: 1.1rem;
margin: calc(var(--axiom-padding) * .5) 0;
padding: var(--axiom-padding);
border: var(--axiom-border);
border-radius: var(--axiom-border-radius);
background-color: #00000002;
}
button {
background-color: var(--axiom-color-link-fg);
color: var(--axiom-color-link-bg);
cursor: pointer;
}
button.outline {
background-color: #0000;
color: var(--axiom-color-link-fg);
}
[type="checkbox"][role="switch"] {
font-size: inherit;
appearance: none;
margin: 0.2em 0;
padding: 1em;
cursor: pointer;
position: relative;
width: 3.8em;
height: 100%;
border: var(--axiom-border);
border-radius: 2em;
outline: none;
background-color: #ccc;
transition: background .2s;
}
[type="checkbox"][role="switch"]::after {
content: '';
position: absolute;
top: 0.97em;
left: 28%;
transform: translate(-50%, -50%);
border-radius: 50%;
height: 1.55em;
width: 1.55em;
background-color: #fff;
transition: left .2s;
}
[type="checkbox"][role="switch"]:checked {
background-color: var(--axiom-color-link-fg);
border-color: var(--axiom-color-link-fg);
}
[type="checkbox"][role="switch"]:checked::after {
left: 72%;
}
footer {
padding: var(--axiom-padding) 0;
}
details {
padding: calc(var(--axiom-padding) * .5) 0;
}
details summary {
font-size: 1.1rem;
list-style-type: none;
cursor: pointer;
}
details summary::after {
width: 1rem;
height: 1rem;
float: right;
transform: rotate(-90deg);
background-image: var(--axiom-icon-chevron);
background-size: 1rem auto;
background-repeat: no-repeat;
content: "";
}
details[open] summary::after {
transform: rotate(0deg);
}
table {
width: 100%;
margin: var(--axiom-padding) 0;
border-collapse: collapse;
table-layout: auto;
}
tbody tr:nth-child(odd) {
background: #00000002;
}
th, td {
font-size: 0.8rem;
padding: 0.1rem 0.4rem;
white-space: nowrap;
border-bottom: var(--axiom-border);
}
th > input,
td > input {
all: unset;
font-weight: normal;
}
dialog[open] {
display: flex;
z-index: 999;
position: fixed;
inset: 0;
align-items: center;
justify-content: center;
width: inherit;
min-width: 100%;
height: inherit;
min-height: 100%;
padding: 0;
border: 0;
backdrop-filter: blur(0.375rem);
background-color: #00000008;
}
dialog > article {
padding: var(--axiom-padding);
width: 85%;
height: 80vh;
max-width: 40rem;
overflow-y: auto;
border: var(--axiom-border);
border-radius: var(--axiom-border-radius);
background-color: var(--axiom-color-background);
}
dialog > article > header {
padding: calc(var(--axiom-padding) * 0.5) 0;
}
dialog > article > header :is(a, button)[rel="prev"] {
display: block;
float: right;
width: 2.5rem;
height: 2.5rem;
border: var(--axiom-border);
border-radius: var(--axiom-border-radius);
background-image: var(--axiom-icon-close);
background-position: center;
background-size: auto 1rem;
background-repeat: no-repeat;
background-color: transparent;
}