From 1bba146344c358fd456facfb9ff1fe44cb189743 Mon Sep 17 00:00:00 2001 From: schmop Date: Sat, 13 Sep 2025 22:58:19 +0200 Subject: [PATCH] Move away from madness --- .gitignore | 2 +- README.md | 4 - composer.json | 6 + composer.lock | 383 ++++++++++++++++++ docker-compose.yml | 7 - index.md | 1 - index.php | 35 ++ public/static/buttons.js | 50 +++ public/static/own.css | 51 +++ public/static/pico.classless.pink.min.css | 4 + {src => scores}/Alligatoah - Verloren.md | 0 {src => scores}/Alligatoah - Willst Du.md | 0 ...ngus & Julia Stone - Santa Monica Dream.md | 0 .../AnnenMayKantereit - 3. Stock.md | 0 .../AnnenMayKantereit - Barfuß Am Klavier.md | 0 .../AnnenMayKantereit - Länger Bleiben.md | 0 .../Avi Kaplan - Change On The Rise.md | 0 .../Avi Kaplan - Quarter Past Four.md | 0 {src => scores}/Avril Lavigne - Bite Me.md | 0 .../Avril Lavigne - Keep Holding On.md | 0 {src => scores}/Bo Burnham - Comedy.md | 0 .../Bo Burnham - How The World Works.md | 0 .../Bo Burnham - Look Who's Inside Again.md | 0 .../Bo Burnham - Welcome To The Internet.md | 0 {src => scores}/Bodo Wartke - Regen.md | 0 .../Bodo Wartke - Was Ich Gerade Denke.md | 0 .../Britney Spears - ...One More Time.md | 0 {src => scores}/Britney Spears - Toxic.md | 0 {src => scores}/Bukahara - Happy.md | 0 {src => scores}/Carpenters - Close To You.md | 0 .../Christina Perri - Jar Of Hearts.md | 0 {src => scores}/Coldplay - Fix You.md | 0 {src => scores}/Crosby - Helplessly Hoping.md | 0 .../Cynthia Nickschas - Positiv Denken.md | 0 .../Cynthia Nickschas - Schissig.md | 0 {src => scores}/Das Lumpenpack - Guacamole.md | 0 .../Das Lumpenpack - Hauch Mich Mal An.md | 0 {src => scores}/Das Lumpenpack - Pädagogen.md | 0 .../Daði Freyr - Think About Things.md | 0 .../Die Höchste Eisenbahn - Isi.md | 0 ...e Zukunft - Drogen Nehmen und Rumfahren.md | 0 {src => scores}/Dodie - Human.md | 0 {src => scores}/Dodie - Monster.md | 0 {src => scores}/Dodie - Secret For The Mad.md | 0 .../Dodie - Sick Of Losing Soulmates.md | 0 {src => scores}/Ed Sheeran - I See Fire.md | 0 ...is Presley - Can't Help Falling In Love.md | 0 .../Evanscence - Bring Me To Life.md | 0 {src => scores}/Evanscence - My Immortal.md | 0 .../Faber - Ich Liebe Dich, Faber.md | 0 {src => scores}/Faber - Vivaldi.md | 0 .../Falk - Eine Frage der Perspektive.md | 0 .../Fleet Foxes - Blue Spotted Tail.md | 0 {src => scores}/Fleet Foxes - Mykonos.md | 0 {src => scores}/Fools Garden - Lemon Tree.md | 0 .../Frage der Perspektive Wechselbass.png | Bin .../Frank Sinatra - Fly Me To The Moon.md | 0 .../Funny Van Dannen - Nebelmaschine.md | 0 .../Götz Widmann - Zaubersteuer.md | 0 {src => scores}/Idina Menzel - Let It Go.md | 0 {src => scores}/Imagine Dragons - Enemy.md | 0 .../Imagine Dragons - Radioactive.md | 0 {src => scores}/Imagine Dragons - Wrecked.md | 0 ...kawiwo'ole - Somewhere Over The Rainbow.md | 0 {src => scores}/Jeff Buckley - Hallelujah.md | 0 .../John Denver - Country Roads.md | 0 {src => scores}/K.I.Z - Neuruppin.md | 0 .../Keane - Somewhere Only We Know.md | 0 {src => scores}/Knorkator - Das Lied.md | 0 {src => scores}/Lucy Rose - Shiver.md | 0 {src => scores}/Maria Mena - All This Time.md | 0 {src => scores}/Maria Mena - Just Hold Me.md | 0 {src => scores}/Maria Mena - Nevermind Me.md | 0 .../Matt Maltese - As The World Caves In.md | 0 .../Matt Mulholland - Better Man.md | 0 .../Matt Mulholland - Better Man.pdf | Bin .../Matt Mulholland - Knowing Love.md | 0 .../Matt Mulholland - Let You Go.md | 0 .../Metallica - Nothing Else Matters.md | 0 .../Nothing But Thieves - Particles.md | 0 .../Nothing But Thieves - Your Blood.md | 0 .../Oh Wonder - Technicolour Beat.md | 0 .../Patent Ochsner - W. Nuss Vo Bümpliz.md | 0 .../Plain White T's - Hey There Delilah.md | 0 {src => scores}/Provinz - Reicht Dir Das.md | 0 {src => scores}/Radiohead - Creep.md | 0 {src => scores}/Sarah McLachlan - Angel.md | 0 {src => scores}/Seeed - Wonderful Life.md | 0 .../Simon & Garfunkel - Sound Of Silence.md | 0 .../Steiner & Madlaina - Das Schöne Leben.md | 0 ...Steiner & Madlaina - Denk Was Du Willst.md | 0 ...teiner & Madlaina - Wenn Du Mir Glaubst.md | 0 .../Sting - Englishman In New York.md | 0 {src => scores}/Sting - Fields Of Gold.md | 0 {src => scores}/Syd Matters - Obstacles.md | 0 .../Syd Matters - To All Of You.md | 0 {src => scores}/System Of A Down - Aerials.md | 0 .../System Of A Down - Toxicity.md | 0 {src => scores}/The Altogether - Sophie.md | 0 {src => scores}/The Beatles - Let It Be.md | 0 scores/The Flying Pickets - Only You.md | 52 +++ {src => scores}/Toto - Africa.md | 0 {src => scores}/Vance Joy - Riptide.md | 0 .../Wise Guys - Jetzt Ist Sommer.md | 0 {src => scores}/Wise Guys - Radio.md | 0 .../Wise Guys - Wie Kann Es Sein.md | 0 .../Wise Guys - Wir Hatten Eine Gute Zeit.md | 0 src/.madness.yml | 2 - src/The Flying Pickets - Only You.md | 58 --- templates/base.html.twig | 53 +++ templates/index.html.twig | 10 + templates/score.html.twig | 9 + 112 files changed, 654 insertions(+), 73 deletions(-) create mode 100644 composer.json create mode 100644 composer.lock delete mode 100644 docker-compose.yml delete mode 100644 index.md create mode 100644 index.php create mode 100644 public/static/buttons.js create mode 100644 public/static/own.css create mode 100644 public/static/pico.classless.pink.min.css rename {src => scores}/Alligatoah - Verloren.md (100%) rename {src => scores}/Alligatoah - Willst Du.md (100%) rename {src => scores}/Angus & Julia Stone - Santa Monica Dream.md (100%) rename {src => scores}/AnnenMayKantereit - 3. Stock.md (100%) rename {src => scores}/AnnenMayKantereit - Barfuß Am Klavier.md (100%) rename {src => scores}/AnnenMayKantereit - Länger Bleiben.md (100%) rename {src => scores}/Avi Kaplan - Change On The Rise.md (100%) rename {src => scores}/Avi Kaplan - Quarter Past Four.md (100%) rename {src => scores}/Avril Lavigne - Bite Me.md (100%) rename {src => scores}/Avril Lavigne - Keep Holding On.md (100%) rename {src => scores}/Bo Burnham - Comedy.md (100%) rename {src => scores}/Bo Burnham - How The World Works.md (100%) rename {src => scores}/Bo Burnham - Look Who's Inside Again.md (100%) rename {src => scores}/Bo Burnham - Welcome To The Internet.md (100%) rename {src => scores}/Bodo Wartke - Regen.md (100%) rename {src => scores}/Bodo Wartke - Was Ich Gerade Denke.md (100%) rename {src => scores}/Britney Spears - ...One More Time.md (100%) rename {src => scores}/Britney Spears - Toxic.md (100%) rename {src => scores}/Bukahara - Happy.md (100%) rename {src => scores}/Carpenters - Close To You.md (100%) rename {src => scores}/Christina Perri - Jar Of Hearts.md (100%) rename {src => scores}/Coldplay - Fix You.md (100%) rename {src => scores}/Crosby - Helplessly Hoping.md (100%) rename {src => scores}/Cynthia Nickschas - Positiv Denken.md (100%) rename {src => scores}/Cynthia Nickschas - Schissig.md (100%) rename {src => scores}/Das Lumpenpack - Guacamole.md (100%) rename {src => scores}/Das Lumpenpack - Hauch Mich Mal An.md (100%) rename {src => scores}/Das Lumpenpack - Pädagogen.md (100%) rename {src => scores}/Daði Freyr - Think About Things.md (100%) rename {src => scores}/Die Höchste Eisenbahn - Isi.md (100%) rename {src => scores}/Die Zukunft - Drogen Nehmen und Rumfahren.md (100%) rename {src => scores}/Dodie - Human.md (100%) rename {src => scores}/Dodie - Monster.md (100%) rename {src => scores}/Dodie - Secret For The Mad.md (100%) rename {src => scores}/Dodie - Sick Of Losing Soulmates.md (100%) rename {src => scores}/Ed Sheeran - I See Fire.md (100%) rename {src => scores}/Elvis Presley - Can't Help Falling In Love.md (100%) rename {src => scores}/Evanscence - Bring Me To Life.md (100%) rename {src => scores}/Evanscence - My Immortal.md (100%) rename {src => scores}/Faber - Ich Liebe Dich, Faber.md (100%) rename {src => scores}/Faber - Vivaldi.md (100%) rename {src => scores}/Falk - Eine Frage der Perspektive.md (100%) rename {src => scores}/Fleet Foxes - Blue Spotted Tail.md (100%) rename {src => scores}/Fleet Foxes - Mykonos.md (100%) rename {src => scores}/Fools Garden - Lemon Tree.md (100%) rename {src => scores}/Frage der Perspektive Wechselbass.png (100%) rename {src => scores}/Frank Sinatra - Fly Me To The Moon.md (100%) rename {src => scores}/Funny Van Dannen - Nebelmaschine.md (100%) rename {src => scores}/Götz Widmann - Zaubersteuer.md (100%) rename {src => scores}/Idina Menzel - Let It Go.md (100%) rename {src => scores}/Imagine Dragons - Enemy.md (100%) rename {src => scores}/Imagine Dragons - Radioactive.md (100%) rename {src => scores}/Imagine Dragons - Wrecked.md (100%) rename {src => scores}/Israel Kamakawiwo'ole - Somewhere Over The Rainbow.md (100%) rename {src => scores}/Jeff Buckley - Hallelujah.md (100%) rename {src => scores}/John Denver - Country Roads.md (100%) rename {src => scores}/K.I.Z - Neuruppin.md (100%) rename {src => scores}/Keane - Somewhere Only We Know.md (100%) rename {src => scores}/Knorkator - Das Lied.md (100%) rename {src => scores}/Lucy Rose - Shiver.md (100%) rename {src => scores}/Maria Mena - All This Time.md (100%) rename {src => scores}/Maria Mena - Just Hold Me.md (100%) rename {src => scores}/Maria Mena - Nevermind Me.md (100%) rename {src => scores}/Matt Maltese - As The World Caves In.md (100%) rename {src => scores}/Matt Mulholland - Better Man.md (100%) rename {src => scores}/Matt Mulholland - Better Man.pdf (100%) rename {src => scores}/Matt Mulholland - Knowing Love.md (100%) rename {src => scores}/Matt Mulholland - Let You Go.md (100%) rename {src => scores}/Metallica - Nothing Else Matters.md (100%) rename {src => scores}/Nothing But Thieves - Particles.md (100%) rename {src => scores}/Nothing But Thieves - Your Blood.md (100%) rename {src => scores}/Oh Wonder - Technicolour Beat.md (100%) rename {src => scores}/Patent Ochsner - W. Nuss Vo Bümpliz.md (100%) rename {src => scores}/Plain White T's - Hey There Delilah.md (100%) rename {src => scores}/Provinz - Reicht Dir Das.md (100%) rename {src => scores}/Radiohead - Creep.md (100%) rename {src => scores}/Sarah McLachlan - Angel.md (100%) rename {src => scores}/Seeed - Wonderful Life.md (100%) rename {src => scores}/Simon & Garfunkel - Sound Of Silence.md (100%) rename {src => scores}/Steiner & Madlaina - Das Schöne Leben.md (100%) rename {src => scores}/Steiner & Madlaina - Denk Was Du Willst.md (100%) rename {src => scores}/Steiner & Madlaina - Wenn Du Mir Glaubst.md (100%) rename {src => scores}/Sting - Englishman In New York.md (100%) rename {src => scores}/Sting - Fields Of Gold.md (100%) rename {src => scores}/Syd Matters - Obstacles.md (100%) rename {src => scores}/Syd Matters - To All Of You.md (100%) rename {src => scores}/System Of A Down - Aerials.md (100%) rename {src => scores}/System Of A Down - Toxicity.md (100%) rename {src => scores}/The Altogether - Sophie.md (100%) rename {src => scores}/The Beatles - Let It Be.md (100%) create mode 100644 scores/The Flying Pickets - Only You.md rename {src => scores}/Toto - Africa.md (100%) rename {src => scores}/Vance Joy - Riptide.md (100%) rename {src => scores}/Wise Guys - Jetzt Ist Sommer.md (100%) rename {src => scores}/Wise Guys - Radio.md (100%) rename {src => scores}/Wise Guys - Wie Kann Es Sein.md (100%) rename {src => scores}/Wise Guys - Wir Hatten Eine Gute Zeit.md (100%) delete mode 100644 src/.madness.yml delete mode 100644 src/The Flying Pickets - Only You.md create mode 100644 templates/base.html.twig create mode 100644 templates/index.html.twig create mode 100644 templates/score.html.twig diff --git a/.gitignore b/.gitignore index c6ef218..3ce5adb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ .idea - +vendor diff --git a/README.md b/README.md index 17e4ffa..8b13789 100644 --- a/README.md +++ b/README.md @@ -1,5 +1 @@ -Start the madness server via: -``` -docker compose up -d -``` diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..244f6df --- /dev/null +++ b/composer.json @@ -0,0 +1,6 @@ +{ + "require": { + "erusev/parsedown": "^1.7", + "twig/twig": "^3.21" + } +} diff --git a/composer.lock b/composer.lock new file mode 100644 index 0000000..4d99877 --- /dev/null +++ b/composer.lock @@ -0,0 +1,383 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "6464074ec5885160aa142c15b80aee74", + "packages": [ + { + "name": "erusev/parsedown", + "version": "1.7.4", + "source": { + "type": "git", + "url": "https://github.com/erusev/parsedown.git", + "reference": "cb17b6477dfff935958ba01325f2e8a2bfa6dab3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/erusev/parsedown/zipball/cb17b6477dfff935958ba01325f2e8a2bfa6dab3", + "reference": "cb17b6477dfff935958ba01325f2e8a2bfa6dab3", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": ">=5.3.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35" + }, + "type": "library", + "autoload": { + "psr-0": { + "Parsedown": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Emanuil Rusev", + "email": "hello@erusev.com", + "homepage": "http://erusev.com" + } + ], + "description": "Parser for Markdown.", + "homepage": "http://parsedown.org", + "keywords": [ + "markdown", + "parser" + ], + "support": { + "issues": "https://github.com/erusev/parsedown/issues", + "source": "https://github.com/erusev/parsedown/tree/1.7.x" + }, + "time": "2019-12-30T22:54:17+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v3.6.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62", + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" + } + }, + "autoload": { + "files": [ + "function.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-25T14:21:43+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638", + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "provide": { + "ext-ctype": "*" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", + "shasum": "" + }, + "require": { + "ext-iconv": "*", + "php": ">=7.2" + }, + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-12-23T08:48:59+00:00" + }, + { + "name": "twig/twig", + "version": "v3.21.1", + "source": { + "type": "git", + "url": "https://github.com/twigphp/Twig.git", + "reference": "285123877d4dd97dd7c11842ac5fb7e86e60d81d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/285123877d4dd97dd7c11842ac5fb7e86e60d81d", + "reference": "285123877d4dd97dd7c11842ac5fb7e86e60d81d", + "shasum": "" + }, + "require": { + "php": ">=8.1.0", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-mbstring": "^1.3" + }, + "require-dev": { + "phpstan/phpstan": "^2.0", + "psr/container": "^1.0|^2.0", + "symfony/phpunit-bridge": "^5.4.9|^6.4|^7.0" + }, + "type": "library", + "autoload": { + "files": [ + "src/Resources/core.php", + "src/Resources/debug.php", + "src/Resources/escaper.php", + "src/Resources/string_loader.php" + ], + "psr-4": { + "Twig\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + }, + { + "name": "Twig Team", + "role": "Contributors" + }, + { + "name": "Armin Ronacher", + "email": "armin.ronacher@active-4.com", + "role": "Project Founder" + } + ], + "description": "Twig, the flexible, fast, and secure template language for PHP", + "homepage": "https://twig.symfony.com", + "keywords": [ + "templating" + ], + "support": { + "issues": "https://github.com/twigphp/Twig/issues", + "source": "https://github.com/twigphp/Twig/tree/v3.21.1" + }, + "funding": [ + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/twig/twig", + "type": "tidelift" + } + ], + "time": "2025-05-03T07:21:55+00:00" + } + ], + "packages-dev": [], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": {}, + "prefer-stable": false, + "prefer-lowest": false, + "platform": {}, + "platform-dev": {}, + "plugin-api-version": "2.6.0" +} diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 100644 index 163a195..0000000 --- a/docker-compose.yml +++ /dev/null @@ -1,7 +0,0 @@ -# docker-compose.yml -services: - web: - image: dannyben/madness - volumes: ["./src:/docs"] - ports: ["127.0.0.1:5821:3000"] - command: server diff --git a/index.md b/index.md deleted file mode 100644 index 2756091..0000000 --- a/index.md +++ /dev/null @@ -1 +0,0 @@ -# Liederliste diff --git a/index.php b/index.php new file mode 100644 index 0000000..205f96a --- /dev/null +++ b/index.php @@ -0,0 +1,35 @@ + basename($filePath, '.md'), + glob('./scores/*.md') +); + +if (!$scoreValid) { + echo $twig->render('index.html.twig', ['scores' => $allAvailableScores, 'title' => 'Available Scores']); + exit(0); +} + +$markdown = file_get_contents($score); +$parsedown = new Parsedown(); +$html = $parsedown->text($markdown); +echo $twig->render('score.html.twig', [ + 'score' => $html, + 'scores' => $allAvailableScores, + 'title' => basename($score, '.md'), +]); \ No newline at end of file diff --git a/public/static/buttons.js b/public/static/buttons.js new file mode 100644 index 0000000..9fa6efb --- /dev/null +++ b/public/static/buttons.js @@ -0,0 +1,50 @@ +/** + * ----------------------- + * Color themes + * ----------------------- + */ +function toggleColorTheme() { + const currentTheme = document.documentElement.getAttribute('data-theme'); + const newTheme = currentTheme === 'dark' ? 'light' : 'dark'; + document.documentElement.setAttribute('data-theme', newTheme); + localStorage.setItem('color-theme', newTheme); +} + +function updateButtonText() { + const currentTheme = document.documentElement.getAttribute('data-theme'); + const button = document.querySelector('.color-theme-toggle'); + button.textContent = currentTheme === 'dark' ? '𖤓' : '🌙'; +} + +document.addEventListener('DOMContentLoaded', () => { + const savedTheme = localStorage.getItem('color-theme'); + if (savedTheme) { + document.documentElement.setAttribute('data-theme', savedTheme); + } else { + const prefersDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches; + document.documentElement.setAttribute('data-theme', prefersDark ? 'dark' : 'light'); + } + updateButtonText(); + + const button = document.querySelector('.color-theme-toggle'); + button.addEventListener('click', () => { + toggleColorTheme(); + updateButtonText(); + }); +}); + +/** + * ----------------------- + * Sidebar toggle + * ----------------------- + */ + +function toggleSidebar() { + const sidebar = document.querySelector('.sidebar'); + sidebar.classList.toggle('collapsed'); +} + +document.addEventListener('DOMContentLoaded', () => { + const button = document.querySelector('.sidebar-toggle'); + button.addEventListener('click', toggleSidebar); +}); \ No newline at end of file diff --git a/public/static/own.css b/public/static/own.css new file mode 100644 index 0000000..7838449 --- /dev/null +++ b/public/static/own.css @@ -0,0 +1,51 @@ +.sidebar { + position: fixed; + width: calc(min(400px, 80vw)); + height: 100vh; + overflow-y: auto; + left: calc(max(-400px, -80vw)); + top: 0; + z-index: 5; + padding: 16px; + transition: left 0.3s ease-in-out; + background-color: var(--pico-background-color); + box-shadow: 4px 0 8px rgba(0, 0, 0, 0.2); +} + +body:has(.sidebar-toggler > input:checked) .sidebar { + left: 0; +} + +body:has(.sidebar-toggler > input:checked) .color-theme-toggle { + pointer-events: none; +} + +label:has(input[type="checkbox"]) { + transition: left 0.3s ease-in-out, box-shadow 0.3s ease-in-out; + background-color: var(--pico-background-color); + box-shadow: 0 0 0 var(--pico-background-color); + padding: 4px; + border-radius: 2px; + margin-bottom: 0; + left: 0; + + &:has(input:checked) { + left: calc(min(400px, 80vw) + 16px); + position: relative; + box-shadow: 0 0 0 16px var(--pico-background-color); + } + + svg { + width: 30px; + height: 30px; + cursor: pointer; + } + + input { + display: none; + } +} + +.mb-0 { + margin-bottom: 0; +} \ No newline at end of file diff --git a/public/static/pico.classless.pink.min.css b/public/static/pico.classless.pink.min.css new file mode 100644 index 0000000..21761c4 --- /dev/null +++ b/public/static/pico.classless.pink.min.css @@ -0,0 +1,4 @@ +@charset "UTF-8";/*! + * Pico CSS ✨ v2.1.1 (https://picocss.com) + * Copyright 2019-2025 - Licensed under MIT + */:host,:root{--pico-font-family-emoji:"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--pico-font-family-sans-serif:system-ui,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,Helvetica,Arial,"Helvetica Neue",sans-serif,var(--pico-font-family-emoji);--pico-font-family-monospace:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace,var(--pico-font-family-emoji);--pico-font-family:var(--pico-font-family-sans-serif);--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:1rem;--pico-block-spacing-vertical:var(--pico-spacing);--pico-block-spacing-horizontal:var(--pico-spacing);--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")}@media (min-width:576px){:host,:root{--pico-font-size:106.25%}}@media (min-width:768px){:host,:root{--pico-font-size:112.5%}}@media (min-width:1024px){:host,:root{--pico-font-size:118.75%}}@media (min-width:1280px){:host,:root{--pico-font-size:125%}}@media (min-width:1536px){:host,:root{--pico-font-size:131.25%}}a{--pico-text-decoration:underline}small{--pico-font-size:0.875em}h1,h2,h3,h4,h5,h6{--pico-font-weight:700}h1{--pico-font-size:2rem;--pico-line-height:1.125;--pico-typography-spacing-top:3rem}h2{--pico-font-size:1.75rem;--pico-line-height:1.15;--pico-typography-spacing-top:2.625rem}h3{--pico-font-size:1.5rem;--pico-line-height:1.175;--pico-typography-spacing-top:2.25rem}h4{--pico-font-size:1.25rem;--pico-line-height:1.2;--pico-typography-spacing-top: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}tfoot td,tfoot th,thead td,thead th{--pico-font-weight:600;--pico-border-width:0.1875rem}code,kbd,pre,samp{--pico-font-family:var(--pico-font-family-monospace)}kbd{--pico-font-weight:bolder}:where(select,textarea),input:not([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[type=file]){--pico-outline-width:0.0625rem}[type=search]{--pico-border-radius:5rem}[type=checkbox],[type=radio]{--pico-border-width:0.125rem}[type=checkbox][role=switch]{--pico-border-width:0.1875rem}[role=search]{--pico-border-radius:5rem}[role=group] [role=button],[role=group] [type=button],[role=group] [type=submit],[role=group] button,[role=search] [role=button],[role=search] [type=button],[role=search] [type=submit],[role=search] button{--pico-form-element-spacing-horizontal:2rem}details summary[role=button]::after{filter:brightness(0) invert(1)}[aria-busy=true]:not(input,select,textarea):is(button,[type=submit],[type=button],[type=reset],[role=button])::before{filter:brightness(0) invert(1)}:host(:not([data-theme=dark])),:root:not([data-theme=dark]),[data-theme=light]{color-scheme:light;--pico-background-color:#fff;--pico-color:#373c44;--pico-text-selection-color:rgba(246, 84, 126, 0.25);--pico-muted-color:#646b79;--pico-muted-border-color:rgb(231, 234, 239.5);--pico-primary:#c72259;--pico-primary-background:#d92662;--pico-primary-border:var(--pico-primary-background);--pico-primary-underline:rgba(199, 34, 89, 0.5);--pico-primary-hover:#9d1945;--pico-primary-hover-background:#c72259;--pico-primary-hover-border:var(--pico-primary-hover-background);--pico-primary-hover-underline:var(--pico-primary-hover);--pico-primary-focus:rgba(246, 84, 126, 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:rgb(252.5, 230.5, 191.5);--pico-mark-color:#0f1114;--pico-ins-color:rgb(28.5, 105.5, 84);--pico-del-color:rgb(136, 56.5, 53);--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:rgb(243, 244.5, 246.75);--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:rgb(251, 251.5, 252.25);--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:rgb(183.5, 105.5, 106.5);--pico-form-element-invalid-active-border-color:rgb(200.25, 79.25, 72.25);--pico-form-element-invalid-focus-color:var(--pico-form-element-invalid-active-border-color);--pico-form-element-valid-border-color:rgb(76, 154.5, 137.5);--pico-form-element-valid-active-border-color:rgb(39, 152.75, 118.75);--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:rgb(251, 251.5, 252.25);--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, 154.5, 137.5)' 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.25, 79.25, 72.25)' 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")}:host(:not([data-theme=dark])) 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]),[data-theme=light] 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){:host(:not([data-theme])),:root:not([data-theme]){color-scheme:dark;--pico-background-color:rgb(19, 22.5, 30.5);--pico-color:#c2c7d0;--pico-text-selection-color:rgba(247, 112, 142, 0.1875);--pico-muted-color:#7b8495;--pico-muted-border-color:#202632;--pico-primary:#f7708e;--pico-primary-background:#d92662;--pico-primary-border:var(--pico-primary-background);--pico-primary-underline:rgba(247, 112, 142, 0.5);--pico-primary-hover:#f99eae;--pico-primary-hover-background:#f42c6f;--pico-primary-hover-border:var(--pico-primary-hover-background);--pico-primary-hover-underline:var(--pico-primary-hover);--pico-primary-focus:rgba(247, 112, 142, 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, 8.5, 12, 0.01698),0.0335rem 0.067rem 0.402rem rgba(7, 8.5, 12, 0.024),0.0625rem 0.125rem 0.75rem rgba(7, 8.5, 12, 0.03),0.1125rem 0.225rem 1.35rem rgba(7, 8.5, 12, 0.036),0.2085rem 0.417rem 2.502rem rgba(7, 8.5, 12, 0.04302),0.5rem 1rem 6rem rgba(7, 8.5, 12, 0.06),0 0 0 0.0625rem rgba(7, 8.5, 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-ins-color:#62af9a;--pico-del-color:rgb(205.5, 126, 123);--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:rgb(26, 30.5, 40.25);--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:rgb(28, 33, 43.5);--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:rgb(26, 30.5, 40.25);--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:rgb(149.5, 74, 80);--pico-form-element-invalid-active-border-color:rgb(183.25, 63.5, 59);--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:rgb(22, 137, 105.5);--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:rgb(26, 30.5, 40.25);--pico-loading-spinner-opacity:0.5;--pico-modal-overlay-background-color:rgba(7.5, 8.5, 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(149.5, 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")}:host(:not([data-theme])) input:is([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[type=file]),: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]{color-scheme:dark;--pico-background-color:rgb(19, 22.5, 30.5);--pico-color:#c2c7d0;--pico-text-selection-color:rgba(247, 112, 142, 0.1875);--pico-muted-color:#7b8495;--pico-muted-border-color:#202632;--pico-primary:#f7708e;--pico-primary-background:#d92662;--pico-primary-border:var(--pico-primary-background);--pico-primary-underline:rgba(247, 112, 142, 0.5);--pico-primary-hover:#f99eae;--pico-primary-hover-background:#f42c6f;--pico-primary-hover-border:var(--pico-primary-hover-background);--pico-primary-hover-underline:var(--pico-primary-hover);--pico-primary-focus:rgba(247, 112, 142, 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, 8.5, 12, 0.01698),0.0335rem 0.067rem 0.402rem rgba(7, 8.5, 12, 0.024),0.0625rem 0.125rem 0.75rem rgba(7, 8.5, 12, 0.03),0.1125rem 0.225rem 1.35rem rgba(7, 8.5, 12, 0.036),0.2085rem 0.417rem 2.502rem rgba(7, 8.5, 12, 0.04302),0.5rem 1rem 6rem rgba(7, 8.5, 12, 0.06),0 0 0 0.0625rem rgba(7, 8.5, 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-ins-color:#62af9a;--pico-del-color:rgb(205.5, 126, 123);--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:rgb(26, 30.5, 40.25);--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:rgb(28, 33, 43.5);--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:rgb(26, 30.5, 40.25);--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:rgb(149.5, 74, 80);--pico-form-element-invalid-active-border-color:rgb(183.25, 63.5, 59);--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:rgb(22, 137, 105.5);--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:rgb(26, 30.5, 40.25);--pico-loading-spinner-opacity:0.5;--pico-modal-overlay-background-color:rgba(7.5, 8.5, 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(149.5, 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")}[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)}[type=checkbox],[type=radio],[type=range],progress{accent-color:var(--pico-primary)}*,::after,::before{box-sizing:border-box;background-repeat:no-repeat}::after,::before{text-decoration:inherit;vertical-align:inherit}:where(:host),: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);font-family:var(--pico-font-family);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}body{width:100%;margin:0}main{display:block}body>footer,body>header,body>main{width:100%;margin-right:auto;margin-left:auto;padding:var(--pico-block-spacing-vertical) var(--pico-block-spacing-horizontal)}@media (min-width:576px){body>footer,body>header,body>main{max-width:510px;padding-right:0;padding-left:0}}@media (min-width:768px){body>footer,body>header,body>main{max-width:700px}}@media (min-width:1024px){body>footer,body>header,body>main{max-width:950px}}@media (min-width:1280px){body>footer,body>header,body>main{max-width:1200px}}@media (min-width:1536px){body>footer,body>header,body>main{max-width:1450px}}section{margin-bottom:var(--pico-block-spacing-vertical)}b,strong{font-weight:bolder}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}address,blockquote,dl,ol,p,pre,table,ul{margin-top:0;margin-bottom:var(--pico-typography-spacing-vertical);color:var(--pico-color);font-style:normal;font-weight:var(--pico-font-weight)}h1,h2,h3,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);font-family:var(--pico-font-family)}h1{--pico-color:var(--pico-h1-color)}h2{--pico-color:var(--pico-h2-color)}h3{--pico-color:var(--pico-h3-color)}h4{--pico-color:var(--pico-h4-color)}h5{--pico-color:var(--pico-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)}p{margin-bottom:var(--pico-typography-spacing-vertical)}hgroup{margin-bottom:var(--pico-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;font-size:1rem}:where(ol,ul) li{margin-bottom:calc(var(--pico-typography-spacing-vertical) * .25)}:where(dl,ol,ul) :where(dl,ol,ul){margin:0;margin-top:calc(var(--pico-typography-spacing-vertical) * .25)}ul li{list-style:square}mark{padding:.125rem .25rem;background-color:var(--pico-mark-background-color);color:var(--pico-mark-color);vertical-align:baseline}blockquote{display:block;margin:var(--pico-typography-spacing-vertical) 0;padding:var(--pico-spacing);border-right:none;border-left:.25rem solid var(--pico-blockquote-border-color);border-inline-start:0.25rem solid var(--pico-blockquote-border-color);border-inline-end:none}blockquote footer{margin-top:calc(var(--pico-typography-spacing-vertical) * .5);color:var(--pico-blockquote-footer-color)}abbr[title]{border-bottom:1px dotted;text-decoration:none;cursor:help}ins{color:var(--pico-ins-color);text-decoration:none}del{color:var(--pico-del-color)}::-moz-selection{background-color:var(--pico-text-selection-color)}::selection{background-color:var(--pico-text-selection-color)}:where(a:not([role=button])),[role=link]{--pico-color:var(--pico-primary);--pico-background-color:transparent;--pico-underline:var(--pico-primary-underline);outline:0;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}button{margin:0;overflow:visible;font-family:inherit;text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[role=button],[type=button],[type=file]::file-selector-button,[type=reset],[type=submit],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);outline:0;background-color:var(--pico-background-color);box-shadow:var(--pico-box-shadow);color:var(--pico-color);font-weight:var(--pico-font-weight);font-size:1rem;line-height:var(--pico-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)}[role=button]:is(:hover,:active,:focus),[role=button]:is([aria-current]:not([aria-current=false])),[type=button]:is(:hover,:active,:focus),[type=button]:is([aria-current]:not([aria-current=false])),[type=file]::file-selector-button:is(:hover,:active,:focus),[type=file]::file-selector-button:is([aria-current]:not([aria-current=false])),[type=reset]:is(:hover,:active,:focus),[type=reset]:is([aria-current]:not([aria-current=false])),[type=submit]:is(:hover,:active,:focus),[type=submit]:is([aria-current]:not([aria-current=false])),button:is(:hover,:active,:focus),button:is([aria-current]:not([aria-current=false])){--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)}[role=button]:focus,[role=button]: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,[type=reset]:focus,[type=reset]:is([aria-current]:not([aria-current=false])):focus,[type=submit]:focus,[type=submit]:is([aria-current]:not([aria-current=false])):focus,button:focus,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=button],[type=reset],[type=submit]{margin-bottom:var(--pico-spacing)}[type=file]::file-selector-button,[type=reset]{--pico-background-color:var(--pico-secondary-background);--pico-border-color:var(--pico-secondary-border);--pico-color:var(--pico-secondary-inverse);cursor:pointer}[type=file]::file-selector-button:is([aria-current]:not([aria-current=false]),:hover,:active,:focus),[type=reset]: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)}[type=file]::file-selector-button:focus,[type=reset]: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)}:where(button,[type=submit],[type=reset],[type=button],[role=button])[disabled],:where(fieldset[disabled]) :is(button,[type=submit],[type=button],[type=reset],[role=button]){opacity:.5;pointer-events:none}:where(table){width:100%;border-collapse:collapse;border-spacing:0;text-indent:0}td,th{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}tfoot td,tfoot th{border-top:var(--pico-border-width) solid var(--pico-table-border-color);border-bottom:0}table.striped tbody tr:nth-child(odd) td,table.striped tbody tr:nth-child(odd) th{background-color:var(--pico-table-row-stripped-background-color)}:where(audio,canvas,iframe,img,svg,video){vertical-align:middle}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}:where(iframe){border-style:none}img{max-width:100%;height:auto;border-style:none}:where(svg:not([fill])){fill:currentColor}svg:not(:host),svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-size:.875em;font-family:var(--pico-font-family)}pre code,pre samp{font-size:inherit;font-family:inherit}pre{-ms-overflow-style:scrollbar;overflow:auto}code,kbd,pre,samp{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}code,kbd,samp{display:inline-block;padding:.375rem}pre{display:block;margin-bottom:var(--pico-spacing);overflow-x:auto}pre>code,pre>samp{display:block;padding:var(--pico-spacing);background:0 0;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{display:block;margin:0;padding:0}figure figcaption{padding:calc(var(--pico-spacing) * .5) 0;color:var(--pico-muted-color)}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}input,optgroup,select,textarea{margin:0;font-size:1rem;line-height:var(--pico-line-height);font-family:inherit;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:0}:-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)}fieldset{width:100%;margin:0;margin-bottom:var(--pico-spacing);padding:0;border:0}fieldset legend,label{display:block;margin-bottom:calc(var(--pico-spacing) * .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) * .5)}button[type=submit],input:not([type=checkbox],[type=radio]),select,textarea{width:100%}input:not([type=checkbox],[type=radio],[type=range],[type=file]),select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:var(--pico-form-element-spacing-vertical) var(--pico-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);outline:0;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)}:where(select,textarea):not([readonly]):is(:active,:focus),input:not([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[readonly]):is(:active,:focus){--pico-background-color:var(--pico-form-element-active-background-color)}:where(select,textarea):not([readonly]):is(:active,:focus),input:not([type=submit],[type=button],[type=reset],[role=switch],[readonly]):is(:active,:focus){--pico-border-color:var(--pico-form-element-active-border-color)}:where(select,textarea):not([readonly]):focus,input:not([type=submit],[type=button],[type=reset],[type=range],[type=file],[readonly]):focus{--pico-box-shadow:0 0 0 var(--pico-outline-width) var(--pico-form-element-focus-color)}:where(fieldset[disabled]) :is(input:not([type=submit],[type=button],[type=reset]),select,textarea),input:not([type=submit],[type=button],[type=reset])[disabled],label[aria-disabled=true],select[disabled],textarea[disabled]{opacity:var(--pico-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;background-position:center right .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)[aria-invalid=false]{--pico-border-color:var(--pico-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}:where(input,select,textarea)[aria-invalid=true]{--pico-border-color:var(--pico-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 .75rem}input::-webkit-input-placeholder,input::placeholder,select:invalid,textarea::-webkit-input-placeholder,textarea::placeholder{color:var(--pico-form-element-placeholder-color);opacity:1}input:not([type=checkbox],[type=radio]),select,textarea{margin-bottom:var(--pico-spacing)}select::-ms-expand{border:0;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);background-position:center right .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 .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 .75rem!important;background-size:1rem var(--pico-icon-height)!important}:where(input,select,textarea,fieldset)+small{display:block;width:100%;margin-top:calc(var(--pico-spacing) * -.75);margin-bottom:var(--pico-spacing);color:var(--pico-muted-color)}:where(input,select,textarea,fieldset)[aria-invalid=false]+small{color:var(--pico-ins-color)}:where(input,select,textarea,fieldset)[aria-invalid=true]+small{color:var(--pico-del-color)}label>:where(input,select,textarea){margin-top:calc(var(--pico-spacing) * .25)}label:has([type=checkbox],[type=radio]){width:-moz-fit-content;width:fit-content;cursor:pointer}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:1.25em;height:1.25em;margin-top:-.125em;margin-inline-end:.5em;border-width:var(--pico-border-width);vertical-align:middle;cursor:pointer}[type=checkbox]::-ms-check,[type=radio]::-ms-check{display:none}[type=checkbox]:checked,[type=checkbox]:checked:active,[type=checkbox]:checked:focus,[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-position:center;background-size:.75em auto;background-repeat:no-repeat}[type=checkbox]~label,[type=radio]~label{display:inline-block;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-position:center;background-size:.75em auto;background-repeat:no-repeat}[type=radio]{border-radius:50%}[type=radio]:checked,[type=radio]:checked:active,[type=radio]:checked:focus{--pico-background-color:var(--pico-primary-inverse);border-width:.35em;background-image:none}[type=checkbox][role=switch]{--pico-background-color:var(--pico-switch-background-color);--pico-color:var(--pico-switch-color);width:2.25em;height:1.25em;border:var(--pico-border-width) solid var(--pico-border-color);border-radius:1.25em;background-color:var(--pico-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]:before{display:block;aspect-ratio:1;height:100%;border-radius:50%;background-color:var(--pico-color);box-shadow:var(--pico-switch-thumb-box-shadow);content:"";transition:margin .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:active[aria-invalid=true],[type=checkbox]:checked:focus[aria-invalid=true],[type=checkbox]:checked[aria-invalid=true],[type=checkbox][role=switch]:checked:active[aria-invalid=true],[type=checkbox][role=switch]:checked:focus[aria-invalid=true],[type=checkbox][role=switch]:checked[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=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,[type=radio][aria-invalid=false]:checked,[type=radio][aria-invalid=false]:checked:active,[type=radio][aria-invalid=false]:checked:focus{--pico-border-color:var(--pico-form-element-valid-border-color)}[type=checkbox]:checked:active[aria-invalid=true],[type=checkbox]:checked:focus[aria-invalid=true],[type=checkbox]:checked[aria-invalid=true],[type=checkbox][role=switch]:checked:active[aria-invalid=true],[type=checkbox][role=switch]:checked:focus[aria-invalid=true],[type=checkbox][role=switch]:checked[aria-invalid=true],[type=radio]:checked:active[aria-invalid=true],[type=radio]:checked:focus[aria-invalid=true],[type=radio]:checked[aria-invalid=true]{--pico-border-color:var(--pico-form-element-invalid-border-color)}[type=color]::-webkit-color-swatch-wrapper{padding:0}[type=color]::-moz-focus-inner{padding:0}[type=color]::-webkit-color-swatch{border:0;border-radius:calc(var(--pico-border-radius) * .5)}[type=color]::-moz-color-swatch{border:0;border-radius:calc(var(--pico-border-radius) * .5)}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;background-repeat:no-repeat}input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=time]{background-image:var(--pico-icon-time)}[type=date]::-webkit-calendar-picker-indicator,[type=datetime-local]::-webkit-calendar-picker-indicator,[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);opacity:0}@-moz-document url-prefix(){[type=date],[type=datetime-local],[type=month],[type=time],[type=week]{padding-right:var(--pico-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}[type=file]{--pico-color:var(--pico-muted-color);margin-left:calc(var(--pico-outline-width) * -1);padding:calc(var(--pico-form-element-spacing-vertical) * .5) 0;padding-left:var(--pico-outline-width);border:0;border-radius:0;background:0 0}[type=file]::file-selector-button{margin-right:calc(var(--pico-spacing)/ 2);padding:calc(var(--pico-form-element-spacing-vertical) * .5) var(--pico-form-element-spacing-horizontal)}[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]: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=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:1.25rem;background:0 0}[type=range]::-webkit-slider-runnable-track{width:100%;height:.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)}[type=range]::-moz-range-track{width:100%;height:.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)}[type=range]::-ms-track{width:100%;height:.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)}[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:1.25rem;height:1.25rem;margin-top:-.4375rem;border:2px solid var(--pico-range-thumb-border-color);border-radius:50%;background-color:var(--pico-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)}[type=range]::-moz-range-thumb{-webkit-appearance:none;width:1.25rem;height:1.25rem;margin-top:-.4375rem;border:2px solid var(--pico-range-thumb-border-color);border-radius:50%;background-color:var(--pico-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)}[type=range]::-ms-thumb{-webkit-appearance:none;width:1.25rem;height:1.25rem;margin-top:-.4375rem;border:2px solid var(--pico-range-thumb-border-color);border-radius:50%;background-color:var(--pico-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)}[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::-webkit-slider-thumb{transform:scale(1.25)}[type=range]:active::-moz-range-thumb{transform:scale(1.25)}[type=range]:active::-ms-thumb{transform:scale(1.25)}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) + .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;background-position:center left 1.125rem,center right .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)}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)}[dir=rtl] :where(input):not([type=checkbox],[type=radio],[type=range],[type=file])[type=search]{background-position:center right 1.125rem}[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 .75rem}details{display:block;margin-bottom:var(--pico-spacing)}details summary{line-height:1rem;list-style-type:none;cursor:pointer;transition:color var(--pico-transition)}details summary:not([role]){color:var(--pico-accordion-close-summary-color)}details summary::-webkit-details-marker{display:none}details summary::marker{display:none}details summary::-moz-list-bullet{list-style-type:none}details summary::after{display:block;width:1rem;height:1rem;margin-inline-start:calc(var(--pico-spacing,1rem) * .5);float:right;transform:rotate(-90deg);background-image:var(--pico-icon-chevron);background-position:right center;background-size:1rem auto;background-repeat:no-repeat;content:"";transition:transform var(--pico-transition)}details summary:focus{outline:0}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[role=button]{width:100%;text-align:left}details summary[role=button]::after{height:calc(1rem * var(--pico-line-height,1.5))}details[open]>summary{margin-bottom:var(--pico-spacing)}details[open]>summary:not([role]):not(:focus){color:var(--pico-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}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)}article>footer,article>header{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) * .66) var(--pico-block-spacing-horizontal);background-color:var(--pico-card-sectioning-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)}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)}[role=group],[role=search]{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 transparent);vertical-align:middle;transition:box-shadow var(--pico-transition)}[role=group] input:not([type=checkbox],[type=radio]),[role=group] select,[role=group]>*,[role=search] input:not([type=checkbox],[type=radio]),[role=search] select,[role=search]>*{position:relative;flex:1 1 auto;margin-bottom:0}[role=group] input:not([type=checkbox],[type=radio]):not(:first-child),[role=group] select:not(:first-child),[role=group]>:not(:first-child),[role=search] input:not([type=checkbox],[type=radio]):not(:first-child),[role=search] select:not(:first-child),[role=search]>:not(:first-child){margin-left:0;border-top-left-radius:0;border-bottom-left-radius:0}[role=group] input:not([type=checkbox],[type=radio]):not(:last-child),[role=group] select:not(:last-child),[role=group]>:not(:last-child),[role=search] input:not([type=checkbox],[type=radio]):not(:last-child),[role=search] select:not(:last-child),[role=search]>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}[role=group] input:not([type=checkbox],[type=radio]):focus,[role=group] select:focus,[role=group]>:focus,[role=search] input:not([type=checkbox],[type=radio]):focus,[role=search] select:focus,[role=search]>:focus{z-index:2}[role=group] [role=button]:not(:first-child),[role=group] [type=button]:not(:first-child),[role=group] [type=reset]:not(:first-child),[role=group] [type=submit]:not(:first-child),[role=group] button:not(:first-child),[role=group] input:not([type=checkbox],[type=radio]):not(:first-child),[role=group] select:not(:first-child),[role=search] [role=button]:not(:first-child),[role=search] [type=button]:not(:first-child),[role=search] [type=reset]:not(:first-child),[role=search] [type=submit]:not(:first-child),[role=search] button:not(:first-child),[role=search] input:not([type=checkbox],[type=radio]):not(:first-child),[role=search] select:not(:first-child){margin-left:calc(var(--pico-border-width) * -1)}[role=group] [role=button],[role=group] [type=button],[role=group] [type=reset],[role=group] [type=submit],[role=group] button,[role=search] [role=button],[role=search] [type=button],[role=search] [type=reset],[role=search] [type=submit],[role=search] button{width:auto}@supports selector(:has(*)){[role=group]:has(button:focus,[type=submit]:focus,[type=button]:focus,[role=button]:focus),[role=search]: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=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,[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{border-color:transparent}[role=group]:has(input:not([type=submit],[type=button]):focus,select:focus),[role=search]:has(input:not([type=submit],[type=button]):focus,select:focus){--pico-group-box-shadow:var(--pico-group-box-shadow-focus-with-input)}[role=group]:has(input:not([type=submit],[type=button]):focus,select:focus) [role=button],[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) [type=submit],[role=group]:has(input:not([type=submit],[type=button]):focus,select:focus) button,[role=search]:has(input:not([type=submit],[type=button]):focus,select:focus) [role=button],[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) [type=submit],[role=search]:has(input:not([type=submit],[type=button]):focus,select:focus) 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=group] [role=button]:focus,[role=group] [type=button]:focus,[role=group] [type=reset]:focus,[role=group] [type=submit]:focus,[role=group] button:focus,[role=search] [role=button]:focus,[role=search] [type=button]:focus,[role=search] [type=reset]:focus,[role=search] [type=submit]:focus,[role=search] 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}[aria-busy=true]:not(input,select,textarea,html,form){white-space:nowrap}[aria-busy=true]:not(input,select,textarea,html,form)::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:-.125em}[aria-busy=true]:not(input,select,textarea,html,form):not(:empty)::before{margin-inline-end:calc(var(--pico-spacing) * .5)}[aria-busy=true]:not(input,select,textarea,html,form):empty{text-align:center}[role=button][aria-busy=true],[type=button][aria-busy=true],[type=reset][aria-busy=true],[type=submit][aria-busy=true],a[aria-busy=true],button[aria-busy=true]{pointer-events:none}:host,:root{--pico-scrollbar-width:0px}dialog{display:flex;z-index:999;position:fixed;top:0;right:0;bottom:0;left:0;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);padding:0;float:right}dialog>article>footer{text-align:right}dialog>article>footer [role=button],dialog>article>footer button{margin-bottom:0}dialog>article>footer [role=button]:not(:first-of-type),dialog>article>footer button:not(:first-of-type){margin-left:calc(var(--pico-spacing) * .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:.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}:where(nav li)::before{float:left;content:"​"}nav,nav ul{display:flex}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)}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 :where(a,[role=link]):not(:hover){text-decoration:none}nav li [role=button],nav li [type=button],nav li 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;padding:calc(var(--pico-nav-link-spacing-vertical) - var(--pico-border-width) * 2) var(--pico-nav-link-spacing-horizontal)}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] 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;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);text-align:center;text-decoration:none;white-space:nowrap}nav[aria-label=breadcrumb] a[aria-current]:not([aria-current=false]){background-color:transparent;color:inherit;text-decoration:none;pointer-events:none}aside li,aside nav,aside ol,aside ul{display:block}aside li{padding:calc(var(--pico-nav-element-spacing-vertical) * .5) var(--pico-nav-element-spacing-horizontal)}aside li a{display:block}aside li [role=button]{margin:inherit}[dir=rtl] nav[aria-label=breadcrumb] ul li:not(:last-child) ::after{content:"\\"}progress{display:inline-block;vertical-align:baseline}progress{-webkit-appearance:none;-moz-appearance:none;display:inline-block;appearance:none;width:100%;height:.5rem;margin-bottom:calc(var(--pico-spacing) * .5);overflow:hidden;border:0;border-radius:var(--pico-border-radius);background-color:var(--pico-progress-background-color);color:var(--pico-progress-color)}progress::-webkit-progress-bar{border-radius:var(--pico-border-radius);background:0 0}progress[value]::-webkit-progress-value{background-color:var(--pico-progress-color);-webkit-transition:inline-size var(--pico-transition);transition:inline-size var(--pico-transition)}progress::-moz-progress-bar{background-color:var(--pico-progress-color)}@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}}@media (prefers-reduced-motion:no-preference){[dir=rtl] progress:indeterminate{animation-direction:reverse}}@keyframes progress-indeterminate{0%{background-position:200% 0}100%{background-position:-200% 0}}[data-tooltip]{position:relative}[data-tooltip]:not(a,button,input,[role=button]){border-bottom:1px dotted;text-decoration:none;cursor:help}[data-tooltip]::after,[data-tooltip]::before,[data-tooltip][data-placement=top]::after,[data-tooltip][data-placement=top]::before{display:block;z-index:99;position:absolute;bottom:100%;left:50%;padding:.25rem .5rem;overflow:hidden;transform:translate(-50%,-.25rem);border-radius:var(--pico-border-radius);background:var(--pico-tooltip-background-color);content:attr(data-tooltip);color:var(--pico-tooltip-color);font-style:normal;font-weight:var(--pico-font-weight);font-size:.875rem;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;opacity:0;pointer-events:none}[data-tooltip]::after,[data-tooltip][data-placement=top]::after{padding:0;transform:translate(-50%,0);border-top:.3rem solid;border-right:.3rem solid transparent;border-left:.3rem solid transparent;border-radius:0;background-color:transparent;content:"";color:var(--pico-tooltip-background-color)}[data-tooltip][data-placement=bottom]::after,[data-tooltip][data-placement=bottom]::before{top:100%;bottom:auto;transform:translate(-50%,.25rem)}[data-tooltip][data-placement=bottom]:after{transform:translate(-50%,-.3rem);border:.3rem solid transparent;border-bottom:.3rem solid}[data-tooltip][data-placement=left]::after,[data-tooltip][data-placement=left]::before{top:50%;right:100%;bottom:auto;left:auto;transform:translate(-.25rem,-50%)}[data-tooltip][data-placement=left]:after{transform:translate(.3rem,-50%);border:.3rem solid transparent;border-left:.3rem solid}[data-tooltip][data-placement=right]::after,[data-tooltip][data-placement=right]::before{top:50%;right:auto;bottom:auto;left:100%;transform:translate(.25rem,-50%)}[data-tooltip][data-placement=right]:after{transform:translate(-.3rem,-50%);border:.3rem solid transparent;border-right:.3rem solid}[data-tooltip]:focus::after,[data-tooltip]:focus::before,[data-tooltip]:hover::after,[data-tooltip]:hover::before{opacity:1}@media (hover:hover) and (pointer:fine){[data-tooltip]:focus::after,[data-tooltip]:focus::before,[data-tooltip]:hover::after,[data-tooltip]:hover::before{--pico-tooltip-slide-to:translate(-50%, -0.25rem);transform:translate(-50%,.75rem);animation-duration:.2s;animation-fill-mode:forwards;animation-name:tooltip-slide;opacity:0}[data-tooltip]:focus::after,[data-tooltip]:hover::after{--pico-tooltip-caret-slide-to:translate(-50%, 0rem);transform:translate(-50%,-.25rem);animation-name:tooltip-caret-slide}[data-tooltip][data-placement=bottom]:focus::after,[data-tooltip][data-placement=bottom]:focus::before,[data-tooltip][data-placement=bottom]:hover::after,[data-tooltip][data-placement=bottom]:hover::before{--pico-tooltip-slide-to:translate(-50%, 0.25rem);transform:translate(-50%,-.75rem);animation-name:tooltip-slide}[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%,-.5rem);animation-name:tooltip-caret-slide}[data-tooltip][data-placement=left]:focus::after,[data-tooltip][data-placement=left]:focus::before,[data-tooltip][data-placement=left]:hover::after,[data-tooltip][data-placement=left]:hover::before{--pico-tooltip-slide-to:translate(-0.25rem, -50%);transform:translate(.75rem,-50%);animation-name:tooltip-slide}[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(.05rem,-50%);animation-name:tooltip-caret-slide}[data-tooltip][data-placement=right]:focus::after,[data-tooltip][data-placement=right]:focus::before,[data-tooltip][data-placement=right]:hover::after,[data-tooltip][data-placement=right]:hover::before{--pico-tooltip-slide-to:translate(0.25rem, -50%);transform:translate(-.75rem,-50%);animation-name:tooltip-slide}[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(-.05rem,-50%);animation-name:tooltip-caret-slide}}@keyframes tooltip-slide{to{transform:var(--pico-tooltip-slide-to);opacity:1}}@keyframes tooltip-caret-slide{50%{opacity:0}to{transform:var(--pico-tooltip-caret-slide-to);opacity:1}}[aria-controls]{cursor:pointer}[aria-disabled=true],[disabled]{cursor:not-allowed}[aria-hidden=false][hidden]{display:initial}[aria-hidden=false][hidden]:not(:focus){clip:rect(0,0,0,0);position:absolute}[tabindex],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation}[dir=rtl]{direction:rtl}@media (prefers-reduced-motion:reduce){:not([aria-busy=true]),:not([aria-busy=true])::after,:not([aria-busy=true])::before{background-attachment:initial!important;animation-duration:1ms!important;animation-delay:-1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-delay:0s!important;transition-duration:0s!important}} \ No newline at end of file diff --git a/src/Alligatoah - Verloren.md b/scores/Alligatoah - Verloren.md similarity index 100% rename from src/Alligatoah - Verloren.md rename to scores/Alligatoah - Verloren.md diff --git a/src/Alligatoah - Willst Du.md b/scores/Alligatoah - Willst Du.md similarity index 100% rename from src/Alligatoah - Willst Du.md rename to scores/Alligatoah - Willst Du.md diff --git a/src/Angus & Julia Stone - Santa Monica Dream.md b/scores/Angus & Julia Stone - Santa Monica Dream.md similarity index 100% rename from src/Angus & Julia Stone - Santa Monica Dream.md rename to scores/Angus & Julia Stone - Santa Monica Dream.md diff --git a/src/AnnenMayKantereit - 3. Stock.md b/scores/AnnenMayKantereit - 3. Stock.md similarity index 100% rename from src/AnnenMayKantereit - 3. Stock.md rename to scores/AnnenMayKantereit - 3. Stock.md diff --git a/src/AnnenMayKantereit - Barfuß Am Klavier.md b/scores/AnnenMayKantereit - Barfuß Am Klavier.md similarity index 100% rename from src/AnnenMayKantereit - Barfuß Am Klavier.md rename to scores/AnnenMayKantereit - Barfuß Am Klavier.md diff --git a/src/AnnenMayKantereit - Länger Bleiben.md b/scores/AnnenMayKantereit - Länger Bleiben.md similarity index 100% rename from src/AnnenMayKantereit - Länger Bleiben.md rename to scores/AnnenMayKantereit - Länger Bleiben.md diff --git a/src/Avi Kaplan - Change On The Rise.md b/scores/Avi Kaplan - Change On The Rise.md similarity index 100% rename from src/Avi Kaplan - Change On The Rise.md rename to scores/Avi Kaplan - Change On The Rise.md diff --git a/src/Avi Kaplan - Quarter Past Four.md b/scores/Avi Kaplan - Quarter Past Four.md similarity index 100% rename from src/Avi Kaplan - Quarter Past Four.md rename to scores/Avi Kaplan - Quarter Past Four.md diff --git a/src/Avril Lavigne - Bite Me.md b/scores/Avril Lavigne - Bite Me.md similarity index 100% rename from src/Avril Lavigne - Bite Me.md rename to scores/Avril Lavigne - Bite Me.md diff --git a/src/Avril Lavigne - Keep Holding On.md b/scores/Avril Lavigne - Keep Holding On.md similarity index 100% rename from src/Avril Lavigne - Keep Holding On.md rename to scores/Avril Lavigne - Keep Holding On.md diff --git a/src/Bo Burnham - Comedy.md b/scores/Bo Burnham - Comedy.md similarity index 100% rename from src/Bo Burnham - Comedy.md rename to scores/Bo Burnham - Comedy.md diff --git a/src/Bo Burnham - How The World Works.md b/scores/Bo Burnham - How The World Works.md similarity index 100% rename from src/Bo Burnham - How The World Works.md rename to scores/Bo Burnham - How The World Works.md diff --git a/src/Bo Burnham - Look Who's Inside Again.md b/scores/Bo Burnham - Look Who's Inside Again.md similarity index 100% rename from src/Bo Burnham - Look Who's Inside Again.md rename to scores/Bo Burnham - Look Who's Inside Again.md diff --git a/src/Bo Burnham - Welcome To The Internet.md b/scores/Bo Burnham - Welcome To The Internet.md similarity index 100% rename from src/Bo Burnham - Welcome To The Internet.md rename to scores/Bo Burnham - Welcome To The Internet.md diff --git a/src/Bodo Wartke - Regen.md b/scores/Bodo Wartke - Regen.md similarity index 100% rename from src/Bodo Wartke - Regen.md rename to scores/Bodo Wartke - Regen.md diff --git a/src/Bodo Wartke - Was Ich Gerade Denke.md b/scores/Bodo Wartke - Was Ich Gerade Denke.md similarity index 100% rename from src/Bodo Wartke - Was Ich Gerade Denke.md rename to scores/Bodo Wartke - Was Ich Gerade Denke.md diff --git a/src/Britney Spears - ...One More Time.md b/scores/Britney Spears - ...One More Time.md similarity index 100% rename from src/Britney Spears - ...One More Time.md rename to scores/Britney Spears - ...One More Time.md diff --git a/src/Britney Spears - Toxic.md b/scores/Britney Spears - Toxic.md similarity index 100% rename from src/Britney Spears - Toxic.md rename to scores/Britney Spears - Toxic.md diff --git a/src/Bukahara - Happy.md b/scores/Bukahara - Happy.md similarity index 100% rename from src/Bukahara - Happy.md rename to scores/Bukahara - Happy.md diff --git a/src/Carpenters - Close To You.md b/scores/Carpenters - Close To You.md similarity index 100% rename from src/Carpenters - Close To You.md rename to scores/Carpenters - Close To You.md diff --git a/src/Christina Perri - Jar Of Hearts.md b/scores/Christina Perri - Jar Of Hearts.md similarity index 100% rename from src/Christina Perri - Jar Of Hearts.md rename to scores/Christina Perri - Jar Of Hearts.md diff --git a/src/Coldplay - Fix You.md b/scores/Coldplay - Fix You.md similarity index 100% rename from src/Coldplay - Fix You.md rename to scores/Coldplay - Fix You.md diff --git a/src/Crosby - Helplessly Hoping.md b/scores/Crosby - Helplessly Hoping.md similarity index 100% rename from src/Crosby - Helplessly Hoping.md rename to scores/Crosby - Helplessly Hoping.md diff --git a/src/Cynthia Nickschas - Positiv Denken.md b/scores/Cynthia Nickschas - Positiv Denken.md similarity index 100% rename from src/Cynthia Nickschas - Positiv Denken.md rename to scores/Cynthia Nickschas - Positiv Denken.md diff --git a/src/Cynthia Nickschas - Schissig.md b/scores/Cynthia Nickschas - Schissig.md similarity index 100% rename from src/Cynthia Nickschas - Schissig.md rename to scores/Cynthia Nickschas - Schissig.md diff --git a/src/Das Lumpenpack - Guacamole.md b/scores/Das Lumpenpack - Guacamole.md similarity index 100% rename from src/Das Lumpenpack - Guacamole.md rename to scores/Das Lumpenpack - Guacamole.md diff --git a/src/Das Lumpenpack - Hauch Mich Mal An.md b/scores/Das Lumpenpack - Hauch Mich Mal An.md similarity index 100% rename from src/Das Lumpenpack - Hauch Mich Mal An.md rename to scores/Das Lumpenpack - Hauch Mich Mal An.md diff --git a/src/Das Lumpenpack - Pädagogen.md b/scores/Das Lumpenpack - Pädagogen.md similarity index 100% rename from src/Das Lumpenpack - Pädagogen.md rename to scores/Das Lumpenpack - Pädagogen.md diff --git a/src/Daði Freyr - Think About Things.md b/scores/Daði Freyr - Think About Things.md similarity index 100% rename from src/Daði Freyr - Think About Things.md rename to scores/Daði Freyr - Think About Things.md diff --git a/src/Die Höchste Eisenbahn - Isi.md b/scores/Die Höchste Eisenbahn - Isi.md similarity index 100% rename from src/Die Höchste Eisenbahn - Isi.md rename to scores/Die Höchste Eisenbahn - Isi.md diff --git a/src/Die Zukunft - Drogen Nehmen und Rumfahren.md b/scores/Die Zukunft - Drogen Nehmen und Rumfahren.md similarity index 100% rename from src/Die Zukunft - Drogen Nehmen und Rumfahren.md rename to scores/Die Zukunft - Drogen Nehmen und Rumfahren.md diff --git a/src/Dodie - Human.md b/scores/Dodie - Human.md similarity index 100% rename from src/Dodie - Human.md rename to scores/Dodie - Human.md diff --git a/src/Dodie - Monster.md b/scores/Dodie - Monster.md similarity index 100% rename from src/Dodie - Monster.md rename to scores/Dodie - Monster.md diff --git a/src/Dodie - Secret For The Mad.md b/scores/Dodie - Secret For The Mad.md similarity index 100% rename from src/Dodie - Secret For The Mad.md rename to scores/Dodie - Secret For The Mad.md diff --git a/src/Dodie - Sick Of Losing Soulmates.md b/scores/Dodie - Sick Of Losing Soulmates.md similarity index 100% rename from src/Dodie - Sick Of Losing Soulmates.md rename to scores/Dodie - Sick Of Losing Soulmates.md diff --git a/src/Ed Sheeran - I See Fire.md b/scores/Ed Sheeran - I See Fire.md similarity index 100% rename from src/Ed Sheeran - I See Fire.md rename to scores/Ed Sheeran - I See Fire.md diff --git a/src/Elvis Presley - Can't Help Falling In Love.md b/scores/Elvis Presley - Can't Help Falling In Love.md similarity index 100% rename from src/Elvis Presley - Can't Help Falling In Love.md rename to scores/Elvis Presley - Can't Help Falling In Love.md diff --git a/src/Evanscence - Bring Me To Life.md b/scores/Evanscence - Bring Me To Life.md similarity index 100% rename from src/Evanscence - Bring Me To Life.md rename to scores/Evanscence - Bring Me To Life.md diff --git a/src/Evanscence - My Immortal.md b/scores/Evanscence - My Immortal.md similarity index 100% rename from src/Evanscence - My Immortal.md rename to scores/Evanscence - My Immortal.md diff --git a/src/Faber - Ich Liebe Dich, Faber.md b/scores/Faber - Ich Liebe Dich, Faber.md similarity index 100% rename from src/Faber - Ich Liebe Dich, Faber.md rename to scores/Faber - Ich Liebe Dich, Faber.md diff --git a/src/Faber - Vivaldi.md b/scores/Faber - Vivaldi.md similarity index 100% rename from src/Faber - Vivaldi.md rename to scores/Faber - Vivaldi.md diff --git a/src/Falk - Eine Frage der Perspektive.md b/scores/Falk - Eine Frage der Perspektive.md similarity index 100% rename from src/Falk - Eine Frage der Perspektive.md rename to scores/Falk - Eine Frage der Perspektive.md diff --git a/src/Fleet Foxes - Blue Spotted Tail.md b/scores/Fleet Foxes - Blue Spotted Tail.md similarity index 100% rename from src/Fleet Foxes - Blue Spotted Tail.md rename to scores/Fleet Foxes - Blue Spotted Tail.md diff --git a/src/Fleet Foxes - Mykonos.md b/scores/Fleet Foxes - Mykonos.md similarity index 100% rename from src/Fleet Foxes - Mykonos.md rename to scores/Fleet Foxes - Mykonos.md diff --git a/src/Fools Garden - Lemon Tree.md b/scores/Fools Garden - Lemon Tree.md similarity index 100% rename from src/Fools Garden - Lemon Tree.md rename to scores/Fools Garden - Lemon Tree.md diff --git a/src/Frage der Perspektive Wechselbass.png b/scores/Frage der Perspektive Wechselbass.png similarity index 100% rename from src/Frage der Perspektive Wechselbass.png rename to scores/Frage der Perspektive Wechselbass.png diff --git a/src/Frank Sinatra - Fly Me To The Moon.md b/scores/Frank Sinatra - Fly Me To The Moon.md similarity index 100% rename from src/Frank Sinatra - Fly Me To The Moon.md rename to scores/Frank Sinatra - Fly Me To The Moon.md diff --git a/src/Funny Van Dannen - Nebelmaschine.md b/scores/Funny Van Dannen - Nebelmaschine.md similarity index 100% rename from src/Funny Van Dannen - Nebelmaschine.md rename to scores/Funny Van Dannen - Nebelmaschine.md diff --git a/src/Götz Widmann - Zaubersteuer.md b/scores/Götz Widmann - Zaubersteuer.md similarity index 100% rename from src/Götz Widmann - Zaubersteuer.md rename to scores/Götz Widmann - Zaubersteuer.md diff --git a/src/Idina Menzel - Let It Go.md b/scores/Idina Menzel - Let It Go.md similarity index 100% rename from src/Idina Menzel - Let It Go.md rename to scores/Idina Menzel - Let It Go.md diff --git a/src/Imagine Dragons - Enemy.md b/scores/Imagine Dragons - Enemy.md similarity index 100% rename from src/Imagine Dragons - Enemy.md rename to scores/Imagine Dragons - Enemy.md diff --git a/src/Imagine Dragons - Radioactive.md b/scores/Imagine Dragons - Radioactive.md similarity index 100% rename from src/Imagine Dragons - Radioactive.md rename to scores/Imagine Dragons - Radioactive.md diff --git a/src/Imagine Dragons - Wrecked.md b/scores/Imagine Dragons - Wrecked.md similarity index 100% rename from src/Imagine Dragons - Wrecked.md rename to scores/Imagine Dragons - Wrecked.md diff --git a/src/Israel Kamakawiwo'ole - Somewhere Over The Rainbow.md b/scores/Israel Kamakawiwo'ole - Somewhere Over The Rainbow.md similarity index 100% rename from src/Israel Kamakawiwo'ole - Somewhere Over The Rainbow.md rename to scores/Israel Kamakawiwo'ole - Somewhere Over The Rainbow.md diff --git a/src/Jeff Buckley - Hallelujah.md b/scores/Jeff Buckley - Hallelujah.md similarity index 100% rename from src/Jeff Buckley - Hallelujah.md rename to scores/Jeff Buckley - Hallelujah.md diff --git a/src/John Denver - Country Roads.md b/scores/John Denver - Country Roads.md similarity index 100% rename from src/John Denver - Country Roads.md rename to scores/John Denver - Country Roads.md diff --git a/src/K.I.Z - Neuruppin.md b/scores/K.I.Z - Neuruppin.md similarity index 100% rename from src/K.I.Z - Neuruppin.md rename to scores/K.I.Z - Neuruppin.md diff --git a/src/Keane - Somewhere Only We Know.md b/scores/Keane - Somewhere Only We Know.md similarity index 100% rename from src/Keane - Somewhere Only We Know.md rename to scores/Keane - Somewhere Only We Know.md diff --git a/src/Knorkator - Das Lied.md b/scores/Knorkator - Das Lied.md similarity index 100% rename from src/Knorkator - Das Lied.md rename to scores/Knorkator - Das Lied.md diff --git a/src/Lucy Rose - Shiver.md b/scores/Lucy Rose - Shiver.md similarity index 100% rename from src/Lucy Rose - Shiver.md rename to scores/Lucy Rose - Shiver.md diff --git a/src/Maria Mena - All This Time.md b/scores/Maria Mena - All This Time.md similarity index 100% rename from src/Maria Mena - All This Time.md rename to scores/Maria Mena - All This Time.md diff --git a/src/Maria Mena - Just Hold Me.md b/scores/Maria Mena - Just Hold Me.md similarity index 100% rename from src/Maria Mena - Just Hold Me.md rename to scores/Maria Mena - Just Hold Me.md diff --git a/src/Maria Mena - Nevermind Me.md b/scores/Maria Mena - Nevermind Me.md similarity index 100% rename from src/Maria Mena - Nevermind Me.md rename to scores/Maria Mena - Nevermind Me.md diff --git a/src/Matt Maltese - As The World Caves In.md b/scores/Matt Maltese - As The World Caves In.md similarity index 100% rename from src/Matt Maltese - As The World Caves In.md rename to scores/Matt Maltese - As The World Caves In.md diff --git a/src/Matt Mulholland - Better Man.md b/scores/Matt Mulholland - Better Man.md similarity index 100% rename from src/Matt Mulholland - Better Man.md rename to scores/Matt Mulholland - Better Man.md diff --git a/src/Matt Mulholland - Better Man.pdf b/scores/Matt Mulholland - Better Man.pdf similarity index 100% rename from src/Matt Mulholland - Better Man.pdf rename to scores/Matt Mulholland - Better Man.pdf diff --git a/src/Matt Mulholland - Knowing Love.md b/scores/Matt Mulholland - Knowing Love.md similarity index 100% rename from src/Matt Mulholland - Knowing Love.md rename to scores/Matt Mulholland - Knowing Love.md diff --git a/src/Matt Mulholland - Let You Go.md b/scores/Matt Mulholland - Let You Go.md similarity index 100% rename from src/Matt Mulholland - Let You Go.md rename to scores/Matt Mulholland - Let You Go.md diff --git a/src/Metallica - Nothing Else Matters.md b/scores/Metallica - Nothing Else Matters.md similarity index 100% rename from src/Metallica - Nothing Else Matters.md rename to scores/Metallica - Nothing Else Matters.md diff --git a/src/Nothing But Thieves - Particles.md b/scores/Nothing But Thieves - Particles.md similarity index 100% rename from src/Nothing But Thieves - Particles.md rename to scores/Nothing But Thieves - Particles.md diff --git a/src/Nothing But Thieves - Your Blood.md b/scores/Nothing But Thieves - Your Blood.md similarity index 100% rename from src/Nothing But Thieves - Your Blood.md rename to scores/Nothing But Thieves - Your Blood.md diff --git a/src/Oh Wonder - Technicolour Beat.md b/scores/Oh Wonder - Technicolour Beat.md similarity index 100% rename from src/Oh Wonder - Technicolour Beat.md rename to scores/Oh Wonder - Technicolour Beat.md diff --git a/src/Patent Ochsner - W. Nuss Vo Bümpliz.md b/scores/Patent Ochsner - W. Nuss Vo Bümpliz.md similarity index 100% rename from src/Patent Ochsner - W. Nuss Vo Bümpliz.md rename to scores/Patent Ochsner - W. Nuss Vo Bümpliz.md diff --git a/src/Plain White T's - Hey There Delilah.md b/scores/Plain White T's - Hey There Delilah.md similarity index 100% rename from src/Plain White T's - Hey There Delilah.md rename to scores/Plain White T's - Hey There Delilah.md diff --git a/src/Provinz - Reicht Dir Das.md b/scores/Provinz - Reicht Dir Das.md similarity index 100% rename from src/Provinz - Reicht Dir Das.md rename to scores/Provinz - Reicht Dir Das.md diff --git a/src/Radiohead - Creep.md b/scores/Radiohead - Creep.md similarity index 100% rename from src/Radiohead - Creep.md rename to scores/Radiohead - Creep.md diff --git a/src/Sarah McLachlan - Angel.md b/scores/Sarah McLachlan - Angel.md similarity index 100% rename from src/Sarah McLachlan - Angel.md rename to scores/Sarah McLachlan - Angel.md diff --git a/src/Seeed - Wonderful Life.md b/scores/Seeed - Wonderful Life.md similarity index 100% rename from src/Seeed - Wonderful Life.md rename to scores/Seeed - Wonderful Life.md diff --git a/src/Simon & Garfunkel - Sound Of Silence.md b/scores/Simon & Garfunkel - Sound Of Silence.md similarity index 100% rename from src/Simon & Garfunkel - Sound Of Silence.md rename to scores/Simon & Garfunkel - Sound Of Silence.md diff --git a/src/Steiner & Madlaina - Das Schöne Leben.md b/scores/Steiner & Madlaina - Das Schöne Leben.md similarity index 100% rename from src/Steiner & Madlaina - Das Schöne Leben.md rename to scores/Steiner & Madlaina - Das Schöne Leben.md diff --git a/src/Steiner & Madlaina - Denk Was Du Willst.md b/scores/Steiner & Madlaina - Denk Was Du Willst.md similarity index 100% rename from src/Steiner & Madlaina - Denk Was Du Willst.md rename to scores/Steiner & Madlaina - Denk Was Du Willst.md diff --git a/src/Steiner & Madlaina - Wenn Du Mir Glaubst.md b/scores/Steiner & Madlaina - Wenn Du Mir Glaubst.md similarity index 100% rename from src/Steiner & Madlaina - Wenn Du Mir Glaubst.md rename to scores/Steiner & Madlaina - Wenn Du Mir Glaubst.md diff --git a/src/Sting - Englishman In New York.md b/scores/Sting - Englishman In New York.md similarity index 100% rename from src/Sting - Englishman In New York.md rename to scores/Sting - Englishman In New York.md diff --git a/src/Sting - Fields Of Gold.md b/scores/Sting - Fields Of Gold.md similarity index 100% rename from src/Sting - Fields Of Gold.md rename to scores/Sting - Fields Of Gold.md diff --git a/src/Syd Matters - Obstacles.md b/scores/Syd Matters - Obstacles.md similarity index 100% rename from src/Syd Matters - Obstacles.md rename to scores/Syd Matters - Obstacles.md diff --git a/src/Syd Matters - To All Of You.md b/scores/Syd Matters - To All Of You.md similarity index 100% rename from src/Syd Matters - To All Of You.md rename to scores/Syd Matters - To All Of You.md diff --git a/src/System Of A Down - Aerials.md b/scores/System Of A Down - Aerials.md similarity index 100% rename from src/System Of A Down - Aerials.md rename to scores/System Of A Down - Aerials.md diff --git a/src/System Of A Down - Toxicity.md b/scores/System Of A Down - Toxicity.md similarity index 100% rename from src/System Of A Down - Toxicity.md rename to scores/System Of A Down - Toxicity.md diff --git a/src/The Altogether - Sophie.md b/scores/The Altogether - Sophie.md similarity index 100% rename from src/The Altogether - Sophie.md rename to scores/The Altogether - Sophie.md diff --git a/src/The Beatles - Let It Be.md b/scores/The Beatles - Let It Be.md similarity index 100% rename from src/The Beatles - Let It Be.md rename to scores/The Beatles - Let It Be.md diff --git a/scores/The Flying Pickets - Only You.md b/scores/The Flying Pickets - Only You.md new file mode 100644 index 0000000..6963b3a --- /dev/null +++ b/scores/The Flying Pickets - Only You.md @@ -0,0 +1,52 @@ +**[Verse 1]** +Looking from a window above +It's like a story of love +Can you hear me? +Came back only yesterday +I'm moving further away +Want you near me + +**[Chorus]** +All I needed was the love you gave +All I needed for another day +And all I ever knew +Only you + +**[Verse 2]** +Sometimes when I think of your name +When it's only a game +And I need you +Listening to the words that you say +It's getting harder to stay +When I see you + +**[Chorus]** +All I needed was the love you gave +All I needed for another day +And all I ever knew +Only you + +Ba da, ba da, ba da da da +Ba da da da, ba da da da +Ba da, ba da, ba da, ba da, ba da da da da da da da +Ba da da da da da da da, ba da da da da da da da + +**[Chorus]** +All I needed was the love you gave +All I needed for another day +And all I ever knew +Only you + +**[Verse 3]** +This is going to take a long time +And I wonder what's mine +Can't take no more (Can't take no more) +Wonder if you'll understand +It's just the touch of your hand +Behind a closed door + +**[Chorus]** +All I needed was the love you gave +All I needed for another day +And all I ever knew (All I ever knew) +Only you diff --git a/src/Toto - Africa.md b/scores/Toto - Africa.md similarity index 100% rename from src/Toto - Africa.md rename to scores/Toto - Africa.md diff --git a/src/Vance Joy - Riptide.md b/scores/Vance Joy - Riptide.md similarity index 100% rename from src/Vance Joy - Riptide.md rename to scores/Vance Joy - Riptide.md diff --git a/src/Wise Guys - Jetzt Ist Sommer.md b/scores/Wise Guys - Jetzt Ist Sommer.md similarity index 100% rename from src/Wise Guys - Jetzt Ist Sommer.md rename to scores/Wise Guys - Jetzt Ist Sommer.md diff --git a/src/Wise Guys - Radio.md b/scores/Wise Guys - Radio.md similarity index 100% rename from src/Wise Guys - Radio.md rename to scores/Wise Guys - Radio.md diff --git a/src/Wise Guys - Wie Kann Es Sein.md b/scores/Wise Guys - Wie Kann Es Sein.md similarity index 100% rename from src/Wise Guys - Wie Kann Es Sein.md rename to scores/Wise Guys - Wie Kann Es Sein.md diff --git a/src/Wise Guys - Wir Hatten Eine Gute Zeit.md b/scores/Wise Guys - Wir Hatten Eine Gute Zeit.md similarity index 100% rename from src/Wise Guys - Wir Hatten Eine Gute Zeit.md rename to scores/Wise Guys - Wir Hatten Eine Gute Zeit.md diff --git a/src/.madness.yml b/src/.madness.yml deleted file mode 100644 index 72682a7..0000000 --- a/src/.madness.yml +++ /dev/null @@ -1,2 +0,0 @@ -auto_h1: true -sidebar: true diff --git a/src/The Flying Pickets - Only You.md b/src/The Flying Pickets - Only You.md deleted file mode 100644 index 206c500..0000000 --- a/src/The Flying Pickets - Only You.md +++ /dev/null @@ -1,58 +0,0 @@ -[Verse 1] -Looking from a window above -It's like a story of love -Can you hear me? -Came back only yesterday -I'm moving further away -Want you near me - -[Chorus] -All I needed was the love you gave -All I needed for another day -And all I ever knew -Only you - -[Verse 2] -Sometimes when I think of your name -When it's only a game -And I need you -Listening to the words that you say -It's getting harder to stay -When I see you -You might also like -LET GO -Central Cee -Only You (And You Alone) -The Platters -Foolish One (Taylor’s Version) [From The Vault] -Taylor Swift -[Chorus] -All I needed was the love you gave -All I needed for another day -And all I ever knew -Only you - -Ba da, ba da, ba da da da -Ba da da da, ba da da da -Ba da, ba da, ba da, ba da, ba da da da da da da da -Ba da da da da da da da, ba da da da da da da da - -[Chorus] -All I needed was the love you gave -All I needed for another day -And all I ever knew -Only you - -[Verse 3] -This is going to take a long time -And I wonder what's mine -Can't take no more (Can't take no more) -Wonder if you'll understand -It's just the touch of your hand -Behind a closed door - -[Chorus] -All I needed was the love you gave -All I needed for another day -And all I ever knew (All I ever knew) -Only you diff --git a/templates/base.html.twig b/templates/base.html.twig new file mode 100644 index 0000000..6f8599a --- /dev/null +++ b/templates/base.html.twig @@ -0,0 +1,53 @@ + + + {{ title ? title ~ " - " : "" }}Schmoppo's Songs! + + + + + + +
+
+ +
+ {% block main %} + + {% block content %} + {% endblock %} + {% endblock %} +
+ + \ No newline at end of file diff --git a/templates/index.html.twig b/templates/index.html.twig new file mode 100644 index 0000000..37d9570 --- /dev/null +++ b/templates/index.html.twig @@ -0,0 +1,10 @@ +{% extends 'base.html.twig' %} + +{% block main %} +

+ +{% endblock %} \ No newline at end of file diff --git a/templates/score.html.twig b/templates/score.html.twig new file mode 100644 index 0000000..d558f32 --- /dev/null +++ b/templates/score.html.twig @@ -0,0 +1,9 @@ +{% extends 'base.html.twig' %} + +{% block content %} +
+

+ {{ score|raw }} +

+
+{% endblock %} \ No newline at end of file