.site-footer{padding:4rem 0;font-size:.9rem;background-color:var(--color-black);color:var(--color-off-white)}.footer-grid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1.5rem;width:90%;max-width:1440px;margin:0 auto;align-items:center}.footer-logo{font-weight:700;letter-spacing:.05em;color:var(--color-off-white);text-decoration:none;cursor:pointer}.footer-links,.footer-social{display:flex;gap:1.5rem;justify-content:center;align-items:center}.footer-links strong,.footer-social strong{font-weight:700;color:var(--subtle-text-color)}.footer-links a,.footer-social a{color:var(--color-off-white);text-decoration:none;transition:color .2s}.footer-links a:hover,.footer-social a:hover{color:var(--color-accent-lime)}.footer-brand{justify-self:start}.acknowledgements-link{cursor:pointer}.widgets-link{background:linear-gradient(135deg,var(--color-accent-lime),#b8e02e);color:var(--color-black)!important;padding:.5rem 1rem;border-radius:6px;font-weight:700;text-transform:uppercase;font-size:.85rem;letter-spacing:.02em;transition:all .3s ease;border:2px solid transparent}.widgets-link:hover{background:var(--color-off-white);color:var(--color-black)!important;border-color:var(--color-accent-lime);transform:translateY(-2px);box-shadow:0 4px 12px #d7fe454d}.glass-dialog .q-dialog__inner{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.glass-dialog .q-card{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:0 8px 32px 0 var(--shadow-color);color:var(--text-primary)}.glass-dialog .q-dialog__title{font-weight:900;color:var(--text-primary)}.glass-dialog .q-dialog__message a{color:var(--accent-primary);text-decoration:none;font-weight:700}.glass-dialog .q-dialog__message a:hover{text-decoration:underline}.glass-dialog .q-dialog__message ul{list-style:none;padding:0}.glass-dialog .q-dialog__message li{margin-bottom:.5rem}.acknowledgements-dialog .q-card{max-width:600px;min-width:500px;border-radius:20px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#1a1a1fd9;border:2px solid var(--glass-border);box-shadow:0 20px 40px #0006;position:relative;overflow:hidden}.acknowledgements-dialog .q-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent-primary),transparent);opacity:.8}.acknowledgements-dialog .q-dialog__title{font-size:1.5rem;text-align:center;padding:1.5rem 2rem 1rem;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.acknowledgements-content{padding:0 1rem 1rem}.intro-text{text-align:center;color:var(--text-secondary);margin-bottom:2rem;font-size:1rem;line-height:1.6}.tech-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}.tech-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem;border-radius:12px;background:#ffffff05;border:1px solid rgba(255,255,255,.05);transition:all .3s ease}.tech-item:hover{background:#ffffff0d;border-color:var(--accent-primary);transform:translateY(-2px)}.tech-icon{font-size:1.5rem;min-width:2rem;text-align:center}.tech-info h4{margin:0 0 .25rem;font-size:1rem;font-weight:700}.tech-info h4 a{color:var(--accent-primary);text-decoration:none;transition:color .3s ease}.tech-info h4 a:hover{color:var(--accent-secondary);text-decoration:underline}.tech-info p{margin:0;font-size:.85rem;color:var(--text-secondary);line-height:1.4}.gratitude-note{text-align:center;padding:1.5rem 1rem .5rem;border-top:1px solid var(--glass-border);margin:0 -1rem -1rem;background:#8a2be20d}.gratitude-note p{margin:0;color:var(--text-secondary);font-style:italic;font-size:.9rem}@media (max-width: 600px){.acknowledgements-dialog .q-card{min-width:auto;max-width:95vw;margin:1rem}.tech-grid{grid-template-columns:1fr;gap:1rem}.acknowledgements-dialog .q-dialog__title{font-size:1.25rem;padding:1rem 1.5rem .5rem}}@media (max-width: 920px){.footer-grid{flex-direction:column;text-align:center;gap:2rem}.footer-brand,.footer-links,.footer-social{justify-self:center}}
