Wire it all up...

This commit is contained in:
2026-02-13 18:09:10 -03:00
parent 36ff5d0c1a
commit 05a27fc19c
29 changed files with 3219 additions and 1078 deletions

299
src/assets/css/site.css Normal file
View File

@@ -0,0 +1,299 @@
:root {
--accent: #4f46e5;
--accent-light: #6366f1;
--background: #f7fafc;
--button-bg: var(--accent);
--button-hover: var(--accent-light);
--button-text: var(--background);
--radius: 1.25rem;
--shadow: 0 2px 12px 0 rgb(20 30 60 / 9%);
--surface: rgb(255 255 255 / 94%);
--text-main: #23243a;
--text-muted: #64748b;
--table-bg: transparent;
--accordion-bg: #fff;
--content-bg: #f8fafc;
--faq-a: #333;
}
@media (prefers-color-scheme: dark) {
:root {
--accent: #a5b4fc;
--accent-light: #818cf8;
--background: #171923;
--shadow: 0 2px 16px 0 rgb(8 8 24 / 24%);
--surface: rgb(30 34 42 / 90%);
--text-main: #f6f7fa;
--text-muted: #aab2bd;
--table-bg: #252745;
--accordion-bg: #24264a;
--content-bg: #21223a;
--faq-a: #b7badf;
}
}
html,
body {
margin: 0;
padding: 0;
background: var(--background);
color: var(--text-main);
font-family: Inter, 'Segoe UI', Arial, sans-serif;
font-size: 17px;
min-height: 100dvh;
}
body {
display: flex;
align-items: center;
justify-content: center;
}
h1 {
font-size: 2rem;
margin-bottom: 0.5rem;
font-weight: 700;
letter-spacing: -1px;
}
a {
color: var(--accent);
text-decoration: underline;
}
p {
color: var(--text-muted);
margin-bottom: 2rem;
font-size: 1.1rem;
line-height: 1.5;
}
.container {
background: var(--surface);
padding: 3rem 2rem;
border-radius: var(--radius);
box-shadow: var(--shadow);
max-width: 370px;
margin: 1rem;
}
@media (width <= 400px) {
.container {
padding: 2rem 0.5rem;
}
}
.container.faq {
margin: 2.5rem auto 1.5rem;
max-width: 580px;
padding-bottom: 2rem;
}
.text-center {
text-align: center;
}
.emoji {
font-size: 3rem;
margin-bottom: 1rem;
}
.button {
display: block;
padding: 0.75rem 1.5rem;
margin-bottom: 0.75rem;
background: var(--button-bg);
color: var(--button-text);
border-radius: 999px;
font-weight: 600;
text-decoration: none;
transition: background 0.2s;
box-shadow: 0 1px 4px 0 rgb(43 196 250 / 11%);
}
.button:hover {
background: var(--button-hover);
}
.intro {
text-align: center;
margin-bottom: 1.7rem;
color: var(--text-muted);
}
.general-settings {
background: var(--content-bg);
border-radius: var(--radius);
padding: 1.2rem 1.1rem 1.1rem;
margin-bottom: 2.1rem;
box-shadow: 0 1px 6px 0 rgb(90 100 140 / 6%);
position: relative;
z-index: 1;
}
.general-settings h2 {
font-size: 1.14rem;
margin: 0 0 0.6rem;
font-weight: 700;
letter-spacing: -0.5px;
}
table {
width: 100%;
border-collapse: collapse;
margin-bottom: 1em;
background: var(--table-bg);
}
td {
padding: 0.38em 0.5em;
border: none;
font-size: 1rem;
}
td:first-child {
color: var(--text-muted);
font-weight: 500;
width: 44%;
white-space: nowrap;
}
.tip {
background: #eef2ff;
color: var(--accent-light);
border-radius: 0.7em;
font-size: 0.98em;
padding: 0.48em 0.8em;
display: inline-block;
margin: 0.3em 0 0.2em;
}
@media (prefers-color-scheme: dark) {
.tip {
background: #232555;
color: #a5b4fc;
}
}
.accordion {
margin: 1.5rem 0 1rem;
border-radius: var(--radius);
overflow: hidden;
box-shadow: 0 1px 6px 0 rgb(90 100 140 / 6%);
background: var(--accordion-bg);
}
.accordion-section {
border-top: 1px solid #eee;
background: var(--accordion-bg);
}
@media (prefers-color-scheme: dark) {
.accordion-section {
border-top: 1px solid #28284b;
}
}
.accordion-section:first-child {
border-top: none;
}
.accordion-trigger {
display: flex;
align-items: center;
cursor: pointer;
width: 100%;
background: none;
border: none;
font-size: 1.12rem;
padding: 1.1rem 1.2rem;
text-align: left;
font-weight: 600;
transition: background 0.2s;
color: var(--text-main);
outline: none;
gap: 0.6em;
position: relative;
}
.accordion-trigger:hover,
.accordion-trigger:focus {
background: var(--background);
}
.accordion-trigger .icon {
margin-right: 0.5em;
font-size: 1.3em;
opacity: 0.86;
transition: transform 0.2s;
}
.accordion-trigger[aria-expanded='true'] .icon {
transform: rotate(90deg);
}
.accordion-content {
max-height: 0;
overflow: hidden;
background: var(--content-bg);
transition: max-height 0.3s cubic-bezier(0.7, 0, 0.3, 1);
font-size: 1rem;
padding: 0 1.5rem;
color: var(--text-main);
}
.accordion-section.open .accordion-content {
padding: 1.2rem 1.5rem 1.3rem;
max-height: 1000px;
transition: max-height 0.5s cubic-bezier(0.7, 0, 0.3, 1);
}
.faq-q {
font-weight: 600;
margin-top: 0.8em;
color: var(--accent);
}
.faq-a {
margin: 0.1em 0 0.6em 0.3em;
color: var(--faq-a);
}
.footer {
margin-top: 2.5em;
text-align: center;
color: #bbb;
font-size: 0.94em;
letter-spacing: 0.01em;
}
@media (width <= 600px) {
.container {
padding: 1.1rem 0.5rem 1rem;
}
h1 {
font-size: 1.36rem;
}
.general-settings {
padding: 0.8rem 0.6rem;
}
.general-settings h2 {
font-size: 1rem;
}
.accordion-trigger {
font-size: 1rem;
padding: 0.93rem 0.8rem;
}
.accordion-section.open .accordion-content {
padding: 0.7rem 0.8rem 0.9rem;
}
td {
font-size: 0.98em;
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@@ -0,0 +1,9 @@
<svg width="100%" height="100%" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<style>
.block { fill: #0b0b0f; }
@media (prefers-color-scheme: dark) {
.block { fill: #f2f2f2; }
}
</style>
<path class="block" d="M512,96l0,320c0,52.984 -43.016,96 -96,96l-320,0c-52.984,0 -96,-43.016 -96,-96l0,-320c0,-52.984 43.016,-96 96,-96l320,0c52.984,0 96,43.016 96,96Zm-96.011,80.389l53.127,0l0,-56.669l-53.127,0l0,56.669Zm-193.658,55.292c-4.819,-8.296 -11.558,-15.376 -20.217,-21.24c-13.796,-9.344 -29.667,-14.015 -47.612,-14.015c-16.461,0 -30.814,3.913 -43.058,11.739c-7.882,5.038 -14.038,11.753 -18.468,20.146l0,-27.027l-50.091,0l0,219.997l53.127,0l0,-129.124c0,-9.715 1.771,-18.063 5.313,-25.046c3.542,-6.982 8.517,-12.413 14.926,-16.292c6.409,-3.879 13.864,-5.819 22.364,-5.819c8.703,0 16.191,1.94 22.465,5.819c6.274,3.879 11.165,9.293 14.673,16.242c3.508,6.949 5.262,15.314 5.262,25.096l0,129.124l53.127,0l0,-129.124c0,-9.715 1.771,-18.063 5.313,-25.046c3.542,-6.982 8.534,-12.413 14.977,-16.292c6.443,-3.879 13.881,-5.819 22.313,-5.819c8.703,0 16.191,1.94 22.465,5.819c6.274,3.879 11.165,9.293 14.673,16.242c3.508,6.949 5.262,15.314 5.262,25.096l0,129.124l53.127,0l0,-141.774c0,-16.394 -3.559,-30.831 -10.676,-43.311c-7.117,-12.481 -16.815,-22.229 -29.093,-29.245c-12.278,-7.016 -26.209,-10.524 -41.793,-10.524c-17.608,0 -33.141,4.335 -46.6,13.004c-8.624,5.555 -15.884,12.972 -21.779,22.252Zm193.658,189.599l53.127,0l0,-219.997l-53.127,0l0,219.997Z" />
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

11
src/assets/js/ga-init.js Normal file
View File

@@ -0,0 +1,11 @@
;(function () {
var script = document.currentScript
var id = script && script.getAttribute('data-ga-id')
if (!id) return
window.dataLayer = window.dataLayer || []
function gtag() {
window.dataLayer.push(arguments)
}
gtag('js', new Date())
gtag('config', id, { anonymize_ip: true })
})()