diff options
| author | Gabriel Schneider <[email protected]> | 2026-08-01 22:44:19 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-08-10 09:17:07 -0300 |
| commit | d59397d4146ffa23adbbe6dc99c64ebb22a93b2d (patch) | |
| tree | a06984bf172a6c894c1586d58aad02ec302b6c2d /src/web/pardes.css | |
| parent | cbcdf01764e2e144a821643c3a8e9a5ad39eda2e (diff) | |
| download | pardes-d59397d4146ffa23adbbe6dc99c64ebb22a93b2d.tar.gz pardes-d59397d4146ffa23adbbe6dc99c64ebb22a93b2d.zip | |
add vanilla DOM web backend
Diffstat (limited to 'src/web/pardes.css')
| -rw-r--r-- | src/web/pardes.css | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/src/web/pardes.css b/src/web/pardes.css new file mode 100644 index 00000000..a959e6c3 --- /dev/null +++ b/src/web/pardes.css @@ -0,0 +1,91 @@ +@font-face { + font-family: "Pardes Mono"; + src: url("./AdwaitaMono-Regular.ttf") format("truetype"); + font-display: swap; +} + +:root { + color-scheme: dark; + --pardes-bg: #121212; + --pardes-fg: #cccccc; + --pardes-font-size: 18px; + --pardes-cell-width: 9.333333px; + --pardes-cell-height: 19.459459px; +} + +html, +body { + width: 100%; + height: 100%; + margin: 0; + overflow: hidden; + background: var(--pardes-bg); +} + +.pardes { + box-sizing: border-box; + width: 100vw; + height: 100vh; + overflow: hidden; + color: var(--pardes-fg); + background: var(--pardes-bg); + font-family: "Pardes Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; + font-size: var(--pardes-font-size); + font-variant-ligatures: none; + line-height: 1; + outline: none; + touch-action: none; + user-select: text; + cursor: text; +} + +.pardes-row { + display: flex; + width: max-content; + height: var(--pardes-cell-height); + line-height: var(--pardes-cell-height); + white-space: pre; +} + +.pardes-cell { + box-sizing: border-box; + display: inline-block; + flex: 0 0 var(--pardes-cell-width); + width: var(--pardes-cell-width); + height: var(--pardes-cell-height); + overflow: hidden; + text-align: left; + white-space: pre; +} + +.pardes-cell.is-cursor { + color: var(--cell-bg) !important; + background: var(--cell-fg) !important; +} + +.pardes-cell.is-cursor.is-bar { + color: var(--cell-fg) !important; + background: var(--cell-bg) !important; + box-shadow: inset 2px 0 var(--cell-fg); +} + +.pardes-cell.is-blinking { + animation: pardes-blink 1s step-end infinite; +} + +.pardes-probe { + position: fixed; + left: -10000px; + top: -10000px; + width: var(--pardes-cell-width); + height: var(--pardes-cell-height); + visibility: hidden; +} + +@keyframes pardes-blink { + 50% { opacity: 0; } +} + +@media (prefers-reduced-motion: reduce) { + .pardes-cell.is-blinking { animation: none; } +} |
