From fb2a734c9f02158e881026675492fc0bb1e9219e Mon Sep 17 00:00:00 2001 From: Thomas Voss Date: Thu, 8 Aug 2024 13:53:07 +0200 Subject: Use an older (better) version of Pico CSS --- static/style.css | 3039 ++++++++++++++++++++++++++---------------------------- 1 file changed, 1475 insertions(+), 1564 deletions(-) diff --git a/static/style.css b/static/style.css index 92b7cdf..d6d8dfb 100644 --- a/static/style.css +++ b/static/style.css @@ -1,67 +1,134 @@ -/* TODO: Remove shit I don’t need! */ - @charset "UTF-8"; +/* Our form of Pico CSS v1.5.10 (https://picocss.com) + * + * Copyright © 2019–2023 Pico + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the “Software”), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +@font-face { + font-family: 'Ysabeau'; + src: url('/fonts/ysabeau-regular.woff2') format('woff2'); + font-weight: normal; + font-style: normal; +} + +@font-face { + font-family: 'Ysabeau'; + src: url('/fonts/ysabeau-regular-italic.woff2') format('woff2'); + font-weight: normal; + font-style: italic; +} + :root { - --pico-line-height: 1.5; - --pico-font-weight: 400; - --pico-font-size: 100%; - --pico-text-underline-offset: 0.1rem; - --pico-border-radius: 0.25rem; - --pico-border-width: 0.0625rem; - --pico-outline-width: 0.125rem; - --pico-transition: 0.2s ease-in-out; - --pico-spacing: 1rem; - --pico-typography-spacing-vertical: 1.5rem; - --pico-block-spacing-vertical: calc(var(--pico-spacing) * 2); - --pico-block-spacing-horizontal: calc(var(--pico-spacing) * 2); - --pico-form-element-spacing-vertical: 0.75rem; - --pico-form-element-spacing-horizontal: 1rem; - --pico-group-box-shadow: 0 0 0 rgba(0, 0, 0, 0); - --pico-group-box-shadow-focus-with-button: 0 0 0 var(--pico-outline-width) var(--pico-primary-focus); - --pico-group-box-shadow-focus-with-input: 0 0 0 0.0625rem var(--pico-form-element-border-color); - --pico-modal-overlay-backdrop-filter: blur(0.375rem); - --pico-nav-element-spacing-vertical: 1rem; - --pico-nav-element-spacing-horizontal: 0.5rem; - --pico-nav-link-spacing-vertical: 0.5rem; - --pico-nav-link-spacing-horizontal: 0.5rem; - --pico-nav-breadcrumb-divider: ">"; - --pico-icon-checkbox: 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(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E"); - --pico-icon-minus: 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(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E"); - --pico-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"); - --pico-icon-date: 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%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E"); - --pico-icon-time: 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%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E"); - --pico-icon-search: 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='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E"); - --pico-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"); - --pico-icon-loading: url("data:image/svg+xml,%3Csvg fill='none' height='24' width='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E g %7B animation: rotate 2s linear infinite; transform-origin: center center; %7D circle %7B stroke-dasharray: 75,100; stroke-dashoffset: -5; animation: dash 1.5s ease-in-out infinite; stroke-linecap: round; %7D @keyframes rotate %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D @keyframes dash %7B 0%25 %7B stroke-dasharray: 1,100; stroke-dashoffset: 0; %7D 50%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -17.5; %7D 100%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -62; %7D %7D %3C/style%3E%3Cg%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='rgb(136, 145, 164)' stroke-width='4' /%3E%3C/g%3E%3C/svg%3E"); + --font-family: "Ysabeau", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", + "Segoe UI Symbol", "Noto Color Emoji"; + --line-height: 1.5; + --font-weight: 400; + --font-size: 16px; + --border-radius: 0.25rem; + --border-width: 1px; + --outline-width: 3px; + --spacing: 1rem; + --typography-spacing-vertical: 1.5rem; + --block-spacing-vertical: calc(var(--spacing) * 2); + --block-spacing-horizontal: var(--spacing); + --grid-spacing-vertical: var(--spacing); + --grid-spacing-horizontal: var(--spacing); + --form-element-spacing-vertical: 0.75rem; + --form-element-spacing-horizontal: 1rem; + --nav-element-spacing-vertical: 1rem; + --nav-element-spacing-horizontal: 0.5rem; + --nav-link-spacing-vertical: 0.5rem; + --nav-link-spacing-horizontal: 0.5rem; + --form-label-font-weight: var(--font-weight); + --transition: 0.2s ease-in-out; + --modal-overlay-backdrop-filter: blur(0.25rem); } + @media (min-width: 576px) { :root { - --pico-font-size: 106.25%; + --font-size: 17px; } } @media (min-width: 768px) { :root { - --pico-font-size: 112.5%; + --font-size: 18px; } } -@media (min-width: 1024px) { +@media (min-width: 992px) { :root { - --pico-font-size: 118.75%; + --font-size: 19px; } } -@media (min-width: 1280px) { +@media (min-width: 1200px) { :root { - --pico-font-size: 125%; + --font-size: 20px; + } +} + +@media (min-width: 576px) { + article { + --block-spacing-horizontal: calc(var(--spacing) * 1.25); + } +} +@media (min-width: 768px) { + article { + --block-spacing-horizontal: calc(var(--spacing) * 1.5); + } +} +@media (min-width: 992px) { + article { + --block-spacing-horizontal: calc(var(--spacing) * 1.75); + } +} +@media (min-width: 1200px) { + article { + --block-spacing-horizontal: calc(var(--spacing) * 2); + } +} + +dialog > article { + --block-spacing-horizontal: var(--spacing); +} +@media (min-width: 576px) { + dialog > article { + --block-spacing-horizontal: calc(var(--spacing) * 1.25); + } +} +@media (min-width: 768px) { + dialog > article { + --block-spacing-horizontal: calc(var(--spacing) * 1.5); } } a { - --pico-text-decoration: underline; + --text-decoration: none; +} + +a.no-deco { + text-decoration: none; } small { - --pico-font-size: 0.875em; + --font-size: 0.875em; } h1, @@ -70,437 +137,378 @@ h3, h4, h5, h6 { - --pico-font-weight: 700; + --font-weight: 700; } h1 { - --pico-font-size: 2rem; - --pico-line-height: 1.125; - --pico-typography-spacing-top: 3rem; + --font-size: 2rem; + --typography-spacing-vertical: 3rem; } h2 { - --pico-font-size: 1.75rem; - --pico-line-height: 1.15; - --pico-typography-spacing-top: 2.625rem; + --font-size: 1.75rem; + --typography-spacing-vertical: 2.625rem; } h3 { - --pico-font-size: 1.5rem; - --pico-line-height: 1.175; - --pico-typography-spacing-top: 2.25rem; + --font-size: 1.5rem; + --typography-spacing-vertical: 2.25rem; } h4 { - --pico-font-size: 1.25rem; - --pico-line-height: 1.2; - --pico-typography-spacing-top: 1.874rem; + --font-size: 1.25rem; + --typography-spacing-vertical: 1.874rem; } h5 { - --pico-font-size: 1.125rem; - --pico-line-height: 1.225; - --pico-typography-spacing-top: 1.6875rem; -} - -h6 { - --pico-font-size: 1rem; - --pico-line-height: 1.25; - --pico-typography-spacing-top: 1.5rem; -} - -thead th, -thead td, -tfoot th, -tfoot td { - --pico-font-weight: 600; - --pico-border-width: 0.1875rem; -} - -kbd { - --pico-font-weight: bolder; -} - -input:not([type=submit], -[type=button], -[type=reset], -[type=checkbox], -[type=radio], -[type=file]), -:where(select, textarea) { - --pico-outline-width: 0.0625rem; -} - -[type=search] { - --pico-border-radius: 5rem; + --font-size: 1.125rem; + --typography-spacing-vertical: 1.6875rem; } [type=checkbox], [type=radio] { - --pico-border-width: 0.125rem; + --border-width: 2px; } [type=checkbox][role=switch] { - --pico-border-width: 0.1875rem; -} - -[role=search] { - --pico-border-radius: 5rem; -} - -[role=search] button, -[role=search] [type=submit], -[role=search] [type=button], -[role=search] [role=button], -[role=group] button, -[role=group] [type=submit], -[role=group] [type=button], -[role=group] [role=button] { - --pico-form-element-spacing-horizontal: 2rem; + --border-width: 3px; } -details summary[role=button]::after { - filter: brightness(0) invert(1); +thead th, +thead td, +tfoot th, +tfoot td { + --border-width: 3px; } -[aria-busy=true]:not(input, select, textarea):is(button, [type=submit], [type=button], [type=reset], [role=button])::before { - filter: brightness(0) invert(1); +:not(thead, tfoot) > * > td { + --font-size: 0.875em; } -/** - * Color schemes - */ [data-theme=light], :root:not([data-theme=dark]) { - --pico-background-color: #fff; - --pico-color: #373c44; - --pico-text-selection-color: rgba(2, 154, 232, 0.25); - --pico-muted-color: #646b79; - --pico-muted-border-color: #e7eaf0; - --pico-primary: #0172ad; - --pico-primary-background: #0172ad; - --pico-primary-border: var(--pico-primary-background); - --pico-primary-underline: rgba(1, 114, 173, 0.5); - --pico-primary-hover: #015887; - --pico-primary-hover-background: #02659a; - --pico-primary-hover-border: var(--pico-primary-hover-background); - --pico-primary-hover-underline: var(--pico-primary-hover); - --pico-primary-focus: rgba(2, 154, 232, 0.5); - --pico-primary-inverse: #fff; - --pico-secondary: #5d6b89; - --pico-secondary-background: #525f7a; - --pico-secondary-border: var(--pico-secondary-background); - --pico-secondary-underline: rgba(93, 107, 137, 0.5); - --pico-secondary-hover: #48536b; - --pico-secondary-hover-background: #48536b; - --pico-secondary-hover-border: var(--pico-secondary-hover-background); - --pico-secondary-hover-underline: var(--pico-secondary-hover); - --pico-secondary-focus: rgba(93, 107, 137, 0.25); - --pico-secondary-inverse: #fff; - --pico-contrast: #181c25; - --pico-contrast-background: #181c25; - --pico-contrast-border: var(--pico-contrast-background); - --pico-contrast-underline: rgba(24, 28, 37, 0.5); - --pico-contrast-hover: #000; - --pico-contrast-hover-background: #000; - --pico-contrast-hover-border: var(--pico-contrast-hover-background); - --pico-contrast-hover-underline: var(--pico-secondary-hover); - --pico-contrast-focus: rgba(93, 107, 137, 0.25); - --pico-contrast-inverse: #fff; - --pico-box-shadow: 0.0145rem 0.029rem 0.174rem rgba(129, 145, 181, 0.01698), 0.0335rem 0.067rem 0.402rem rgba(129, 145, 181, 0.024), 0.0625rem 0.125rem 0.75rem rgba(129, 145, 181, 0.03), 0.1125rem 0.225rem 1.35rem rgba(129, 145, 181, 0.036), 0.2085rem 0.417rem 2.502rem rgba(129, 145, 181, 0.04302), 0.5rem 1rem 6rem rgba(129, 145, 181, 0.06), 0 0 0 0.0625rem rgba(129, 145, 181, 0.015); - --pico-h1-color: #2d3138; - --pico-h2-color: #373c44; - --pico-h3-color: #424751; - --pico-h4-color: #4d535e; - --pico-h5-color: #5c6370; - --pico-h6-color: #646b79; - --pico-mark-background-color: #fde7c0; - --pico-mark-color: #0f1114; - --pico-blockquote-border-color: var(--pico-muted-border-color); - --pico-blockquote-footer-color: var(--pico-muted-color); - --pico-button-box-shadow: 0 0 0 rgba(0, 0, 0, 0); - --pico-button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0); - --pico-table-border-color: var(--pico-muted-border-color); - --pico-table-row-stripped-background-color: rgba(111, 120, 135, 0.0375); - --pico-code-background-color: #f3f5f7; - --pico-code-color: #646b79; - --pico-code-kbd-background-color: var(--pico-color); - --pico-code-kbd-color: var(--pico-background-color); - --pico-form-element-background-color: #fbfcfc; - --pico-form-element-selected-background-color: #dfe3eb; - --pico-form-element-border-color: #cfd5e2; - --pico-form-element-color: #23262c; - --pico-form-element-placeholder-color: var(--pico-muted-color); - --pico-form-element-active-background-color: #fff; - --pico-form-element-active-border-color: var(--pico-primary-border); - --pico-form-element-focus-color: var(--pico-primary-border); - --pico-form-element-disabled-opacity: 0.5; - --pico-form-element-invalid-border-color: #b86a6b; - --pico-form-element-invalid-active-border-color: #c84f48; - --pico-form-element-invalid-focus-color: var(--pico-form-element-invalid-active-border-color); - --pico-form-element-valid-border-color: #4c9b8a; - --pico-form-element-valid-active-border-color: #279977; - --pico-form-element-valid-focus-color: var(--pico-form-element-valid-active-border-color); - --pico-switch-background-color: #bfc7d9; - --pico-switch-checked-background-color: var(--pico-primary-background); - --pico-switch-color: #fff; - --pico-switch-thumb-box-shadow: 0 0 0 rgba(0, 0, 0, 0); - --pico-range-border-color: #dfe3eb; - --pico-range-active-border-color: #bfc7d9; - --pico-range-thumb-border-color: var(--pico-background-color); - --pico-range-thumb-color: var(--pico-secondary-background); - --pico-range-thumb-active-color: var(--pico-primary-background); - --pico-accordion-border-color: var(--pico-muted-border-color); - --pico-accordion-active-summary-color: var(--pico-primary-hover); - --pico-accordion-close-summary-color: var(--pico-color); - --pico-accordion-open-summary-color: var(--pico-muted-color); - --pico-card-background-color: var(--pico-background-color); - --pico-card-border-color: var(--pico-muted-border-color); - --pico-card-box-shadow: var(--pico-box-shadow); - --pico-card-sectioning-background-color: #fbfcfc; - --pico-loading-spinner-opacity: 0.5; - --pico-modal-overlay-background-color: rgba(232, 234, 237, 0.75); - --pico-progress-background-color: #dfe3eb; - --pico-progress-color: var(--pico-primary-background); - --pico-tooltip-background-color: var(--pico-contrast-background); - --pico-tooltip-color: var(--pico-contrast-inverse); - --pico-icon-valid: 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(76, 155, 138)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E"); - --pico-icon-invalid: 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(200, 79, 72)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E"); + --background-color: #fff; + --color: hsl(205, 20%, 32%); + --h1-color: hsl(205, 30%, 15%); + --h2-color: #24333e; + --h3-color: hsl(205, 25%, 23%); + --h4-color: #374956; + --h5-color: hsl(205, 20%, 32%); + --h6-color: #4d606d; + --muted-color: hsl(205, 10%, 50%); + --muted-border-color: hsl(205, 20%, 94%); + --primary: hsl(195, 85%, 41%); + --primary-hover: hsl(195, 90%, 32%); + --primary-focus: rgba(16, 149, 193, 0.125); + --primary-inverse: #fff; + --secondary: hsl(205, 15%, 41%); + --secondary-hover: hsl(205, 20%, 32%); + --secondary-focus: rgba(89, 107, 120, 0.125); + --secondary-inverse: #fff; + --contrast: hsl(205, 30%, 15%); + --contrast-hover: #000; + --contrast-focus: rgba(89, 107, 120, 0.125); + --contrast-inverse: #fff; + --mark-background-color: #fff2ca; + --mark-color: #543a26; + --ins-color: #388e3c; + --del-color: #c62828; + --blockquote-border-color: var(--muted-border-color); + --blockquote-footer-color: var(--muted-color); + --button-box-shadow: 0 0 0 rgba(0, 0, 0, 0); + --button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0); + --form-element-background-color: transparent; + --form-element-border-color: hsl(205, 14%, 68%); + --form-element-color: var(--color); + --form-element-placeholder-color: var(--muted-color); + --form-element-active-background-color: transparent; + --form-element-active-border-color: var(--primary); + --form-element-focus-color: var(--primary-focus); + --form-element-disabled-background-color: hsl(205, 18%, 86%); + --form-element-disabled-border-color: hsl(205, 14%, 68%); + --form-element-disabled-opacity: 0.5; + --form-element-invalid-border-color: #c62828; + --form-element-invalid-active-border-color: #d32f2f; + --form-element-invalid-focus-color: rgba(211, 47, 47, 0.125); + --form-element-valid-border-color: #388e3c; + --form-element-valid-active-border-color: #43a047; + --form-element-valid-focus-color: rgba(67, 160, 71, 0.125); + --switch-background-color: hsl(205, 16%, 77%); + --switch-color: var(--primary-inverse); + --switch-checked-background-color: var(--primary); + --range-border-color: hsl(205, 18%, 86%); + --range-active-border-color: hsl(205, 16%, 77%); + --range-thumb-border-color: var(--background-color); + --range-thumb-color: var(--secondary); + --range-thumb-hover-color: var(--secondary-hover); + --range-thumb-active-color: var(--primary); + --table-border-color: var(--muted-border-color); + --table-row-stripped-background-color: #f6f8f9; + --code-background-color: hsl(205, 20%, 94%); + --code-color: var(--muted-color); + --code-kbd-background-color: var(--contrast); + --code-kbd-color: var(--contrast-inverse); + --code-tag-color: hsl(330, 40%, 50%); + --code-property-color: hsl(185, 40%, 40%); + --code-value-color: hsl(40, 20%, 50%); + --code-comment-color: hsl(205, 14%, 68%); + --accordion-border-color: var(--muted-border-color); + --accordion-close-summary-color: var(--color); + --accordion-open-summary-color: var(--muted-color); + --card-background-color: var(--background-color); + --card-border-color: var(--muted-border-color); + --card-box-shadow: + 0.0145rem 0.029rem 0.174rem rgba(27, 40, 50, 0.01698), + 0.0335rem 0.067rem 0.402rem rgba(27, 40, 50, 0.024), + 0.0625rem 0.125rem 0.75rem rgba(27, 40, 50, 0.03), + 0.1125rem 0.225rem 1.35rem rgba(27, 40, 50, 0.036), + 0.2085rem 0.417rem 2.502rem rgba(27, 40, 50, 0.04302), + 0.5rem 1rem 6rem rgba(27, 40, 50, 0.06), + 0 0 0 0.0625rem rgba(27, 40, 50, 0.015); + --card-sectionning-background-color: #fbfbfc; + --dropdown-background-color: #fbfbfc; + --dropdown-border-color: #e1e6eb; + --dropdown-box-shadow: var(--card-box-shadow); + --dropdown-color: var(--color); + --dropdown-hover-background-color: hsl(205, 20%, 94%); + --modal-overlay-background-color: rgba(213, 220, 226, 0.7); + --progress-background-color: hsl(205, 18%, 86%); + --progress-color: var(--primary); + --loading-spinner-opacity: 0.5; + --tooltip-background-color: var(--contrast); + --tooltip-color: var(--contrast-inverse); + --icon-checkbox: 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(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E"); + --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(65, 84, 98)' 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"); + --icon-chevron-button: 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(255, 255, 255)' 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"); + --icon-chevron-button-inverse: 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(255, 255, 255)' 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"); + --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(115, 130, 140)' stroke-width='4' 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"); + --icon-date: 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(65, 84, 98)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E"); + --icon-invalid: 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(198, 40, 40)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E"); + --icon-minus: 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(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E"); + --icon-search: 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(65, 84, 98)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E"); + --icon-time: 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(65, 84, 98)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E"); + --icon-valid: 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(56, 142, 60)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E"); color-scheme: light; } -[data-theme=light] input:is([type=submit], -[type=button], -[type=reset], -[type=checkbox], -[type=radio], -[type=file]), -:root:not([data-theme=dark]) input:is([type=submit], -[type=button], -[type=reset], -[type=checkbox], -[type=radio], -[type=file]) { - --pico-form-element-focus-color: var(--pico-primary-focus); -} @media only screen and (prefers-color-scheme: dark) { :root:not([data-theme]) { - --pico-background-color: #13171f; - --pico-color: #c2c7d0; - --pico-text-selection-color: rgba(1, 170, 255, 0.1875); - --pico-muted-color: #7b8495; - --pico-muted-border-color: #202632; - --pico-primary: #01aaff; - --pico-primary-background: #0172ad; - --pico-primary-border: var(--pico-primary-background); - --pico-primary-underline: rgba(1, 170, 255, 0.5); - --pico-primary-hover: #79c0ff; - --pico-primary-hover-background: #017fc0; - --pico-primary-hover-border: var(--pico-primary-hover-background); - --pico-primary-hover-underline: var(--pico-primary-hover); - --pico-primary-focus: rgba(1, 170, 255, 0.375); - --pico-primary-inverse: #fff; - --pico-secondary: #969eaf; - --pico-secondary-background: #525f7a; - --pico-secondary-border: var(--pico-secondary-background); - --pico-secondary-underline: rgba(150, 158, 175, 0.5); - --pico-secondary-hover: #b3b9c5; - --pico-secondary-hover-background: #5d6b89; - --pico-secondary-hover-border: var(--pico-secondary-hover-background); - --pico-secondary-hover-underline: var(--pico-secondary-hover); - --pico-secondary-focus: rgba(144, 158, 190, 0.25); - --pico-secondary-inverse: #fff; - --pico-contrast: #dfe3eb; - --pico-contrast-background: #eff1f4; - --pico-contrast-border: var(--pico-contrast-background); - --pico-contrast-underline: rgba(223, 227, 235, 0.5); - --pico-contrast-hover: #fff; - --pico-contrast-hover-background: #fff; - --pico-contrast-hover-border: var(--pico-contrast-hover-background); - --pico-contrast-hover-underline: var(--pico-contrast-hover); - --pico-contrast-focus: rgba(207, 213, 226, 0.25); - --pico-contrast-inverse: #000; - --pico-box-shadow: 0.0145rem 0.029rem 0.174rem rgba(7, 9, 12, 0.01698), 0.0335rem 0.067rem 0.402rem rgba(7, 9, 12, 0.024), 0.0625rem 0.125rem 0.75rem rgba(7, 9, 12, 0.03), 0.1125rem 0.225rem 1.35rem rgba(7, 9, 12, 0.036), 0.2085rem 0.417rem 2.502rem rgba(7, 9, 12, 0.04302), 0.5rem 1rem 6rem rgba(7, 9, 12, 0.06), 0 0 0 0.0625rem rgba(7, 9, 12, 0.015); - --pico-h1-color: #f0f1f3; - --pico-h2-color: #e0e3e7; - --pico-h3-color: #c2c7d0; - --pico-h4-color: #b3b9c5; - --pico-h5-color: #a4acba; - --pico-h6-color: #8891a4; - --pico-mark-background-color: #014063; - --pico-mark-color: #fff; - --pico-blockquote-border-color: var(--pico-muted-border-color); - --pico-blockquote-footer-color: var(--pico-muted-color); - --pico-button-box-shadow: 0 0 0 rgba(0, 0, 0, 0); - --pico-button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0); - --pico-table-border-color: var(--pico-muted-border-color); - --pico-table-row-stripped-background-color: rgba(111, 120, 135, 0.0375); - --pico-code-background-color: #1a1f28; - --pico-code-color: #8891a4; - --pico-code-kbd-background-color: var(--pico-color); - --pico-code-kbd-color: var(--pico-background-color); - --pico-form-element-background-color: #1c212c; - --pico-form-element-selected-background-color: #2a3140; - --pico-form-element-border-color: #2a3140; - --pico-form-element-color: #e0e3e7; - --pico-form-element-placeholder-color: #8891a4; - --pico-form-element-active-background-color: #1a1f28; - --pico-form-element-active-border-color: var(--pico-primary-border); - --pico-form-element-focus-color: var(--pico-primary-border); - --pico-form-element-disabled-opacity: 0.5; - --pico-form-element-invalid-border-color: #964a50; - --pico-form-element-invalid-active-border-color: #b7403b; - --pico-form-element-invalid-focus-color: var(--pico-form-element-invalid-active-border-color); - --pico-form-element-valid-border-color: #2a7b6f; - --pico-form-element-valid-active-border-color: #16896a; - --pico-form-element-valid-focus-color: var(--pico-form-element-valid-active-border-color); - --pico-switch-background-color: #333c4e; - --pico-switch-checked-background-color: var(--pico-primary-background); - --pico-switch-color: #fff; - --pico-switch-thumb-box-shadow: 0 0 0 rgba(0, 0, 0, 0); - --pico-range-border-color: #202632; - --pico-range-active-border-color: #2a3140; - --pico-range-thumb-border-color: var(--pico-background-color); - --pico-range-thumb-color: var(--pico-secondary-background); - --pico-range-thumb-active-color: var(--pico-primary-background); - --pico-accordion-border-color: var(--pico-muted-border-color); - --pico-accordion-active-summary-color: var(--pico-primary-hover); - --pico-accordion-close-summary-color: var(--pico-color); - --pico-accordion-open-summary-color: var(--pico-muted-color); - --pico-card-background-color: #181c25; - --pico-card-border-color: var(--pico-card-background-color); - --pico-card-box-shadow: var(--pico-box-shadow); - --pico-card-sectioning-background-color: #1a1f28; - --pico-loading-spinner-opacity: 0.5; - --pico-modal-overlay-background-color: rgba(8, 9, 10, 0.75); - --pico-progress-background-color: #202632; - --pico-progress-color: var(--pico-primary-background); - --pico-tooltip-background-color: var(--pico-contrast-background); - --pico-tooltip-color: var(--pico-contrast-inverse); - --pico-icon-valid: 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(42, 123, 111)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E"); - --pico-icon-invalid: 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(150, 74, 80)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E"); + --background-color: #11191f; + --color: hsl(205, 16%, 77%); + --h1-color: hsl(205, 20%, 94%); + --h2-color: #e1e6eb; + --h3-color: hsl(205, 18%, 86%); + --h4-color: #c8d1d8; + --h5-color: hsl(205, 16%, 77%); + --h6-color: #afbbc4; + --muted-color: hsl(205, 10%, 50%); + --muted-border-color: #1f2d38; + --primary: hsl(195, 85%, 41%); + --primary-hover: hsl(195, 80%, 50%); + --primary-focus: rgba(16, 149, 193, 0.25); + --primary-inverse: #fff; + --secondary: hsl(205, 15%, 41%); + --secondary-hover: hsl(205, 10%, 50%); + --secondary-focus: rgba(115, 130, 140, 0.25); + --secondary-inverse: #fff; + --contrast: hsl(205, 20%, 94%); + --contrast-hover: #fff; + --contrast-focus: rgba(115, 130, 140, 0.25); + --contrast-inverse: #000; + --mark-background-color: #d1c284; + --mark-color: #11191f; + --ins-color: #388e3c; + --del-color: #c62828; + --blockquote-border-color: var(--muted-border-color); + --blockquote-footer-color: var(--muted-color); + --button-box-shadow: 0 0 0 rgba(0, 0, 0, 0); + --button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0); + --form-element-background-color: #11191f; + --form-element-border-color: #374956; + --form-element-color: var(--color); + --form-element-placeholder-color: var(--muted-color); + --form-element-active-background-color: var(--form-element-background-color); + --form-element-active-border-color: var(--primary); + --form-element-focus-color: var(--primary-focus); + --form-element-disabled-background-color: hsl(205, 25%, 23%); + --form-element-disabled-border-color: hsl(205, 20%, 32%); + --form-element-disabled-opacity: 0.5; + --form-element-invalid-border-color: #b71c1c; + --form-element-invalid-active-border-color: #c62828; + --form-element-invalid-focus-color: rgba(198, 40, 40, 0.25); + --form-element-valid-border-color: #2e7d32; + --form-element-valid-active-border-color: #388e3c; + --form-element-valid-focus-color: rgba(56, 142, 60, 0.25); + --switch-background-color: #374956; + --switch-color: var(--primary-inverse); + --switch-checked-background-color: var(--primary); + --range-border-color: #24333e; + --range-active-border-color: hsl(205, 25%, 23%); + --range-thumb-border-color: var(--background-color); + --range-thumb-color: var(--secondary); + --range-thumb-hover-color: var(--secondary-hover); + --range-thumb-active-color: var(--primary); + --table-border-color: var(--muted-border-color); + --table-row-stripped-background-color: rgba(115, 130, 140, 0.05); + --code-background-color: #18232c; + --code-color: var(--muted-color); + --code-kbd-background-color: var(--contrast); + --code-kbd-color: var(--contrast-inverse); + --code-tag-color: hsl(330, 30%, 50%); + --code-property-color: hsl(185, 30%, 50%); + --code-value-color: hsl(40, 10%, 50%); + --code-comment-color: #4d606d; + --accordion-border-color: var(--muted-border-color); + --accordion-active-summary-color: var(--primary); + --accordion-close-summary-color: var(--color); + --accordion-open-summary-color: var(--muted-color); + --card-background-color: #141e26; + --card-border-color: var(--card-background-color); + --card-box-shadow: + 0.0145rem 0.029rem 0.174rem rgba(0, 0, 0, 0.01698), + 0.0335rem 0.067rem 0.402rem rgba(0, 0, 0, 0.024), + 0.0625rem 0.125rem 0.75rem rgba(0, 0, 0, 0.03), + 0.1125rem 0.225rem 1.35rem rgba(0, 0, 0, 0.036), + 0.2085rem 0.417rem 2.502rem rgba(0, 0, 0, 0.04302), + 0.5rem 1rem 6rem rgba(0, 0, 0, 0.06), + 0 0 0 0.0625rem rgba(0, 0, 0, 0.015); + --card-sectionning-background-color: #18232c; + --dropdown-background-color: hsl(205, 30%, 15%); + --dropdown-border-color: #24333e; + --dropdown-box-shadow: var(--card-box-shadow); + --dropdown-color: var(--color); + --dropdown-hover-background-color: rgba(36, 51, 62, 0.75); + --modal-overlay-background-color: rgba(36, 51, 62, 0.8); + --progress-background-color: #24333e; + --progress-color: var(--primary); + --loading-spinner-opacity: 0.5; + --tooltip-background-color: var(--contrast); + --tooltip-color: var(--contrast-inverse); + --icon-checkbox: 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(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E"); + --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(162, 175, 185)' 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"); + --icon-chevron-button: 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(255, 255, 255)' 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"); + --icon-chevron-button-inverse: 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(0, 0, 0)' 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"); + --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(115, 130, 140)' stroke-width='4' 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"); + --icon-date: 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(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E"); + --icon-invalid: 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(183, 28, 28)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E"); + --icon-minus: 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(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E"); + --icon-search: 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(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E"); + --icon-time: 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(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E"); + --icon-valid: 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(46, 125, 50)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E"); color-scheme: dark; } - :root:not([data-theme]) input:is([type=submit], - [type=button], - [type=reset], - [type=checkbox], - [type=radio], - [type=file]) { - --pico-form-element-focus-color: var(--pico-primary-focus); - } } [data-theme=dark] { - --pico-background-color: #13171f; - --pico-color: #c2c7d0; - --pico-text-selection-color: rgba(1, 170, 255, 0.1875); - --pico-muted-color: #7b8495; - --pico-muted-border-color: #202632; - --pico-primary: #01aaff; - --pico-primary-background: #0172ad; - --pico-primary-border: var(--pico-primary-background); - --pico-primary-underline: rgba(1, 170, 255, 0.5); - --pico-primary-hover: #79c0ff; - --pico-primary-hover-background: #017fc0; - --pico-primary-hover-border: var(--pico-primary-hover-background); - --pico-primary-hover-underline: var(--pico-primary-hover); - --pico-primary-focus: rgba(1, 170, 255, 0.375); - --pico-primary-inverse: #fff; - --pico-secondary: #969eaf; - --pico-secondary-background: #525f7a; - --pico-secondary-border: var(--pico-secondary-background); - --pico-secondary-underline: rgba(150, 158, 175, 0.5); - --pico-secondary-hover: #b3b9c5; - --pico-secondary-hover-background: #5d6b89; - --pico-secondary-hover-border: var(--pico-secondary-hover-background); - --pico-secondary-hover-underline: var(--pico-secondary-hover); - --pico-secondary-focus: rgba(144, 158, 190, 0.25); - --pico-secondary-inverse: #fff; - --pico-contrast: #dfe3eb; - --pico-contrast-background: #eff1f4; - --pico-contrast-border: var(--pico-contrast-background); - --pico-contrast-underline: rgba(223, 227, 235, 0.5); - --pico-contrast-hover: #fff; - --pico-contrast-hover-background: #fff; - --pico-contrast-hover-border: var(--pico-contrast-hover-background); - --pico-contrast-hover-underline: var(--pico-contrast-hover); - --pico-contrast-focus: rgba(207, 213, 226, 0.25); - --pico-contrast-inverse: #000; - --pico-box-shadow: 0.0145rem 0.029rem 0.174rem rgba(7, 9, 12, 0.01698), 0.0335rem 0.067rem 0.402rem rgba(7, 9, 12, 0.024), 0.0625rem 0.125rem 0.75rem rgba(7, 9, 12, 0.03), 0.1125rem 0.225rem 1.35rem rgba(7, 9, 12, 0.036), 0.2085rem 0.417rem 2.502rem rgba(7, 9, 12, 0.04302), 0.5rem 1rem 6rem rgba(7, 9, 12, 0.06), 0 0 0 0.0625rem rgba(7, 9, 12, 0.015); - --pico-h1-color: #f0f1f3; - --pico-h2-color: #e0e3e7; - --pico-h3-color: #c2c7d0; - --pico-h4-color: #b3b9c5; - --pico-h5-color: #a4acba; - --pico-h6-color: #8891a4; - --pico-mark-background-color: #014063; - --pico-mark-color: #fff; - --pico-blockquote-border-color: var(--pico-muted-border-color); - --pico-blockquote-footer-color: var(--pico-muted-color); - --pico-button-box-shadow: 0 0 0 rgba(0, 0, 0, 0); - --pico-button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0); - --pico-table-border-color: var(--pico-muted-border-color); - --pico-table-row-stripped-background-color: rgba(111, 120, 135, 0.0375); - --pico-code-background-color: #1a1f28; - --pico-code-color: #8891a4; - --pico-code-kbd-background-color: var(--pico-color); - --pico-code-kbd-color: var(--pico-background-color); - --pico-form-element-background-color: #1c212c; - --pico-form-element-selected-background-color: #2a3140; - --pico-form-element-border-color: #2a3140; - --pico-form-element-color: #e0e3e7; - --pico-form-element-placeholder-color: #8891a4; - --pico-form-element-active-background-color: #1a1f28; - --pico-form-element-active-border-color: var(--pico-primary-border); - --pico-form-element-focus-color: var(--pico-primary-border); - --pico-form-element-disabled-opacity: 0.5; - --pico-form-element-invalid-border-color: #964a50; - --pico-form-element-invalid-active-border-color: #b7403b; - --pico-form-element-invalid-focus-color: var(--pico-form-element-invalid-active-border-color); - --pico-form-element-valid-border-color: #2a7b6f; - --pico-form-element-valid-active-border-color: #16896a; - --pico-form-element-valid-focus-color: var(--pico-form-element-valid-active-border-color); - --pico-switch-background-color: #333c4e; - --pico-switch-checked-background-color: var(--pico-primary-background); - --pico-switch-color: #fff; - --pico-switch-thumb-box-shadow: 0 0 0 rgba(0, 0, 0, 0); - --pico-range-border-color: #202632; - --pico-range-active-border-color: #2a3140; - --pico-range-thumb-border-color: var(--pico-background-color); - --pico-range-thumb-color: var(--pico-secondary-background); - --pico-range-thumb-active-color: var(--pico-primary-background); - --pico-accordion-border-color: var(--pico-muted-border-color); - --pico-accordion-active-summary-color: var(--pico-primary-hover); - --pico-accordion-close-summary-color: var(--pico-color); - --pico-accordion-open-summary-color: var(--pico-muted-color); - --pico-card-background-color: #181c25; - --pico-card-border-color: var(--pico-card-background-color); - --pico-card-box-shadow: var(--pico-box-shadow); - --pico-card-sectioning-background-color: #1a1f28; - --pico-loading-spinner-opacity: 0.5; - --pico-modal-overlay-background-color: rgba(8, 9, 10, 0.75); - --pico-progress-background-color: #202632; - --pico-progress-color: var(--pico-primary-background); - --pico-tooltip-background-color: var(--pico-contrast-background); - --pico-tooltip-color: var(--pico-contrast-inverse); - --pico-icon-valid: 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(42, 123, 111)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E"); - --pico-icon-invalid: 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(150, 74, 80)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E"); + --background-color: #11191f; + --color: hsl(205, 16%, 77%); + --h1-color: hsl(205, 20%, 94%); + --h2-color: #e1e6eb; + --h3-color: hsl(205, 18%, 86%); + --h4-color: #c8d1d8; + --h5-color: hsl(205, 16%, 77%); + --h6-color: #afbbc4; + --muted-color: hsl(205, 10%, 50%); + --muted-border-color: #1f2d38; + --primary: hsl(195, 85%, 41%); + --primary-hover: hsl(195, 80%, 50%); + --primary-focus: rgba(16, 149, 193, 0.25); + --primary-inverse: #fff; + --secondary: hsl(205, 15%, 41%); + --secondary-hover: hsl(205, 10%, 50%); + --secondary-focus: rgba(115, 130, 140, 0.25); + --secondary-inverse: #fff; + --contrast: hsl(205, 20%, 94%); + --contrast-hover: #fff; + --contrast-focus: rgba(115, 130, 140, 0.25); + --contrast-inverse: #000; + --mark-background-color: #d1c284; + --mark-color: #11191f; + --ins-color: #388e3c; + --del-color: #c62828; + --blockquote-border-color: var(--muted-border-color); + --blockquote-footer-color: var(--muted-color); + --button-box-shadow: 0 0 0 rgba(0, 0, 0, 0); + --button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0); + --form-element-background-color: #11191f; + --form-element-border-color: #374956; + --form-element-color: var(--color); + --form-element-placeholder-color: var(--muted-color); + --form-element-active-background-color: var(--form-element-background-color); + --form-element-active-border-color: var(--primary); + --form-element-focus-color: var(--primary-focus); + --form-element-disabled-background-color: hsl(205, 25%, 23%); + --form-element-disabled-border-color: hsl(205, 20%, 32%); + --form-element-disabled-opacity: 0.5; + --form-element-invalid-border-color: #b71c1c; + --form-element-invalid-active-border-color: #c62828; + --form-element-invalid-focus-color: rgba(198, 40, 40, 0.25); + --form-element-valid-border-color: #2e7d32; + --form-element-valid-active-border-color: #388e3c; + --form-element-valid-focus-color: rgba(56, 142, 60, 0.25); + --switch-background-color: #374956; + --switch-color: var(--primary-inverse); + --switch-checked-background-color: var(--primary); + --range-border-color: #24333e; + --range-active-border-color: hsl(205, 25%, 23%); + --range-thumb-border-color: var(--background-color); + --range-thumb-color: var(--secondary); + --range-thumb-hover-color: var(--secondary-hover); + --range-thumb-active-color: var(--primary); + --table-border-color: var(--muted-border-color); + --table-row-stripped-background-color: rgba(115, 130, 140, 0.05); + --code-background-color: #18232c; + --code-color: var(--muted-color); + --code-kbd-background-color: var(--contrast); + --code-kbd-color: var(--contrast-inverse); + --code-tag-color: hsl(330, 30%, 50%); + --code-property-color: hsl(185, 30%, 50%); + --code-value-color: hsl(40, 10%, 50%); + --code-comment-color: #4d606d; + --accordion-border-color: var(--muted-border-color); + --accordion-active-summary-color: var(--primary); + --accordion-close-summary-color: var(--color); + --accordion-open-summary-color: var(--muted-color); + --card-background-color: #141e26; + --card-border-color: var(--card-background-color); + --card-box-shadow: + 0.0145rem 0.029rem 0.174rem rgba(0, 0, 0, 0.01698), + 0.0335rem 0.067rem 0.402rem rgba(0, 0, 0, 0.024), + 0.0625rem 0.125rem 0.75rem rgba(0, 0, 0, 0.03), + 0.1125rem 0.225rem 1.35rem rgba(0, 0, 0, 0.036), + 0.2085rem 0.417rem 2.502rem rgba(0, 0, 0, 0.04302), + 0.5rem 1rem 6rem rgba(0, 0, 0, 0.06), + 0 0 0 0.0625rem rgba(0, 0, 0, 0.015); + --card-sectionning-background-color: #18232c; + --dropdown-background-color: hsl(205, 30%, 15%); + --dropdown-border-color: #24333e; + --dropdown-box-shadow: var(--card-box-shadow); + --dropdown-color: var(--color); + --dropdown-hover-background-color: rgba(36, 51, 62, 0.75); + --modal-overlay-background-color: rgba(36, 51, 62, 0.8); + --progress-background-color: #24333e; + --progress-color: var(--primary); + --loading-spinner-opacity: 0.5; + --tooltip-background-color: var(--contrast); + --tooltip-color: var(--contrast-inverse); + --icon-checkbox: 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(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E"); + --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(162, 175, 185)' 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"); + --icon-chevron-button: 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(255, 255, 255)' 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"); + --icon-chevron-button-inverse: 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(0, 0, 0)' 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"); + --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(115, 130, 140)' stroke-width='4' 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"); + --icon-date: 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(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E"); + --icon-invalid: 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(183, 28, 28)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E"); + --icon-minus: 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(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E"); + --icon-search: 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(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E"); + --icon-time: 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(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E"); + --icon-valid: 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(46, 125, 50)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E"); color-scheme: dark; } -[data-theme=dark] input:is([type=submit], -[type=button], -[type=reset], -[type=checkbox], -[type=radio], -[type=file]) { - --pico-form-element-focus-color: var(--pico-primary-focus); -} progress, [type=checkbox], [type=radio], [type=range] { - accent-color: var(--pico-primary); + accent-color: var(--primary); } /** @@ -508,55 +516,55 @@ progress, * Content-box & Responsive typography */ *, - *::before, - *::after { - box-sizing: border-box; - background-repeat: no-repeat; - } - - ::before, - ::after { - text-decoration: inherit; - vertical-align: inherit; - } +*::before, +*::after { + box-sizing: border-box; + background-repeat: no-repeat; +} - :where(:root) { - -webkit-tap-highlight-color: transparent; - -webkit-text-size-adjust: 100%; - -moz-text-size-adjust: 100%; - text-size-adjust: 100%; - background-color: var(--pico-background-color); - color: var(--pico-color); - font-weight: var(--pico-font-weight); - font-size: var(--pico-font-size); - line-height: var(--pico-line-height); - text-underline-offset: var(--pico-text-underline-offset); - text-rendering: optimizeLegibility; - overflow-wrap: break-word; - -moz-tab-size: 4; - -o-tab-size: 4; - tab-size: 4; - } +::before, +::after { + text-decoration: inherit; + vertical-align: inherit; +} - /** - * Landmarks - */ -body { - width: 100%; - margin: 0; +:where(:root) { + -webkit-tap-highlight-color: transparent; + -webkit-text-size-adjust: 100%; + -moz-text-size-adjust: 100%; + text-size-adjust: 100%; + background-color: var(--background-color); + color: var(--color); + font-weight: var(--font-weight); + font-size: var(--font-size); + line-height: var(--line-height); + font-family: var(--font-family); + text-rendering: optimizeLegibility; + overflow-wrap: break-word; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; } -main { +/** + * Sectioning + * Container and responsive spacings for header, main, footer + */ +main, header { display: block; } +body { + width: 100%; + margin: 0; +} body > header, body > main, body > footer { width: 100%; margin-right: auto; margin-left: auto; - padding: var(--pico-block-spacing-vertical) var(--pico-block-spacing-horizontal); + padding: var(--block-spacing-vertical) var(--block-spacing-horizontal); } @media (min-width: 576px) { body > header, @@ -574,11 +582,11 @@ body > footer { max-width: 700px; } } -@media (min-width: 1024px) { +@media (min-width: 992px) { body > header, body > main, body > footer { - max-width: 950px; + max-width: 920px; } } @media (min-width: 1200px) { @@ -589,11 +597,30 @@ body > footer { } } +body > header { + padding-top: 0; +} + /** * Section + * Responsive spacings for section */ section { - margin-bottom: var(--pico-block-spacing-vertical); + margin-bottom: var(--block-spacing-vertical); +} + +/** + * Horizontal scroller (
) + */ +figure { + display: block; + margin: 0; + padding: 0; + overflow-x: auto; +} +figure figcaption { + padding: calc(var(--spacing) * 0.5) 0; + color: var(--muted-color); } /** @@ -623,16 +650,41 @@ sup { address, blockquote, dl, +figure, +form, ol, p, -pre, table, ul { margin-top: 0; - margin-bottom: var(--pico-typography-spacing-vertical); - color: var(--pico-color); + margin-bottom: var(--typography-spacing-vertical); + color: var(--color); font-style: normal; - font-weight: var(--pico-font-weight); + font-weight: var(--font-weight); + font-size: var(--font-size); +} + +a, +[role=link] { + --color: var(--primary); + --background-color: transparent; + outline: none; + background-color: var(--background-color); + color: var(--color); + -webkit-text-decoration: var(--text-decoration); + text-decoration: var(--text-decoration); + transition: background-color var(--transition), color var(--transition), box-shadow var(--transition), -webkit-text-decoration var(--transition); + transition: background-color var(--transition), color var(--transition), text-decoration var(--transition), box-shadow var(--transition); + transition: background-color var(--transition), color var(--transition), text-decoration var(--transition), box-shadow var(--transition), -webkit-text-decoration var(--transition); +} +a:is([aria-current], :hover, :active), +[role=link]:is([aria-current], :hover, :active) { + --color: var(--primary-hover); + --text-decoration: underline; +} +a:focus, +[role=link]:focus { + --background-color: var(--primary-focus); } h1, @@ -642,90 +694,110 @@ h4, h5, h6 { margin-top: 0; - margin-bottom: var(--pico-typography-spacing-vertical); - color: var(--pico-color); - font-weight: var(--pico-font-weight); - font-size: var(--pico-font-size); - line-height: var(--pico-line-height); + margin-bottom: var(--typography-spacing-vertical); + color: var(--color); + font-weight: var(--font-weight); + font-size: var(--font-size); + font-family: var(--font-family); } h1 { - --pico-color: var(--pico-h1-color); + --color: var(--h1-color); } h2 { - --pico-color: var(--pico-h2-color); + --color: var(--h2-color); } h3 { - --pico-color: var(--pico-h3-color); + --color: var(--h3-color); } h4 { - --pico-color: var(--pico-h4-color); + --color: var(--h4-color); } h5 { - --pico-color: var(--pico-h5-color); + --color: var(--h5-color); } h6 { - --pico-color: var(--pico-h6-color); -} - -:where(article, address, blockquote, dl, figure, form, ol, p, pre, table, ul) ~ :is(h1, h2, h3, h4, h5, h6) { - margin-top: var(--pico-typography-spacing-top); + --color: var(--h6-color); } -p { - margin-bottom: var(--pico-typography-spacing-vertical); +:where(address, blockquote, dl, figure, form, ol, p, table, ul) ~ :is(h1, h2, h3, h4, h5, h6) { + margin-top: var(--typography-spacing-vertical); } hgroup { - margin-bottom: var(--pico-typography-spacing-vertical); + margin-bottom: var(--typography-spacing-vertical); } hgroup > * { - margin-top: 0; margin-bottom: 0; } -hgroup > *:not(:first-child):last-child { - --pico-color: var(--pico-muted-color); - --pico-font-weight: unset; +hgroup > *:last-child { + --color: var(--muted-color); + --font-weight: unset; font-size: 1rem; + font-family: unset; +} + +dd, p { + text-align: justify; +} + +p { + margin-bottom: var(--typography-spacing-vertical); } -:where(ol, ul) li { - margin-bottom: calc(var(--pico-typography-spacing-vertical) * 0.25); +small { + font-size: var(--font-size); +} + +:where(dl, ol, ul) { + padding-right: 0; + padding-left: var(--spacing); + -webkit-padding-start: var(--spacing); + padding-inline-start: var(--spacing); + -webkit-padding-end: 0; + padding-inline-end: 0; +} +:where(dl, ol, ul) li { + margin-bottom: calc(var(--typography-spacing-vertical) * 0.25); } -:where(dl, ol, ul) :where(dl, ol, ul) { +:where(dl, ol, ul) :is(dl, ol, ul) { margin: 0; - margin-top: calc(var(--pico-typography-spacing-vertical) * 0.25); + margin-top: calc(var(--typography-spacing-vertical) * 0.25); } ul li { list-style: square; } +dt > a:target, mark { padding: 0.125rem 0.25rem; - background-color: var(--pico-mark-background-color); - color: var(--pico-mark-color); + background-color: var(--mark-background-color); + color: var(--mark-color); vertical-align: baseline; } blockquote { display: block; - margin: var(--pico-typography-spacing-vertical) 0; - padding: var(--pico-spacing); + margin: var(--typography-spacing-vertical) 0; + padding: var(--spacing); + padding-block: 0; border-right: none; - border-left: 0.25rem solid var(--pico-blockquote-border-color); - border-inline-start: 0.25rem solid var(--pico-blockquote-border-color); + border-left: 0.25rem solid var(--blockquote-border-color); + -webkit-border-start: 0.25rem solid var(--blockquote-border-color); + border-inline-start: 0.25rem solid var(--blockquote-border-color); + -webkit-border-end: none; border-inline-end: none; } blockquote footer { - margin-top: calc(var(--pico-typography-spacing-vertical) * 0.5); - color: var(--pico-blockquote-footer-color); + margin-top: calc(var(--typography-spacing-vertical) * 0.5); + color: var(--blockquote-footer-color); } abbr[title] { @@ -735,54 +807,42 @@ abbr[title] { } ins { - color: green; + color: var(--ins-color); text-decoration: none; } del { - color: red; + color: var(--del-color); } ::-moz-selection { - background-color: var(--pico-text-selection-color); + background-color: var(--primary-focus); } ::selection { - background-color: var(--pico-text-selection-color); + background-color: var(--primary-focus); } /** - * Link + * Embedded content */ -:where(a:not([role=button])), -[role=link] { - --pico-color: var(--pico-primary); - --pico-background-color: transparent; - --pico-underline: var(--pico-primary-underline); - outline: none; - background-color: var(--pico-background-color); - color: var(--pico-color); - -webkit-text-decoration: var(--pico-text-decoration); - text-decoration: var(--pico-text-decoration); - text-decoration-color: var(--pico-underline); - text-underline-offset: 0.125em; - transition: background-color var(--pico-transition), color var(--pico-transition), box-shadow var(--pico-transition), -webkit-text-decoration var(--pico-transition); - transition: background-color var(--pico-transition), color var(--pico-transition), text-decoration var(--pico-transition), box-shadow var(--pico-transition); - transition: background-color var(--pico-transition), color var(--pico-transition), text-decoration var(--pico-transition), box-shadow var(--pico-transition), -webkit-text-decoration var(--pico-transition); -} -:where(a:not([role=button])):is([aria-current]:not([aria-current=false]), :hover, :active, :focus), -[role=link]:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) { - --pico-color: var(--pico-primary-hover); - --pico-underline: var(--pico-primary-hover-underline); - --pico-text-decoration: underline; -} -:where(a:not([role=button])):focus-visible, -[role=link]:focus-visible { - box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-primary-focus); -} - -a[role=button] { - display: inline-block; +:where(img, svg) { + vertical-align: middle; +} + +img { + width: 30%; + max-width: 100%; + height: auto; + border-style: none; +} + +:where(svg:not([fill])) { + fill: currentColor; +} + +svg:not(:root) { + overflow: hidden; } /** @@ -791,344 +851,179 @@ a[role=button] { button { margin: 0; overflow: visible; + font-family: inherit; text-transform: none; } button, -[type=submit], +[type=button], [type=reset], -[type=button] { +[type=submit] { -webkit-appearance: button; } +button { + display: block; + width: 100%; + margin-bottom: var(--spacing); +} + +[role=button] { + display: inline-block; + text-decoration: none; +} + button, -[type=submit], -[type=reset], -[type=button], -[type=file]::file-selector-button, +input[type=submit], +input[type=button], +input[type=reset], [role=button] { - --pico-background-color: var(--pico-primary-background); - --pico-border-color: var(--pico-primary-border); - --pico-color: var(--pico-primary-inverse); - --pico-box-shadow: var(--pico-button-box-shadow, 0 0 0 rgba(0, 0, 0, 0)); - padding: var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal); - border: var(--pico-border-width) solid var(--pico-border-color); - border-radius: var(--pico-border-radius); + --background-color: var(--primary); + --border-color: var(--primary); + --color: var(--primary-inverse); + --box-shadow: var(--button-box-shadow, 0 0 0 rgba(0, 0, 0, 0)); + padding: var(--form-element-spacing-vertical) var(--form-element-spacing-horizontal); + border: var(--border-width) solid var(--border-color); + border-radius: var(--border-radius); outline: none; - background-color: var(--pico-background-color); - box-shadow: var(--pico-box-shadow); - color: var(--pico-color); - font-weight: var(--pico-font-weight); + background-color: var(--background-color); + box-shadow: var(--box-shadow); + color: var(--color); + font-weight: var(--font-weight); font-size: 1rem; - line-height: var(--pico-line-height); + line-height: var(--line-height); text-align: center; - text-decoration: none; cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; - transition: background-color var(--pico-transition), border-color var(--pico-transition), color var(--pico-transition), box-shadow var(--pico-transition); -} -button:is([aria-current]:not([aria-current=false])), button:is(:hover, :active, :focus), -[type=submit]:is([aria-current]:not([aria-current=false])), -[type=submit]:is(:hover, :active, :focus), -[type=reset]:is([aria-current]:not([aria-current=false])), -[type=reset]:is(:hover, :active, :focus), -[type=button]:is([aria-current]:not([aria-current=false])), -[type=button]:is(:hover, :active, :focus), -[type=file]::file-selector-button:is([aria-current]:not([aria-current=false])), -[type=file]::file-selector-button:is(:hover, :active, :focus), -[role=button]:is([aria-current]:not([aria-current=false])), -[role=button]:is(:hover, :active, :focus) { - --pico-background-color: var(--pico-primary-hover-background); - --pico-border-color: var(--pico-primary-hover-border); - --pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)); - --pico-color: var(--pico-primary-inverse); -} -button:focus, button:is([aria-current]:not([aria-current=false])):focus, -[type=submit]:focus, -[type=submit]:is([aria-current]:not([aria-current=false])):focus, -[type=reset]:focus, -[type=reset]:is([aria-current]:not([aria-current=false])):focus, -[type=button]:focus, -[type=button]:is([aria-current]:not([aria-current=false])):focus, -[type=file]::file-selector-button:focus, -[type=file]::file-selector-button:is([aria-current]:not([aria-current=false])):focus, -[role=button]:focus, -[role=button]:is([aria-current]:not([aria-current=false])):focus { - --pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--pico-outline-width) var(--pico-primary-focus); -} - -[type=submit], -[type=reset], -[type=button] { - margin-bottom: var(--pico-spacing); -} - -[type=reset], -[type=file]::file-selector-button { - --pico-background-color: var(--pico-secondary-background); - --pico-border-color: var(--pico-secondary-border); - --pico-color: var(--pico-secondary-inverse); + transition: background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition); +} +button:is([aria-current], :hover, :active, :focus), +input[type=submit]:is([aria-current], :hover, :active, :focus), +input[type=button]:is([aria-current], :hover, :active, :focus), +input[type=reset]:is([aria-current], :hover, :active, :focus), +[role=button]:is([aria-current], :hover, :active, :focus) { + --background-color: var(--primary-hover); + --border-color: var(--primary-hover); + --box-shadow: var(--button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)); + --color: var(--primary-inverse); +} +button:focus, +input[type=submit]:focus, +input[type=button]:focus, +input[type=reset]:focus, +[role=button]:focus { + --box-shadow: var(--button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), + 0 0 0 var(--outline-width) var(--primary-focus); +} + +input[type=reset] { + --background-color: var(--secondary); + --border-color: var(--secondary); + --color: var(--secondary-inverse); cursor: pointer; } -[type=reset]:is([aria-current]:not([aria-current=false]), :hover, :active, :focus), -[type=file]::file-selector-button:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) { - --pico-background-color: var(--pico-secondary-hover-background); - --pico-border-color: var(--pico-secondary-hover-border); - --pico-color: var(--pico-secondary-inverse); +input[type=reset]:is([aria-current], :hover, :active, :focus) { + --background-color: var(--secondary-hover); + --border-color: var(--secondary-hover); } -[type=reset]:focus, -[type=file]::file-selector-button:focus { - --pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--pico-outline-width) var(--pico-secondary-focus); +input[type=reset]:focus { + --box-shadow: var(--button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), + 0 0 0 var(--outline-width) var(--secondary-focus); } -:where(button, [type=submit], [type=reset], [type=button], [role=button])[disabled], -:where(fieldset[disabled]) :is(button, [type=submit], [type=button], [type=reset], [role=button]) { +:where(button, [type=submit], [type=button], [type=reset], [role=button])[disabled], +:where(fieldset[disabled]) :is(button, [type=submit], [type=button], [type=reset], [role=button]), +a[role=button]:not([href]) { opacity: 0.5; pointer-events: none; } /** - * Table + * Form elements */ -:where(table) { - width: 100%; - border-collapse: collapse; - border-spacing: 0; - text-indent: 0; +input, +optgroup, +select, +textarea { + margin: 0; + font-size: 1rem; + line-height: var(--line-height); + font-family: inherit; + letter-spacing: inherit; } -th, -td { - padding: calc(var(--pico-spacing) / 2) var(--pico-spacing); - border-bottom: var(--pico-border-width) solid var(--pico-table-border-color); - background-color: var(--pico-background-color); - color: var(--pico-color); - font-weight: var(--pico-font-weight); - text-align: left; - text-align: start; +input { + overflow: visible; } -tfoot th, -tfoot td { - border-top: var(--pico-border-width) solid var(--pico-table-border-color); - border-bottom: 0; +select { + text-transform: none; } -table.striped tbody tr:nth-child(odd) th, -table.striped tbody tr:nth-child(odd) td { - background-color: var(--pico-table-row-stripped-background-color); +legend { + max-width: 100%; + padding: 0; + color: inherit; + white-space: normal; } -/** - * Embedded content - */ -:where(audio, canvas, iframe, img, svg, video) { - vertical-align: middle; +textarea { + overflow: auto; } -audio, -video { - display: inline-block; +[type=checkbox], +[type=radio] { + padding: 0; } -audio:not([controls]) { - display: none; - height: 0; +::-webkit-inner-spin-button, +::-webkit-outer-spin-button { + height: auto; } -:where(iframe) { - border-style: none; +[type=search] { + -webkit-appearance: textfield; + outline-offset: -2px; } -img { - max-width: 100%; - height: auto; - border-style: none; +[type=search]::-webkit-search-decoration { + -webkit-appearance: none; } -:where(svg:not([fill])) { - fill: currentColor; +::-webkit-file-upload-button { + -webkit-appearance: button; + font: inherit; } -svg:not(:root) { - overflow: hidden; +::-moz-focus-inner { + padding: 0; + border-style: none; } -/** - * Code - */ -pre, -code, -kbd, -samp { - font-size: 0.875em; +:-moz-focusring { + outline: none; } -pre code { - font-size: inherit; +:-moz-ui-invalid { + box-shadow: none; } -pre { - -ms-overflow-style: scrollbar; - overflow: auto; +::-ms-expand { + display: none; } -pre, -code, -kbd { - border-radius: var(--pico-border-radius); - background: var(--pico-code-background-color); - color: var(--pico-code-color); - font-weight: var(--pico-font-weight); - line-height: initial; +[type=file], +[type=range] { + padding: 0; + border-width: 0; } -code, -kbd { - display: inline-block; - padding: 0.375rem; -} - -pre { - display: block; - margin-bottom: var(--pico-spacing); - overflow-x: auto; -} -pre > code { - display: block; - padding: var(--pico-spacing); - background: none; - line-height: var(--pico-line-height); -} - -kbd { - background-color: var(--pico-code-kbd-background-color); - color: var(--pico-code-kbd-color); - vertical-align: baseline; -} - -/** - * Figure - */ -figure { - display: block; - margin: 0; - padding: 0; -} -figure figcaption { - padding: calc(var(--pico-spacing) * 0.5) 0; - color: var(--pico-muted-color); -} - -/** - * Miscs - */ -hr { - height: 0; - margin: var(--pico-typography-spacing-vertical) 0; - border: 0; - border-top: 1px solid var(--pico-muted-border-color); - color: inherit; -} - -[hidden], -template { - display: none !important; -} - -canvas { - display: inline-block; -} - -/** - * Basics form elements - */ -input, -optgroup, -select, -textarea { - margin: 0; - font-size: 1rem; - line-height: var(--pico-line-height); - letter-spacing: inherit; -} - -input { - overflow: visible; -} - -select { - text-transform: none; -} - -legend { - max-width: 100%; - padding: 0; - color: inherit; - white-space: normal; -} - -textarea { - overflow: auto; -} - -[type=checkbox], -[type=radio] { - padding: 0; -} - -::-webkit-inner-spin-button, -::-webkit-outer-spin-button { - height: auto; -} - -[type=search] { - -webkit-appearance: textfield; - outline-offset: -2px; -} - -[type=search]::-webkit-search-decoration { - -webkit-appearance: none; -} - -::-webkit-file-upload-button { - -webkit-appearance: button; - font: inherit; -} - -::-moz-focus-inner { - padding: 0; - border-style: none; -} - -:-moz-focusring { - outline: none; -} - -:-moz-ui-invalid { - box-shadow: none; -} - -::-ms-expand { - display: none; -} - -[type=file], -[type=range] { - padding: 0; - border-width: 0; -} - -input:not([type=checkbox], [type=radio], [type=range]) { - height: calc(1rem * var(--pico-line-height) + var(--pico-form-element-spacing-vertical) * 2 + var(--pico-border-width) * 2); +input:not([type=checkbox], [type=radio], [type=range]) { + height: calc(1rem * var(--line-height) + var(--form-element-spacing-vertical) * 2 + var(--border-width) * 2); } fieldset { - width: 100%; margin: 0; - margin-bottom: var(--pico-spacing); + margin-bottom: var(--spacing); padding: 0; border: 0; } @@ -1136,17 +1031,11 @@ fieldset { label, fieldset legend { display: block; - margin-bottom: calc(var(--pico-spacing) * 0.375); - color: var(--pico-color); - font-weight: var(--pico-form-label-font-weight, var(--pico-font-weight)); -} - -fieldset legend { - margin-bottom: calc(var(--pico-spacing) * 0.5); + margin-bottom: calc(var(--spacing) * 0.25); + font-weight: var(--form-label-font-weight, var(--font-weight)); } input:not([type=checkbox], [type=radio]), -button[type=submit], select, textarea { width: 100%; @@ -1158,121 +1047,82 @@ textarea { -webkit-appearance: none; -moz-appearance: none; appearance: none; - padding: var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal); + padding: var(--form-element-spacing-vertical) var(--form-element-spacing-horizontal); } input, select, textarea { - --pico-background-color: var(--pico-form-element-background-color); - --pico-border-color: var(--pico-form-element-border-color); - --pico-color: var(--pico-form-element-color); - --pico-box-shadow: none; - border: var(--pico-border-width) solid var(--pico-border-color); - border-radius: var(--pico-border-radius); + --background-color: var(--form-element-background-color); + --border-color: var(--form-element-border-color); + --color: var(--form-element-color); + --box-shadow: none; + border: var(--border-width) solid var(--border-color); + border-radius: var(--border-radius); outline: none; - background-color: var(--pico-background-color); - box-shadow: var(--pico-box-shadow); - color: var(--pico-color); - font-weight: var(--pico-font-weight); - transition: background-color var(--pico-transition), border-color var(--pico-transition), color var(--pico-transition), box-shadow var(--pico-transition); + background-color: var(--background-color); + box-shadow: var(--box-shadow); + color: var(--color); + font-weight: var(--font-weight); + transition: background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition); } -input:not([type=submit], -[type=button], -[type=reset], -[type=checkbox], -[type=radio], -[readonly]):is(:active, :focus), -:where(select, textarea):not([readonly]):is(:active, :focus) { - --pico-background-color: var(--pico-form-element-active-background-color); +input:not([type=submit], [type=button], [type=reset], [type=checkbox], [type=radio], [readonly]):is(:active, :focus), +:where(select, textarea):is(:active, :focus) { + --background-color: var(--form-element-active-background-color); } input:not([type=submit], [type=button], [type=reset], [role=switch], [readonly]):is(:active, :focus), -:where(select, textarea):not([readonly]):is(:active, :focus) { - --pico-border-color: var(--pico-form-element-active-border-color); +:where(select, textarea):is(:active, :focus) { + --border-color: var(--form-element-active-border-color); } -input:not([type=submit], -[type=button], -[type=reset], -[type=range], -[type=file], -[readonly]):focus, -:where(select, textarea):not([readonly]):focus { - --pico-box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-form-element-focus-color); +input:not([type=submit], [type=button], [type=reset], [type=range], [type=file], [readonly]):focus, +select:focus, +textarea:focus { + --box-shadow: 0 0 0 var(--outline-width) var(--form-element-focus-color); } input:not([type=submit], [type=button], [type=reset])[disabled], select[disabled], textarea[disabled], -label[aria-disabled=true], :where(fieldset[disabled]) :is(input:not([type=submit], [type=button], [type=reset]), select, textarea) { - opacity: var(--pico-form-element-disabled-opacity); + --background-color: var(--form-element-disabled-background-color); + --border-color: var(--form-element-disabled-border-color); + opacity: var(--form-element-disabled-opacity); pointer-events: none; } -label[aria-disabled=true] input[disabled] { - opacity: 1; -} - -:where(input, select, textarea):not([type=checkbox], -[type=radio], -[type=date], -[type=datetime-local], -[type=month], -[type=time], -[type=week], -[type=range])[aria-invalid] { - padding-right: calc(var(--pico-form-element-spacing-horizontal) + 1.5rem) !important; - padding-left: var(--pico-form-element-spacing-horizontal); - padding-inline-start: var(--pico-form-element-spacing-horizontal) !important; - padding-inline-end: calc(var(--pico-form-element-spacing-horizontal) + 1.5rem) !important; +:where(input, select, textarea):not([type=checkbox], [type=radio], [type=date], [type=datetime-local], [type=month], [type=time], [type=week])[aria-invalid] { + padding-right: calc(var(--form-element-spacing-horizontal) + 1.5rem) !important; + padding-left: var(--form-element-spacing-horizontal); + -webkit-padding-start: var(--form-element-spacing-horizontal) !important; + padding-inline-start: var(--form-element-spacing-horizontal) !important; + -webkit-padding-end: calc(var(--form-element-spacing-horizontal) + 1.5rem) !important; + padding-inline-end: calc(var(--form-element-spacing-horizontal) + 1.5rem) !important; background-position: center right 0.75rem; background-size: 1rem auto; background-repeat: no-repeat; } -:where(input, select, textarea):not([type=checkbox], -[type=radio], -[type=date], -[type=datetime-local], -[type=month], -[type=time], -[type=week], -[type=range])[aria-invalid=false]:not(select) { - background-image: var(--pico-icon-valid); -} -:where(input, select, textarea):not([type=checkbox], -[type=radio], -[type=date], -[type=datetime-local], -[type=month], -[type=time], -[type=week], -[type=range])[aria-invalid=true]:not(select) { - background-image: var(--pico-icon-invalid); +:where(input, select, textarea):not([type=checkbox], [type=radio], [type=date], [type=datetime-local], [type=month], [type=time], [type=week])[aria-invalid=false] { + background-image: var(--icon-valid); +} +:where(input, select, textarea):not([type=checkbox], [type=radio], [type=date], [type=datetime-local], [type=month], [type=time], [type=week])[aria-invalid=true] { + background-image: var(--icon-invalid); } :where(input, select, textarea)[aria-invalid=false] { - --pico-border-color: var(--pico-form-element-valid-border-color); + --border-color: var(--form-element-valid-border-color); } :where(input, select, textarea)[aria-invalid=false]:is(:active, :focus) { - --pico-border-color: var(--pico-form-element-valid-active-border-color) !important; -} -:where(input, select, textarea)[aria-invalid=false]:is(:active, :focus):not([type=checkbox], [type=radio]) { - --pico-box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-form-element-valid-focus-color) !important; + --border-color: var(--form-element-valid-active-border-color) !important; + --box-shadow: 0 0 0 var(--outline-width) var(--form-element-valid-focus-color) !important; } :where(input, select, textarea)[aria-invalid=true] { - --pico-border-color: var(--pico-form-element-invalid-border-color); + --border-color: var(--form-element-invalid-border-color); } :where(input, select, textarea)[aria-invalid=true]:is(:active, :focus) { - --pico-border-color: var(--pico-form-element-invalid-active-border-color) !important; -} -:where(input, select, textarea)[aria-invalid=true]:is(:active, :focus):not([type=checkbox], [type=radio]) { - --pico-box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-form-element-invalid-focus-color) !important; -} - -[dir=rtl] :where(input, select, textarea):not([type=checkbox], [type=radio]):is([aria-invalid], [aria-invalid=true], [aria-invalid=false]) { - background-position: center left 0.75rem; + --border-color: var(--form-element-invalid-active-border-color) !important; + --box-shadow: 0 0 0 var(--outline-width) var(--form-element-invalid-focus-color) !important; } input::placeholder, @@ -1280,14 +1130,14 @@ input::-webkit-input-placeholder, textarea::placeholder, textarea::-webkit-input-placeholder, select:invalid { - color: var(--pico-form-element-placeholder-color); + color: var(--form-element-placeholder-color); opacity: 1; } input:not([type=checkbox], [type=radio]), select, textarea { - margin-bottom: var(--pico-spacing); + margin-bottom: var(--spacing); } select::-ms-expand { @@ -1295,61 +1145,34 @@ select::-ms-expand { background-color: transparent; } select:not([multiple], [size]) { - padding-right: calc(var(--pico-form-element-spacing-horizontal) + 1.5rem); - padding-left: var(--pico-form-element-spacing-horizontal); - padding-inline-start: var(--pico-form-element-spacing-horizontal); - padding-inline-end: calc(var(--pico-form-element-spacing-horizontal) + 1.5rem); - background-image: var(--pico-icon-chevron); + padding-right: calc(var(--form-element-spacing-horizontal) + 1.5rem); + padding-left: var(--form-element-spacing-horizontal); + -webkit-padding-start: var(--form-element-spacing-horizontal); + padding-inline-start: var(--form-element-spacing-horizontal); + -webkit-padding-end: calc(var(--form-element-spacing-horizontal) + 1.5rem); + padding-inline-end: calc(var(--form-element-spacing-horizontal) + 1.5rem); + background-image: var(--icon-chevron); background-position: center right 0.75rem; background-size: 1rem auto; background-repeat: no-repeat; } -select[multiple] option:checked { - background: var(--pico-form-element-selected-background-color); - color: var(--pico-form-element-color); -} - -[dir=rtl] select:not([multiple], [size]) { - background-position: center left 0.75rem; -} - -textarea { - display: block; - resize: vertical; -} -textarea[aria-invalid] { - --pico-icon-height: calc(1rem * var(--pico-line-height) + var(--pico-form-element-spacing-vertical) * 2 + var(--pico-border-width) * 2); - background-position: top right 0.75rem !important; - background-size: 1rem var(--pico-icon-height) !important; -} -:where(input, select, textarea, fieldset) + small { +:where(input, select, textarea) + small { display: block; width: 100%; - margin-top: calc(var(--pico-spacing) * -0.75); - margin-bottom: var(--pico-spacing); - color: var(--pico-muted-color); -} -:where(input, select, textarea, fieldset)[aria-invalid=false] + small { - color: green; -} -:where(input, select, textarea, fieldset)[aria-invalid=true] + small { - color: red; + margin-top: calc(var(--spacing) * -0.75); + margin-bottom: var(--spacing); + color: var(--muted-color); } label > :where(input, select, textarea) { - margin-top: calc(var(--pico-spacing) * 0.25); + margin-top: calc(var(--spacing) * 0.25); } /** - * Checkboxes, Radios and Switches + * Form elements + * Checkboxes & Radios */ -label:has([type=checkbox], [type=radio]) { - width: -moz-fit-content; - width: fit-content; - cursor: pointer; -} - [type=checkbox], [type=radio] { -webkit-appearance: none; @@ -1358,8 +1181,14 @@ label:has([type=checkbox], [type=radio]) { width: 1.25em; height: 1.25em; margin-top: -0.125em; - margin-inline-end: 0.5em; - border-width: var(--pico-border-width); + margin-right: 0.375em; + margin-left: 0; + -webkit-margin-start: 0; + margin-inline-start: 0; + -webkit-margin-end: 0.375em; + margin-inline-end: 0.375em; + border-width: var(--border-width); + font-size: inherit; vertical-align: middle; cursor: pointer; } @@ -1371,9 +1200,9 @@ label:has([type=checkbox], [type=radio]) { [type=radio]:checked, [type=radio]:checked:active, [type=radio]:checked:focus { - --pico-background-color: var(--pico-primary-background); - --pico-border-color: var(--pico-primary-border); - background-image: var(--pico-icon-checkbox); + --background-color: var(--primary); + --border-color: var(--primary); + background-image: var(--icon-checkbox); background-position: center; background-size: 0.75em auto; background-repeat: no-repeat; @@ -1381,18 +1210,15 @@ label:has([type=checkbox], [type=radio]) { [type=checkbox] ~ label, [type=radio] ~ label { display: inline-block; + margin-right: 0.375em; margin-bottom: 0; cursor: pointer; } -[type=checkbox] ~ label:not(:last-of-type), -[type=radio] ~ label:not(:last-of-type) { - margin-inline-end: 1em; -} [type=checkbox]:indeterminate { - --pico-background-color: var(--pico-primary-background); - --pico-border-color: var(--pico-primary-border); - background-image: var(--pico-icon-minus); + --background-color: var(--primary); + --border-color: var(--primary); + background-image: var(--icon-minus); background-position: center; background-size: 0.75em auto; background-repeat: no-repeat; @@ -1402,84 +1228,68 @@ label:has([type=checkbox], [type=radio]) { border-radius: 50%; } [type=radio]:checked, [type=radio]:checked:active, [type=radio]:checked:focus { - --pico-background-color: var(--pico-primary-inverse); + --background-color: var(--primary-inverse); border-width: 0.35em; background-image: none; } [type=checkbox][role=switch] { - --pico-background-color: var(--pico-switch-background-color); - --pico-color: var(--pico-switch-color); + --background-color: var(--switch-background-color); + --border-color: var(--switch-background-color); + --color: var(--switch-color); width: 2.25em; height: 1.25em; - border: var(--pico-border-width) solid var(--pico-border-color); + border: var(--border-width) solid var(--border-color); border-radius: 1.25em; - background-color: var(--pico-background-color); + background-color: var(--background-color); line-height: 1.25em; } -[type=checkbox][role=switch]:not([aria-invalid]) { - --pico-border-color: var(--pico-switch-background-color); +[type=checkbox][role=switch]:focus { + --background-color: var(--switch-background-color); + --border-color: var(--switch-background-color); +} +[type=checkbox][role=switch]:checked { + --background-color: var(--switch-checked-background-color); + --border-color: var(--switch-checked-background-color); } [type=checkbox][role=switch]:before { display: block; - aspect-ratio: 1; + width: calc(1.25em - (var(--border-width) * 2)); height: 100%; border-radius: 50%; - background-color: var(--pico-color); - box-shadow: var(--pico-switch-thumb-box-shadow); + background-color: var(--color); content: ""; transition: margin 0.1s ease-in-out; } -[type=checkbox][role=switch]:focus { - --pico-background-color: var(--pico-switch-background-color); - --pico-border-color: var(--pico-switch-background-color); -} [type=checkbox][role=switch]:checked { - --pico-background-color: var(--pico-switch-checked-background-color); - --pico-border-color: var(--pico-switch-checked-background-color); background-image: none; } [type=checkbox][role=switch]:checked::before { - margin-inline-start: calc(2.25em - 1.25em); -} -[type=checkbox][role=switch][disabled] { - --pico-background-color: var(--pico-border-color); -} - -[type=checkbox][aria-invalid=false]:checked, [type=checkbox][aria-invalid=false]:checked:active, [type=checkbox][aria-invalid=false]:checked:focus, -[type=checkbox][role=switch][aria-invalid=false]:checked, -[type=checkbox][role=switch][aria-invalid=false]:checked:active, -[type=checkbox][role=switch][aria-invalid=false]:checked:focus { - --pico-background-color: var(--pico-form-element-valid-border-color); -} -[type=checkbox]:checked[aria-invalid=true], [type=checkbox]:checked:active[aria-invalid=true], [type=checkbox]:checked:focus[aria-invalid=true], -[type=checkbox][role=switch]:checked[aria-invalid=true], -[type=checkbox][role=switch]:checked:active[aria-invalid=true], -[type=checkbox][role=switch]:checked:focus[aria-invalid=true] { - --pico-background-color: var(--pico-form-element-invalid-border-color); -} - -[type=checkbox][aria-invalid=false]:checked, [type=checkbox][aria-invalid=false]:checked:active, [type=checkbox][aria-invalid=false]:checked:focus, -[type=radio][aria-invalid=false]:checked, -[type=radio][aria-invalid=false]:checked:active, -[type=radio][aria-invalid=false]:checked:focus, -[type=checkbox][role=switch][aria-invalid=false]:checked, -[type=checkbox][role=switch][aria-invalid=false]:checked:active, -[type=checkbox][role=switch][aria-invalid=false]:checked:focus { - --pico-border-color: var(--pico-form-element-valid-border-color); -} -[type=checkbox]:checked[aria-invalid=true], [type=checkbox]:checked:active[aria-invalid=true], [type=checkbox]:checked:focus[aria-invalid=true], + margin-left: calc(1.125em - var(--border-width)); + -webkit-margin-start: calc(1.125em - var(--border-width)); + margin-inline-start: calc(1.125em - var(--border-width)); +} + +[type=checkbox][aria-invalid=false], +[type=checkbox]:checked[aria-invalid=false], +[type=radio][aria-invalid=false], +[type=radio]:checked[aria-invalid=false], +[type=checkbox][role=switch][aria-invalid=false], +[type=checkbox][role=switch]:checked[aria-invalid=false] { + --border-color: var(--form-element-valid-border-color); +} +[type=checkbox][aria-invalid=true], +[type=checkbox]:checked[aria-invalid=true], +[type=radio][aria-invalid=true], [type=radio]:checked[aria-invalid=true], -[type=radio]:checked:active[aria-invalid=true], -[type=radio]:checked:focus[aria-invalid=true], -[type=checkbox][role=switch]:checked[aria-invalid=true], -[type=checkbox][role=switch]:checked:active[aria-invalid=true], -[type=checkbox][role=switch]:checked:focus[aria-invalid=true] { - --pico-border-color: var(--pico-form-element-invalid-border-color); +[type=checkbox][role=switch][aria-invalid=true], +[type=checkbox][role=switch]:checked[aria-invalid=true] { + --border-color: var(--form-element-invalid-border-color); } /** - * Input type color + * Form elements + * Alternatives input types (Not Checkboxes & Radios) */ [type=color]::-webkit-color-swatch-wrapper { padding: 0; @@ -1489,27 +1299,24 @@ label:has([type=checkbox], [type=radio]) { } [type=color]::-webkit-color-swatch { border: 0; - border-radius: calc(var(--pico-border-radius) * 0.5); + border-radius: calc(var(--border-radius) * 0.5); } [type=color]::-moz-color-swatch { border: 0; - border-radius: calc(var(--pico-border-radius) * 0.5); + border-radius: calc(var(--border-radius) * 0.5); } -/** - * Input type datetime - */ input:not([type=checkbox], [type=radio], [type=range], [type=file]):is([type=date], [type=datetime-local], [type=month], [type=time], [type=week]) { - --pico-icon-position: 0.75rem; - --pico-icon-width: 1rem; - padding-right: calc(var(--pico-icon-width) + var(--pico-icon-position)); - background-image: var(--pico-icon-date); - background-position: center right var(--pico-icon-position); - background-size: var(--pico-icon-width) auto; + --icon-position: 0.75rem; + --icon-width: 1rem; + padding-right: calc(var(--icon-width) + var(--icon-position)); + background-image: var(--icon-date); + background-position: center right var(--icon-position); + background-size: var(--icon-width) auto; background-repeat: no-repeat; } input:not([type=checkbox], [type=radio], [type=range], [type=file])[type=time] { - background-image: var(--pico-icon-time); + background-image: var(--icon-time); } [type=date]::-webkit-calendar-picker-indicator, @@ -1517,9 +1324,9 @@ input:not([type=checkbox], [type=radio], [type=range], [type=file])[type=time] { [type=month]::-webkit-calendar-picker-indicator, [type=time]::-webkit-calendar-picker-indicator, [type=week]::-webkit-calendar-picker-indicator { - width: var(--pico-icon-width); - margin-right: calc(var(--pico-icon-width) * -1); - margin-left: var(--pico-icon-position); + width: var(--icon-width); + margin-right: calc(var(--icon-width) * -1); + margin-left: var(--icon-position); opacity: 0; } @@ -1529,41 +1336,102 @@ input:not([type=checkbox], [type=radio], [type=range], [type=file])[type=time] { [type=month], [type=time], [type=week] { - padding-right: var(--pico-form-element-spacing-horizontal) !important; + padding-right: var(--form-element-spacing-horizontal) !important; background-image: none !important; } } -[dir=rtl] :is([type=date], [type=datetime-local], [type=month], [type=time], [type=week]) { - text-align: right; -} - -/** - * Input type file - */ [type=file] { - --pico-color: var(--pico-muted-color); - margin-left: calc(var(--pico-outline-width) * -1); - padding: calc(var(--pico-form-element-spacing-vertical) * 0.5) 0; - padding-left: var(--pico-outline-width); + --color: var(--muted-color); + padding: calc(var(--form-element-spacing-vertical) * 0.5) 0; border: 0; border-radius: 0; background: none; } [type=file]::file-selector-button { - margin-right: calc(var(--pico-spacing) / 2); - padding: calc(var(--pico-form-element-spacing-vertical) * 0.5) var(--pico-form-element-spacing-horizontal); + --background-color: var(--secondary); + --border-color: var(--secondary); + --color: var(--secondary-inverse); + margin-right: calc(var(--spacing) / 2); + margin-left: 0; + -webkit-margin-start: 0; + margin-inline-start: 0; + -webkit-margin-end: calc(var(--spacing) / 2); + margin-inline-end: calc(var(--spacing) / 2); + padding: calc(var(--form-element-spacing-vertical) * 0.5) calc(var(--form-element-spacing-horizontal) * 0.5); + border: var(--border-width) solid var(--border-color); + border-radius: var(--border-radius); + outline: none; + background-color: var(--background-color); + box-shadow: var(--box-shadow); + color: var(--color); + font-weight: var(--font-weight); + font-size: 1rem; + line-height: var(--line-height); + text-align: center; + cursor: pointer; + transition: background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition); } -[type=file]:is(:hover, :active, :focus)::file-selector-button { - --pico-background-color: var(--pico-secondary-hover-background); - --pico-border-color: var(--pico-secondary-hover-border); +[type=file]::file-selector-button:is(:hover, :active, :focus) { + --background-color: var(--secondary-hover); + --border-color: var(--secondary-hover); +} +[type=file]::-webkit-file-upload-button { + --background-color: var(--secondary); + --border-color: var(--secondary); + --color: var(--secondary-inverse); + margin-right: calc(var(--spacing) / 2); + margin-left: 0; + -webkit-margin-start: 0; + margin-inline-start: 0; + -webkit-margin-end: calc(var(--spacing) / 2); + margin-inline-end: calc(var(--spacing) / 2); + padding: calc(var(--form-element-spacing-vertical) * 0.5) calc(var(--form-element-spacing-horizontal) * 0.5); + border: var(--border-width) solid var(--border-color); + border-radius: var(--border-radius); + outline: none; + background-color: var(--background-color); + box-shadow: var(--box-shadow); + color: var(--color); + font-weight: var(--font-weight); + font-size: 1rem; + line-height: var(--line-height); + text-align: center; + cursor: pointer; + -webkit-transition: background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition); + transition: background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition); +} +[type=file]::-webkit-file-upload-button:is(:hover, :active, :focus) { + --background-color: var(--secondary-hover); + --border-color: var(--secondary-hover); +} +[type=file]::-ms-browse { + --background-color: var(--secondary); + --border-color: var(--secondary); + --color: var(--secondary-inverse); + margin-right: calc(var(--spacing) / 2); + margin-left: 0; + margin-inline-start: 0; + margin-inline-end: calc(var(--spacing) / 2); + padding: calc(var(--form-element-spacing-vertical) * 0.5) calc(var(--form-element-spacing-horizontal) * 0.5); + border: var(--border-width) solid var(--border-color); + border-radius: var(--border-radius); + outline: none; + background-color: var(--background-color); + box-shadow: var(--box-shadow); + color: var(--color); + font-weight: var(--font-weight); + font-size: 1rem; + line-height: var(--line-height); + text-align: center; + cursor: pointer; + -ms-transition: background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition); + transition: background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition); } -[type=file]:focus::file-selector-button { - --pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--pico-outline-width) var(--pico-secondary-focus); +[type=file]::-ms-browse:is(:hover, :active, :focus) { + --background-color: var(--secondary-hover); + --border-color: var(--secondary-hover); } -/** - * Input type range - */ [type=range] { -webkit-appearance: none; -moz-appearance: none; @@ -1574,67 +1442,70 @@ input:not([type=checkbox], [type=radio], [type=range], [type=file])[type=time] { } [type=range]::-webkit-slider-runnable-track { width: 100%; - height: 0.375rem; - border-radius: var(--pico-border-radius); - background-color: var(--pico-range-border-color); - -webkit-transition: background-color var(--pico-transition), box-shadow var(--pico-transition); - transition: background-color var(--pico-transition), box-shadow var(--pico-transition); + height: 0.25rem; + border-radius: var(--border-radius); + background-color: var(--range-border-color); + -webkit-transition: background-color var(--transition), box-shadow var(--transition); + transition: background-color var(--transition), box-shadow var(--transition); } [type=range]::-moz-range-track { width: 100%; - height: 0.375rem; - border-radius: var(--pico-border-radius); - background-color: var(--pico-range-border-color); - -moz-transition: background-color var(--pico-transition), box-shadow var(--pico-transition); - transition: background-color var(--pico-transition), box-shadow var(--pico-transition); + height: 0.25rem; + border-radius: var(--border-radius); + background-color: var(--range-border-color); + -moz-transition: background-color var(--transition), box-shadow var(--transition); + transition: background-color var(--transition), box-shadow var(--transition); } [type=range]::-ms-track { width: 100%; - height: 0.375rem; - border-radius: var(--pico-border-radius); - background-color: var(--pico-range-border-color); - -ms-transition: background-color var(--pico-transition), box-shadow var(--pico-transition); - transition: background-color var(--pico-transition), box-shadow var(--pico-transition); + height: 0.25rem; + border-radius: var(--border-radius); + background-color: var(--range-border-color); + -ms-transition: background-color var(--transition), box-shadow var(--transition); + transition: background-color var(--transition), box-shadow var(--transition); } [type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 1.25rem; height: 1.25rem; - margin-top: -0.4375rem; - border: 2px solid var(--pico-range-thumb-border-color); + margin-top: -0.5rem; + border: 2px solid var(--range-thumb-border-color); border-radius: 50%; - background-color: var(--pico-range-thumb-color); + background-color: var(--range-thumb-color); cursor: pointer; - -webkit-transition: background-color var(--pico-transition), transform var(--pico-transition); - transition: background-color var(--pico-transition), transform var(--pico-transition); + -webkit-transition: background-color var(--transition), transform var(--transition); + transition: background-color var(--transition), transform var(--transition); } [type=range]::-moz-range-thumb { -webkit-appearance: none; width: 1.25rem; height: 1.25rem; - margin-top: -0.4375rem; - border: 2px solid var(--pico-range-thumb-border-color); + margin-top: -0.5rem; + border: 2px solid var(--range-thumb-border-color); border-radius: 50%; - background-color: var(--pico-range-thumb-color); + background-color: var(--range-thumb-color); cursor: pointer; - -moz-transition: background-color var(--pico-transition), transform var(--pico-transition); - transition: background-color var(--pico-transition), transform var(--pico-transition); + -moz-transition: background-color var(--transition), transform var(--transition); + transition: background-color var(--transition), transform var(--transition); } [type=range]::-ms-thumb { -webkit-appearance: none; width: 1.25rem; height: 1.25rem; - margin-top: -0.4375rem; - border: 2px solid var(--pico-range-thumb-border-color); + margin-top: -0.5rem; + border: 2px solid var(--range-thumb-border-color); border-radius: 50%; - background-color: var(--pico-range-thumb-color); + background-color: var(--range-thumb-color); cursor: pointer; - -ms-transition: background-color var(--pico-transition), transform var(--pico-transition); - transition: background-color var(--pico-transition), transform var(--pico-transition); + -ms-transition: background-color var(--transition), transform var(--transition); + transition: background-color var(--transition), transform var(--transition); +} +[type=range]:hover, [type=range]:focus { + --range-border-color: var(--range-active-border-color); + --range-thumb-color: var(--range-thumb-hover-color); } -[type=range]:active, [type=range]:focus-within { - --pico-range-border-color: var(--pico-range-active-border-color); - --pico-range-thumb-color: var(--pico-range-thumb-active-color); +[type=range]:active { + --range-thumb-color: var(--range-thumb-active-color); } [type=range]:active::-webkit-slider-thumb { transform: scale(1.25); @@ -1646,49 +1517,96 @@ input:not([type=checkbox], [type=radio], [type=range], [type=file])[type=time] { transform: scale(1.25); } -/** - * Input type search - */ input:not([type=checkbox], [type=radio], [type=range], [type=file])[type=search] { - padding-inline-start: calc(var(--pico-form-element-spacing-horizontal) + 1.75rem); - background-image: var(--pico-icon-search); - background-position: center left calc(var(--pico-form-element-spacing-horizontal) + 0.125rem); + -webkit-padding-start: calc(var(--form-element-spacing-horizontal) + 1.75rem); + padding-inline-start: calc(var(--form-element-spacing-horizontal) + 1.75rem); + border-radius: 5rem; + background-image: var(--icon-search); + background-position: center left 1.125rem; background-size: 1rem auto; background-repeat: no-repeat; } input:not([type=checkbox], [type=radio], [type=range], [type=file])[type=search][aria-invalid] { - padding-inline-start: calc(var(--pico-form-element-spacing-horizontal) + 1.75rem) !important; + -webkit-padding-start: calc(var(--form-element-spacing-horizontal) + 1.75rem) !important; + padding-inline-start: calc(var(--form-element-spacing-horizontal) + 1.75rem) !important; background-position: center left 1.125rem, center right 0.75rem; } input:not([type=checkbox], [type=radio], [type=range], [type=file])[type=search][aria-invalid=false] { - background-image: var(--pico-icon-search), var(--pico-icon-valid); + background-image: var(--icon-search), var(--icon-valid); } input:not([type=checkbox], [type=radio], [type=range], [type=file])[type=search][aria-invalid=true] { - background-image: var(--pico-icon-search), var(--pico-icon-invalid); + background-image: var(--icon-search), var(--icon-invalid); +} + +[type=search]::-webkit-search-cancel-button { + -webkit-appearance: none; + display: none; +} + +/** + * Table + */ +:where(table) { + width: 100%; + border-collapse: collapse; + border-spacing: 0; + text-indent: 0; +} + +th, +td { + padding: calc(var(--spacing) / 2) var(--spacing); + border-bottom: var(--border-width) solid var(--table-border-color); + color: var(--color); + font-weight: var(--font-weight); + font-size: var(--font-size); + text-align: left; + text-align: start; +} + +tfoot th, +tfoot td { + border-top: var(--border-width) solid var(--table-border-color); + border-bottom: 0; +} + +table[role=grid] tbody tr:nth-child(odd) { + background-color: var(--table-row-stripped-background-color); } -[dir=rtl] :where(input):not([type=checkbox], [type=radio], [type=range], [type=file])[type=search] { - background-position: center right 1.125rem; +/** + * Miscs + */ +hr { + height: 0; + border: 0; + border-top: 1px solid var(--muted-border-color); + color: inherit; } -[dir=rtl] :where(input):not([type=checkbox], [type=radio], [type=range], [type=file])[type=search][aria-invalid] { - background-position: center right 1.125rem, center left 0.75rem; + +[hidden], +template { + display: none !important; } + /** * Accordion (
) */ details { display: block; - margin-bottom: var(--pico-spacing); + margin-bottom: var(--spacing); + padding-bottom: var(--spacing); + border-bottom: var(--border-width) solid var(--accordion-border-color); } details summary { line-height: 1rem; list-style-type: none; cursor: pointer; - transition: color var(--pico-transition); + transition: color var(--transition); } details summary:not([role]) { - color: var(--pico-accordion-close-summary-color); + color: var(--accordion-close-summary-color); } details summary::-webkit-details-marker { display: none; @@ -1703,415 +1621,154 @@ details summary::after { display: block; width: 1rem; height: 1rem; - margin-inline-start: calc(var(--pico-spacing, 1rem) * 0.5); + -webkit-margin-start: calc(var(--spacing, 1rem) * 0.5); + margin-inline-start: calc(var(--spacing, 1rem) * 0.5); float: right; transform: rotate(-90deg); - background-image: var(--pico-icon-chevron); + background-image: var(--icon-chevron); background-position: right center; background-size: 1rem auto; background-repeat: no-repeat; content: ""; - transition: transform var(--pico-transition); + transition: transform var(--transition); } details summary:focus { outline: none; } -details summary:focus:not([role]) { - color: var(--pico-accordion-active-summary-color); -} -details summary:focus-visible:not([role]) { - outline: var(--pico-outline-width) solid var(--pico-primary-focus); - outline-offset: calc(var(--pico-spacing, 1rem) * 0.5); - color: var(--pico-primary); +details summary:focus:not([role=button]) { + color: var(--accordion-active-summary-color); } details summary[role=button] { width: 100%; text-align: left; } details summary[role=button]::after { - height: calc(1rem * var(--pico-line-height, 1.5)); + height: calc(1rem * var(--line-height, 1.5)); + background-image: var(--icon-chevron-button); } details[open] > summary { - margin-bottom: var(--pico-spacing); + margin-bottom: calc(var(--spacing)); } details[open] > summary:not([role]):not(:focus) { - color: var(--pico-accordion-open-summary-color); + color: var(--accordion-open-summary-color); } details[open] > summary::after { transform: rotate(0); } -[dir=rtl] details summary { - text-align: right; -} -[dir=rtl] details summary::after { - float: left; - background-position: left center; -} - /** * Card (
) */ +.grid article { + min-height: 100%; + margin: 0; +} + article { - margin-bottom: var(--pico-block-spacing-vertical); - padding: var(--pico-block-spacing-vertical) var(--pico-block-spacing-horizontal); - border-radius: var(--pico-border-radius); - background: var(--pico-card-background-color); - box-shadow: var(--pico-card-box-shadow); + margin: var(--block-spacing-vertical) 0; + padding: var(--block-spacing-vertical) var(--block-spacing-horizontal); + border-radius: var(--border-radius); + background: var(--card-background-color); + box-shadow: var(--card-box-shadow); } article > header, article > footer { - margin-right: calc(var(--pico-block-spacing-horizontal) * -1); - margin-left: calc(var(--pico-block-spacing-horizontal) * -1); - padding: calc(var(--pico-block-spacing-vertical) * 0.66) var(--pico-block-spacing-horizontal); - background-color: var(--pico-card-sectioning-background-color); + margin-right: calc(var(--block-spacing-horizontal) * -1); + margin-left: calc(var(--block-spacing-horizontal) * -1); + padding: calc(var(--block-spacing-vertical) * 0.66) var(--block-spacing-horizontal); + background-color: var(--card-sectionning-background-color); } article > header { - margin-top: calc(var(--pico-block-spacing-vertical) * -1); - margin-bottom: var(--pico-block-spacing-vertical); - border-bottom: var(--pico-border-width) solid var(--pico-card-border-color); - border-top-right-radius: var(--pico-border-radius); - border-top-left-radius: var(--pico-border-radius); + margin-top: calc(var(--block-spacing-vertical) * -1); + margin-bottom: var(--block-spacing-vertical); + border-bottom: var(--border-width) solid var(--card-border-color); + border-top-right-radius: var(--border-radius); + border-top-left-radius: var(--border-radius); } article > footer { - margin-top: var(--pico-block-spacing-vertical); - margin-bottom: calc(var(--pico-block-spacing-vertical) * -1); - border-top: var(--pico-border-width) solid var(--pico-card-border-color); - border-bottom-right-radius: var(--pico-border-radius); - border-bottom-left-radius: var(--pico-border-radius); + margin-top: var(--block-spacing-vertical); + margin-bottom: calc(var(--block-spacing-vertical) * -1); + border-top: var(--border-width) solid var(--card-border-color); + border-bottom-right-radius: var(--border-radius); + border-bottom-left-radius: var(--border-radius); +} +article > header h2 { + margin-bottom: max(calc(var(--typography-spacing-vertical) / 2), 1rem); } /** - * Group ([role="group"], [role="search"]) + * Nav */ -[role=search], -[role=group] { - display: inline-flex; - position: relative; - width: 100%; - margin-bottom: var(--pico-spacing); - border-radius: var(--pico-border-radius); - box-shadow: var(--pico-group-box-shadow, 0 0 0 rgba(0, 0, 0, 0)); - vertical-align: middle; - transition: box-shadow var(--pico-transition); -} -[role=search] > *, -[role=search] input:not([type=checkbox], [type=radio]), -[role=search] select, -[role=group] > *, -[role=group] input:not([type=checkbox], [type=radio]), -[role=group] select { - position: relative; - flex: 1 1 auto; - margin-bottom: 0; +nav, +nav menu { + display: flex; } -[role=search] > *:not(:first-child), -[role=search] input:not([type=checkbox], [type=radio]):not(:first-child), -[role=search] select:not(:first-child), -[role=group] > *:not(:first-child), -[role=group] input:not([type=checkbox], [type=radio]):not(:first-child), -[role=group] select:not(:first-child) { - margin-left: 0; - border-top-left-radius: 0; - border-bottom-left-radius: 0; + +nav { + justify-content: space-between; + overflow-x: scroll; } -[role=search] > *:not(:last-child), -[role=search] input:not([type=checkbox], [type=radio]):not(:last-child), -[role=search] select:not(:last-child), -[role=group] > *:not(:last-child), -[role=group] input:not([type=checkbox], [type=radio]):not(:last-child), -[role=group] select:not(:last-child) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -[role=search] > *:focus, -[role=search] input:not([type=checkbox], [type=radio]):focus, -[role=search] select:focus, -[role=group] > *:focus, -[role=group] input:not([type=checkbox], [type=radio]):focus, -[role=group] select:focus { - z-index: 2; -} -[role=search] button:not(:first-child), -[role=search] [type=submit]:not(:first-child), -[role=search] [type=reset]:not(:first-child), -[role=search] [type=button]:not(:first-child), -[role=search] [role=button]:not(:first-child), -[role=search] input:not([type=checkbox], [type=radio]):not(:first-child), -[role=search] select:not(:first-child), -[role=group] button:not(:first-child), -[role=group] [type=submit]:not(:first-child), -[role=group] [type=reset]:not(:first-child), -[role=group] [type=button]:not(:first-child), -[role=group] [role=button]:not(:first-child), -[role=group] input:not([type=checkbox], [type=radio]):not(:first-child), -[role=group] select:not(:first-child) { - margin-left: calc(var(--pico-border-width) * -1); -} -[role=search] button, -[role=search] [type=submit], -[role=search] [type=reset], -[role=search] [type=button], -[role=search] [role=button], -[role=group] button, -[role=group] [type=submit], -[role=group] [type=reset], -[role=group] [type=button], -[role=group] [role=button] { - width: auto; -} -@supports selector(:has(*)) { - [role=search]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus), - [role=group]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) { - --pico-group-box-shadow: var(--pico-group-box-shadow-focus-with-button); - } - [role=search]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) input:not([type=checkbox], [type=radio]), - [role=search]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) select, - [role=group]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) input:not([type=checkbox], [type=radio]), - [role=group]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) select { - border-color: transparent; - } - [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus), - [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) { - --pico-group-box-shadow: var(--pico-group-box-shadow-focus-with-input); - } - [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus) button, - [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus) [type=submit], - [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus) [type=button], - [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus) [role=button], - [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) button, - [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) [type=submit], - [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) [type=button], - [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) [role=button] { - --pico-button-box-shadow: 0 0 0 var(--pico-border-width) var(--pico-primary-border); - --pico-button-hover-box-shadow: 0 0 0 var(--pico-border-width) var(--pico-primary-hover-border); - } - [role=search] button:focus, - [role=search] [type=submit]:focus, - [role=search] [type=reset]:focus, - [role=search] [type=button]:focus, - [role=search] [role=button]:focus, - [role=group] button:focus, - [role=group] [type=submit]:focus, - [role=group] [type=reset]:focus, - [role=group] [type=button]:focus, - [role=group] [role=button]:focus { - box-shadow: none; - } -} - -[role=search] > *:first-child { - border-top-left-radius: 5rem; - border-bottom-left-radius: 5rem; -} -[role=search] > *:last-child { - border-top-right-radius: 5rem; - border-bottom-right-radius: 5rem; -} - -/** - * Loading ([aria-busy=true]) - */ -[aria-busy=true]:not(input, select, textarea, html) { - white-space: nowrap; -} -[aria-busy=true]:not(input, select, textarea, html)::before { - display: inline-block; - width: 1em; - height: 1em; - background-image: var(--pico-icon-loading); - background-size: 1em auto; - background-repeat: no-repeat; - content: ""; - vertical-align: -0.125em; -} -[aria-busy=true]:not(input, select, textarea, html):not(:empty)::before { - margin-inline-end: calc(var(--pico-spacing) * 0.5); -} -[aria-busy=true]:not(input, select, textarea, html):empty { - text-align: center; -} - -button[aria-busy=true], -[type=submit][aria-busy=true], -[type=button][aria-busy=true], -[type=reset][aria-busy=true], -[role=button][aria-busy=true], -a[aria-busy=true] { - pointer-events: none; -} - -/** - * Modal () - */ -:root { - --pico-scrollbar-width: 0px; -} - -dialog { - display: flex; - z-index: 999; - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; +nav menu { align-items: center; - justify-content: center; - width: inherit; - min-width: 100%; - height: inherit; - min-height: 100%; - padding: 0; - border: 0; - -webkit-backdrop-filter: var(--pico-modal-overlay-backdrop-filter); - backdrop-filter: var(--pico-modal-overlay-backdrop-filter); - background-color: var(--pico-modal-overlay-background-color); - color: var(--pico-color); -} -dialog article { - width: 100%; - max-height: calc(100vh - var(--pico-spacing) * 2); - margin: var(--pico-spacing); - overflow: auto; -} -@media (min-width: 576px) { - dialog article { - max-width: 510px; - } -} -@media (min-width: 768px) { - dialog article { - max-width: 700px; - } -} -dialog article > header > * { - margin-bottom: 0; -} -dialog article > header :is(a, button)[rel=prev] { - margin: 0; - margin-left: var(--pico-spacing); + margin-block: 0; padding: 0; - float: right; -} -dialog article > footer { - text-align: right; -} -dialog article > footer button, -dialog article > footer [role=button] { - margin-bottom: 0; -} -dialog article > footer button:not(:first-of-type), -dialog article > footer [role=button]:not(:first-of-type) { - margin-left: calc(var(--pico-spacing) * 0.5); -} -dialog article :is(a, button)[rel=prev] { - display: block; - width: 1rem; - height: 1rem; - margin-top: calc(var(--pico-spacing) * -1); - margin-bottom: var(--pico-spacing); - margin-left: auto; - border: none; - background-image: var(--pico-icon-close); - background-position: center; - background-size: auto 1rem; - background-repeat: no-repeat; - background-color: transparent; - opacity: 0.5; - transition: opacity var(--pico-transition); -} -dialog article :is(a, button)[rel=prev]:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) { - opacity: 1; -} -dialog:not([open]), dialog[open=false] { - display: none; + list-style: none; + white-space: nowrap; } - -/** - * Nav - */ -:where(nav li)::before { - float: left; - content: "​"; +nav menu:first-of-type li:first-child a { + padding-inline-start: 0; } -nav, -nav ul { - display: flex; +nav menu:last-of-type li:last-child a { + padding-inline-end: 0; } -nav { - justify-content: space-between; - overflow: visible; -} -nav ol, -nav ul { - align-items: center; - margin-bottom: 0; - padding: 0; - list-style: none; -} -nav ol:first-of-type, -nav ul:first-of-type { - margin-left: calc(var(--pico-nav-element-spacing-horizontal) * -1); -} -nav ol:last-of-type, -nav ul:last-of-type { - margin-right: calc(var(--pico-nav-element-spacing-horizontal) * -1); -} nav li { display: inline-block; margin: 0; - padding: var(--pico-nav-element-spacing-vertical) var(--pico-nav-element-spacing-horizontal); + padding: var(--nav-element-spacing-vertical) var(--nav-element-spacing-horizontal); } -nav li :where(a, [role=link]) { - display: inline-block; - margin: calc(var(--pico-nav-link-spacing-vertical) * -1) calc(var(--pico-nav-link-spacing-horizontal) * -1); - padding: var(--pico-nav-link-spacing-vertical) var(--pico-nav-link-spacing-horizontal); - border-radius: var(--pico-border-radius); +nav li > * { + --spacing: 0; } -nav li :where(a, [role=link]):not(:hover) { +nav :where(a, [role=link]) { + display: inline-block; + margin: calc(var(--nav-link-spacing-vertical) * -1) calc(var(--nav-link-spacing-horizontal) * -1); + padding: var(--nav-link-spacing-vertical) var(--nav-link-spacing-horizontal); + border-radius: var(--border-radius); text-decoration: none; } -nav li button, -nav li [role=button], -nav li [type=button], -nav li input:not([type=checkbox], [type=radio], [type=range], [type=file]), -nav li select { - height: auto; - margin-right: inherit; - margin-bottom: 0; - margin-left: inherit; +nav :where(a, [role=link]):is([aria-current], :hover, :active, :focus) { + text-decoration: none; } nav[aria-label=breadcrumb] { align-items: center; justify-content: start; } -nav[aria-label=breadcrumb] ul li:not(:first-child) { - margin-inline-start: var(--pico-nav-link-spacing-horizontal); +nav[aria-label=breadcrumb] ol li:not(:first-child) { + -webkit-margin-start: var(--nav-link-spacing-horizontal); + margin-inline-start: var(--nav-link-spacing-horizontal); } -nav[aria-label=breadcrumb] ul li a { - margin: calc(var(--pico-nav-link-spacing-vertical) * -1) 0; - margin-inline-start: calc(var(--pico-nav-link-spacing-horizontal) * -1); -} -nav[aria-label=breadcrumb] ul li:not(:last-child)::after { - display: inline-block; +nav[aria-label=breadcrumb] ol li:not(:last-child) ::after { position: absolute; - width: calc(var(--pico-nav-link-spacing-horizontal) * 4); - margin: 0 calc(var(--pico-nav-link-spacing-horizontal) * -1); - content: var(--pico-nav-breadcrumb-divider); - color: var(--pico-muted-color); + width: calc(var(--nav-link-spacing-horizontal) * 2); + -webkit-margin-start: calc(var(--nav-link-spacing-horizontal) / 2); + margin-inline-start: calc(var(--nav-link-spacing-horizontal) / 2); + content: "/"; + color: var(--muted-color); text-align: center; - text-decoration: none; - white-space: nowrap; } -nav[aria-label=breadcrumb] a[aria-current]:not([aria-current=false]) { +nav[aria-label=breadcrumb] a[aria-current] { background-color: transparent; color: inherit; text-decoration: none; pointer-events: none; } +nav [role=button] { + margin-right: inherit; + margin-left: inherit; + padding: var(--nav-link-spacing-vertical) var(--nav-link-spacing-horizontal); +} aside nav, aside ol, @@ -2120,7 +1777,7 @@ aside li { display: block; } aside li { - padding: calc(var(--pico-nav-element-spacing-vertical) * 0.5) var(--pico-nav-element-spacing-horizontal); + padding: calc(var(--nav-element-spacing-vertical) * 0.5) var(--nav-element-spacing-horizontal); } aside li a { display: block; @@ -2129,71 +1786,181 @@ aside li [role=button] { margin: inherit; } -[dir=rtl] nav[aria-label=breadcrumb] ul li:not(:last-child) ::after { - content: "\\"; -} - /** - * Progress + * Dropdown ([role="list"]) */ -progress { - display: inline-block; - vertical-align: baseline; +details[role=list], +li[role=list] { + position: relative; } -progress { - -webkit-appearance: none; - -moz-appearance: none; - display: inline-block; - appearance: none; +details[role=list] summary + ul, +li[role=list] > ul { + display: flex; + z-index: 99; + position: absolute; + top: auto; + right: 0; + left: 0; + flex-direction: column; + margin: 0; + padding: 0; + border: var(--border-width) solid var(--dropdown-border-color); + border-radius: var(--border-radius); + border-top-right-radius: 0; + border-top-left-radius: 0; + background-color: var(--dropdown-background-color); + box-shadow: var(--card-box-shadow); + color: var(--dropdown-color); + white-space: nowrap; +} +details[role=list] summary + ul li, +li[role=list] > ul li { width: 100%; - height: 0.5rem; - margin-bottom: calc(var(--pico-spacing) * 0.5); + margin-bottom: 0; + padding: calc(var(--form-element-spacing-vertical) * 0.5) var(--form-element-spacing-horizontal); + list-style: none; +} +details[role=list] summary + ul li:first-of-type, +li[role=list] > ul li:first-of-type { + margin-top: calc(var(--form-element-spacing-vertical) * 0.5); +} +details[role=list] summary + ul li:last-of-type, +li[role=list] > ul li:last-of-type { + margin-bottom: calc(var(--form-element-spacing-vertical) * 0.5); +} +details[role=list] summary + ul li a, +li[role=list] > ul li a { + display: block; + margin: calc(var(--form-element-spacing-vertical) * -0.5) calc(var(--form-element-spacing-horizontal) * -1); + padding: calc(var(--form-element-spacing-vertical) * 0.5) var(--form-element-spacing-horizontal); overflow: hidden; - border: 0; - border-radius: var(--pico-border-radius); - background-color: var(--pico-progress-background-color); - color: var(--pico-progress-color); + color: var(--dropdown-color); + text-decoration: none; + text-overflow: ellipsis; +} +details[role=list] summary + ul li a:hover, +li[role=list] > ul li a:hover { + background-color: var(--dropdown-hover-background-color); +} + +details[role=list] summary::after, +li[role=list] > a::after { + display: block; + width: 1rem; + height: calc(1rem * var(--line-height, 1.5)); + -webkit-margin-start: 0.5rem; + margin-inline-start: 0.5rem; + float: right; + transform: rotate(0deg); + background-position: right center; + background-size: 1rem auto; + background-repeat: no-repeat; + content: ""; } -progress::-webkit-progress-bar { - border-radius: var(--pico-border-radius); + +details[role=list] { + padding: 0; + border-bottom: none; +} +details[role=list] summary { + margin-bottom: 0; +} +details[role=list] summary:not([role]) { + height: calc(1rem * var(--line-height) + var(--form-element-spacing-vertical) * 2 + var(--border-width) * 2); + padding: var(--form-element-spacing-vertical) var(--form-element-spacing-horizontal); + border: var(--border-width) solid var(--form-element-border-color); + border-radius: var(--border-radius); + background-color: var(--form-element-background-color); + color: var(--form-element-placeholder-color); + line-height: inherit; + cursor: pointer; + transition: background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition); +} +details[role=list] summary:not([role]):active, details[role=list] summary:not([role]):focus { + border-color: var(--form-element-active-border-color); + background-color: var(--form-element-active-background-color); +} +details[role=list] summary:not([role]):focus { + box-shadow: 0 0 0 var(--outline-width) var(--form-element-focus-color); +} +details[role=list][open] summary { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +details[role=list][open] summary::before { + display: block; + z-index: 1; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; background: none; + content: ""; + cursor: default; } -progress[value]::-webkit-progress-value { - background-color: var(--pico-progress-color); - -webkit-transition: inline-size var(--pico-transition); - transition: inline-size var(--pico-transition); + +nav details[role=list] summary, +nav li[role=list] a { + display: flex; + direction: ltr; } -progress::-moz-progress-bar { - background-color: var(--pico-progress-color); + +nav details[role=list] summary + ul, +nav li[role=list] > ul { + min-width: -moz-fit-content; + min-width: fit-content; + border-radius: var(--border-radius); } -@media (prefers-reduced-motion: no-preference) { - progress:indeterminate { - background: var(--pico-progress-background-color) linear-gradient(to right, var(--pico-progress-color) 30%, var(--pico-progress-background-color) 30%) top left/150% 150% no-repeat; - animation: progress-indeterminate 1s linear infinite; - } - progress:indeterminate[value]::-webkit-progress-value { - background-color: transparent; - } - progress:indeterminate::-moz-progress-bar { - background-color: transparent; - } +nav details[role=list] summary + ul li a, +nav li[role=list] > ul li a { + border-radius: 0; } -@media (prefers-reduced-motion: no-preference) { - [dir=rtl] progress:indeterminate { - animation-direction: reverse; - } +nav details[role=list] summary, +nav details[role=list] summary:not([role]) { + height: auto; + padding: var(--nav-link-spacing-vertical) var(--nav-link-spacing-horizontal); +} +nav details[role=list][open] summary { + border-radius: var(--border-radius); +} +nav details[role=list] summary + ul { + margin-top: var(--outline-width); + -webkit-margin-start: 0; + margin-inline-start: 0; +} +nav details[role=list] summary[role=link] { + margin-bottom: calc(var(--nav-link-spacing-vertical) * -1); + line-height: var(--line-height); +} +nav details[role=list] summary[role=link] + ul { + margin-top: calc(var(--nav-link-spacing-vertical) + var(--outline-width)); + -webkit-margin-start: calc(var(--nav-link-spacing-horizontal) * -1); + margin-inline-start: calc(var(--nav-link-spacing-horizontal) * -1); } -@keyframes progress-indeterminate { - 0% { - background-position: 200% 0; - } - 100% { - background-position: -200% 0; - } +li[role=list]:hover > ul, +li[role=list] a:active ~ ul, +li[role=list] a:focus ~ ul { + display: flex; +} +li[role=list] > ul { + display: none; + margin-top: calc(var(--nav-link-spacing-vertical) + var(--outline-width)); + -webkit-margin-start: calc(var(--nav-element-spacing-horizontal) - var(--nav-link-spacing-horizontal)); + margin-inline-start: calc(var(--nav-element-spacing-horizontal) - var(--nav-link-spacing-horizontal)); +} +li[role=list] > a::after { + background-image: var(--icon-chevron); } + +label > details[role=list] { + margin-top: calc(var(--spacing) * 0.25); + margin-bottom: var(--spacing); +} + /** * Tooltip ([data-tooltip]) */ @@ -2214,12 +1981,12 @@ progress::-moz-progress-bar { padding: 0.25rem 0.5rem; overflow: hidden; transform: translate(-50%, -0.25rem); - border-radius: var(--pico-border-radius); - background: var(--pico-tooltip-background-color); + border-radius: var(--border-radius); + background: var(--tooltip-background-color); content: attr(data-tooltip); - color: var(--pico-tooltip-color); + color: var(--tooltip-color); font-style: normal; - font-weight: var(--pico-font-weight); + font-weight: var(--font-weight); font-size: 0.875rem; text-decoration: none; text-overflow: ellipsis; @@ -2236,7 +2003,7 @@ progress::-moz-progress-bar { border-radius: 0; background-color: transparent; content: ""; - color: var(--pico-tooltip-background-color); + color: var(--tooltip-background-color); } [data-tooltip][data-placement=bottom]::before, [data-tooltip][data-placement=bottom]::after { top: 100%; @@ -2276,62 +2043,124 @@ progress::-moz-progress-bar { opacity: 1; } @media (hover: hover) and (pointer: fine) { - [data-tooltip]:focus::before, [data-tooltip]:focus::after, [data-tooltip]:hover::before, [data-tooltip]:hover::after { - --pico-tooltip-slide-to: translate(-50%, -0.25rem); - transform: translate(-50%, 0.75rem); + [data-tooltip][data-placement=bottom]:focus::before, [data-tooltip][data-placement=bottom]:focus::after, [data-tooltip][data-placement=bottom]:hover [data-tooltip]:focus::before, [data-tooltip][data-placement=bottom]:hover [data-tooltip]:focus::after, [data-tooltip]:hover::before, [data-tooltip]:hover::after { animation-duration: 0.2s; - animation-fill-mode: forwards; - animation-name: tooltip-slide; - opacity: 0; + animation-name: tooltip-slide-top; } - [data-tooltip]:focus::after, [data-tooltip]:hover::after { - --pico-tooltip-caret-slide-to: translate(-50%, 0rem); - transform: translate(-50%, -0.25rem); - animation-name: tooltip-caret-slide; + [data-tooltip][data-placement=bottom]:focus::after, [data-tooltip][data-placement=bottom]:hover [data-tooltip]:focus::after, [data-tooltip]:hover::after { + animation-name: tooltip-caret-slide-top; } [data-tooltip][data-placement=bottom]:focus::before, [data-tooltip][data-placement=bottom]:focus::after, [data-tooltip][data-placement=bottom]:hover::before, [data-tooltip][data-placement=bottom]:hover::after { - --pico-tooltip-slide-to: translate(-50%, 0.25rem); - transform: translate(-50%, -0.75rem); - animation-name: tooltip-slide; + animation-duration: 0.2s; + animation-name: tooltip-slide-bottom; } [data-tooltip][data-placement=bottom]:focus::after, [data-tooltip][data-placement=bottom]:hover::after { - --pico-tooltip-caret-slide-to: translate(-50%, -0.3rem); - transform: translate(-50%, -0.5rem); - animation-name: tooltip-caret-slide; + animation-name: tooltip-caret-slide-bottom; } [data-tooltip][data-placement=left]:focus::before, [data-tooltip][data-placement=left]:focus::after, [data-tooltip][data-placement=left]:hover::before, [data-tooltip][data-placement=left]:hover::after { - --pico-tooltip-slide-to: translate(-0.25rem, -50%); - transform: translate(0.75rem, -50%); - animation-name: tooltip-slide; + animation-duration: 0.2s; + animation-name: tooltip-slide-left; } [data-tooltip][data-placement=left]:focus::after, [data-tooltip][data-placement=left]:hover::after { - --pico-tooltip-caret-slide-to: translate(0.3rem, -50%); - transform: translate(0.05rem, -50%); - animation-name: tooltip-caret-slide; + animation-name: tooltip-caret-slide-left; } [data-tooltip][data-placement=right]:focus::before, [data-tooltip][data-placement=right]:focus::after, [data-tooltip][data-placement=right]:hover::before, [data-tooltip][data-placement=right]:hover::after { - --pico-tooltip-slide-to: translate(0.25rem, -50%); - transform: translate(-0.75rem, -50%); - animation-name: tooltip-slide; + animation-duration: 0.2s; + animation-name: tooltip-slide-right; } [data-tooltip][data-placement=right]:focus::after, [data-tooltip][data-placement=right]:hover::after { - --pico-tooltip-caret-slide-to: translate(-0.3rem, -50%); - transform: translate(-0.05rem, -50%); - animation-name: tooltip-caret-slide; + animation-name: tooltip-caret-slide-right; } } -@keyframes tooltip-slide { +@keyframes tooltip-slide-top { + from { + transform: translate(-50%, 0.75rem); + opacity: 0; + } to { - transform: var(--pico-tooltip-slide-to); + transform: translate(-50%, -0.25rem); opacity: 1; } } -@keyframes tooltip-caret-slide { +@keyframes tooltip-caret-slide-top { + from { + opacity: 0; + } 50% { + transform: translate(-50%, -0.25rem); opacity: 0; } to { - transform: var(--pico-tooltip-caret-slide-to); + transform: translate(-50%, 0rem); + opacity: 1; + } +} +@keyframes tooltip-slide-bottom { + from { + transform: translate(-50%, -0.75rem); + opacity: 0; + } + to { + transform: translate(-50%, 0.25rem); + opacity: 1; + } +} +@keyframes tooltip-caret-slide-bottom { + from { + opacity: 0; + } + 50% { + transform: translate(-50%, -0.5rem); + opacity: 0; + } + to { + transform: translate(-50%, -0.3rem); + opacity: 1; + } +} +@keyframes tooltip-slide-left { + from { + transform: translate(0.75rem, -50%); + opacity: 0; + } + to { + transform: translate(-0.25rem, -50%); + opacity: 1; + } +} +@keyframes tooltip-caret-slide-left { + from { + opacity: 0; + } + 50% { + transform: translate(0.05rem, -50%); + opacity: 0; + } + to { + transform: translate(0.3rem, -50%); + opacity: 1; + } +} +@keyframes tooltip-slide-right { + from { + transform: translate(-0.75rem, -50%); + opacity: 0; + } + to { + transform: translate(0.25rem, -50%); + opacity: 1; + } +} +@keyframes tooltip-caret-slide-right { + from { + opacity: 0; + } + 50% { + transform: translate(-0.05rem, -50%); + opacity: 0; + } + to { + transform: translate(-0.3rem, -50%); opacity: 1; } } @@ -2369,13 +2198,9 @@ textarea, -ms-touch-action: manipulation; } -[dir=rtl] { - direction: rtl; -} - /** - * Reduce Motion Features - */ +* Reduce Motion Features +*/ @media (prefers-reduced-motion: reduce) { *:not([aria-busy=true]), :not([aria-busy=true])::before, @@ -2390,33 +2215,59 @@ textarea, } } -/* PICO CSS END */ +/** +* Grid +* Minimal grid system with auto-layout columns +*/ +.grid { + grid-column-gap: var(--grid-spacing-horizontal); + grid-row-gap: var(--grid-spacing-vertical); + display: grid; + grid-template-columns: 1fr; -:root { - font-family: 'Ysabeau'; + margin: 0; +} - --x-grid-spacing-horizontal: var(--pico-spacing); +.grid:first-of-type { + margin-top: var(--block-spacing-vertical); } -body > header { - padding-top: 0; +@media (min-width: 992px) { + .grid { + grid-template-columns: repeat(auto-fit, minmax(0%, 1fr)); + } } -nav menu { - display: flex; - align-items: center; - margin-block: 0; - padding: 0; - list-style: none; - white-space: nowrap; +.grid > * { + min-width: 0; } -nav menu:first-of-type li:first-child a { - padding-inline-start: 0; +.country-grid, .series-grid { + row-gap: var(--grid-spacing-vertical); } -nav menu:last-of-type li:last-child a { - padding-inline-end: 0; +.country-grid:first-of-type, .series-grid:first-of-type { + margin-top: var(--block-spacing-vertical); +} + +.country-grid, .series-grid, .lang-grid { + display: grid; + grid-template-columns: repeat( + auto-fit, + minmax(min(180px, 100%), 1fr) + ); + column-gap: var(--grid-spacing-horizontal); +} + +.country-grid a, .lang-grid button { + text-align: left; +} + +.country-grid a::before, .lang-grid span::before { + display: inline-block; + content: attr(data-code); + font-weight: bold; + width: 4ch; } #nav-icon-lang a { @@ -2426,7 +2277,7 @@ nav menu:last-of-type li:last-child a { } #nav-icon-lang svg { - stroke: var(--pico-color); + stroke: var(--color); height: 1rem; } @@ -2441,33 +2292,93 @@ nav menu:last-of-type li:last-child a { #nav-icon-theme svg { --size: 1.2rem; - stroke: var(--pico-primary); + stroke: var(--primary); stroke-width: .1; height: var(--size); width: var(--size); } [data-theme="light"] #nav-icon-theme svg { - fill: var(--pico-primary); + fill: var(--primary); } -.lang-grid { - display: grid; - grid-template-columns: repeat( - auto-fit, - minmax(min(210px, 100%), 1fr) - ); - column-gap: var(--x-grid-spacing-horizontal); +#article-list td:first-child { + text-align: right; + width: 14ch; +} + +#article-list td { + white-space: nowrap; } -.lang-grid button { +.mintage-table tr :where(th, td):first-child { text-align: left; - padding-inline: .75rem; } -.lang-grid span::before { - display: inline-block; - content: attr(data-code); - font-weight: bold; - width: 3ch; +.mintage-table :where(th, td) { + white-space: nowrap; + text-align: right; +} + +a[role=button].outline { + --background-color: transparent; + --color: var(--primary); +} + +a[role=button].outline:is(:hover, :active, :focus) { + --background-color: transparent; + --color: var(--primary-hover); +} + +.bnote-design-container { + gap: 5%; +} + +.bnote-design-container > img { + width: 100%; +} + +.design-container, +.bnote-design-container { + display: flex; + justify-content: space-around; + align-items: center; +} + +.design-container + p { + margin-top: var(--block-spacing-vertical); +} + +img.big { + width: 100%; +} + +div.grid:not(:first-of-type) { + margin-top: var(--grid-spacing-vertical); +} + +@media (min-width: 576px) { + dl { + display: grid; + grid-template-columns: max-content auto; + row-gap: var(--spacing); + } + + dt { + grid-column-start: 1; + } + + dd { + grid-column-start: 2; + } +} + +@media (max-width: 575px) { + dt { + text-decoration: underline; + } + + dl dt:not(:first-child) { + margin-top: var(--block-spacing-vertical); + } } -- cgit v1.2.3