.qh-age-mark{position:fixed;top:var(--qh-space-2);right:var(--qh-space-2);z-index:9999;display:inline-flex;align-items:center;justify-content:center;padding:var(--qh-space-1) var(--qh-space-2);font-family:var(--qh-font-sans);font-size:var(--qh-text-fine);font-weight:var(--qh-font-weight-bold);line-height:var(--qh-line-tight);letter-spacing:var(--qh-letter-loose);color:var(--qh-text-primary);background:var(--qh-surface-muted);border:1px solid var(--qh-border);border-radius:var(--qh-radius-sm);pointer-events:none;user-select:none}html[data-theme=light] .qh-age-mark{color:var(--qh-text-secondary);background:var(--qh-surface-soft);border-color:var(--qh-border-strong)}@media (max-width: 480px){.qh-age-mark{top:var(--qh-space-1);right:var(--qh-space-1)}}.qh-legal-footer{border-top:1px solid var(--qh-border);margin-top:var(--qh-rhythm-section);padding:var(--qh-space-6) var(--qh-space-4);font-family:var(--qh-font-sans)}.qh-legal-footer__nav,.qh-legal-footer__copyright{max-width:980px;margin-left:auto;margin-right:auto}.qh-legal-footer__nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--qh-space-2);font-size:var(--qh-text-sm);color:var(--qh-text-tertiary)}.qh-legal-footer__link{color:var(--qh-accent);text-decoration:none}.qh-legal-footer__link:hover{text-decoration:underline}.qh-legal-footer__cookie-settings{padding:0;font:inherit;color:var(--qh-accent);background:none;border:none;cursor:pointer}.qh-legal-footer__cookie-settings:hover{text-decoration:underline}.qh-legal-footer__cookie-settings:focus-visible{outline:none;box-shadow:var(--qh-focus-ring);border-radius:var(--qh-radius-sm)}.qh-legal-footer__copyright{margin-top:var(--qh-space-3);margin-bottom:0;font-size:var(--qh-text-fine);color:var(--qh-text-tertiary)}@media (max-width: 480px){.qh-legal-footer__nav{flex-direction:column;align-items:flex-start;justify-content:flex-start}}.qh-soft-launch-banner{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:var(--qh-space-3);padding:var(--qh-space-2) var(--qh-space-4);font-family:var(--qh-font-sans);font-size:var(--qh-text-sm);line-height:var(--qh-line-normal);color:var(--qh-text-secondary);background:var(--qh-surface-muted);border-bottom:1px solid var(--qh-border)}.qh-soft-launch-banner__badge{flex:none;padding:var(--qh-space-1) var(--qh-space-2);font-size:var(--qh-text-fine);font-weight:var(--qh-font-weight-semibold);letter-spacing:var(--qh-letter-loose);text-transform:uppercase;color:var(--qh-primary-contrast);background:var(--qh-accent);border-radius:var(--qh-radius-sm)}.qh-soft-launch-banner__text{flex:1 1 auto;min-width:0}.qh-soft-launch-banner__dismiss{flex:none;display:inline-flex;align-items:center;justify-content:center;width:var(--qh-space-6);height:var(--qh-space-6);padding:0;font-size:var(--qh-text-lg);line-height:1;color:var(--qh-text-tertiary);background:transparent;border:none;border-radius:var(--qh-radius-sm);cursor:pointer;transition:color var(--qh-duration-fast) var(--qh-ease-default)}.qh-soft-launch-banner__dismiss:hover{color:var(--qh-text-primary)}.qh-soft-launch-banner__dismiss:focus-visible{outline:none;box-shadow:var(--qh-focus-ring)}@media (max-width: 480px){.qh-soft-launch-banner{gap:var(--qh-space-2);padding:var(--qh-space-2);font-size:var(--qh-text-fine)}}.qh-cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:9999;display:flex;justify-content:center;padding:var(--qh-space-4);font-family:var(--qh-font-sans)}.qh-cookie-banner__card{width:100%;max-width:720px;display:flex;flex-direction:column;gap:var(--qh-space-4);padding:var(--qh-card-padding);color:var(--qh-text-primary);background:var(--qh-surface);border:1px solid var(--qh-border);border-radius:var(--qh-radius-lg);box-shadow:var(--qh-shadow-lg)}.qh-cookie-banner__text{margin:0;font-size:var(--qh-text-sm);line-height:var(--qh-line-normal);color:var(--qh-text-secondary)}.qh-cookie-banner__link{color:var(--qh-accent);text-decoration:none}.qh-cookie-banner__link:hover{text-decoration:underline}.qh-cookie-banner__categories{display:flex;flex-direction:column;gap:var(--qh-space-3)}.qh-cookie-banner__category{display:flex;align-items:flex-start;gap:var(--qh-space-3);cursor:pointer}.qh-cookie-banner__checkbox{flex:none;margin-top:var(--qh-space-1);accent-color:var(--qh-accent);cursor:pointer}.qh-cookie-banner__checkbox:disabled{cursor:default}.qh-cookie-banner__checkbox:focus-visible{outline:none;box-shadow:var(--qh-focus-ring)}.qh-cookie-banner__category-text{display:flex;flex-direction:column;gap:var(--qh-space-1);min-width:0}.qh-cookie-banner__category-label{font-size:var(--qh-text-sm);font-weight:var(--qh-font-weight-medium);color:var(--qh-text-primary)}.qh-cookie-banner__category-desc{font-size:var(--qh-text-fine);line-height:var(--qh-line-normal);color:var(--qh-text-tertiary)}.qh-cookie-banner__actions{display:flex;flex-wrap:wrap;gap:var(--qh-space-2)}.qh-cookie-banner__button{flex:1 1 auto;padding:var(--qh-space-3) var(--qh-space-4);font-family:inherit;font-size:var(--qh-text-sm);font-weight:var(--qh-font-weight-medium);color:var(--qh-text-primary);background:var(--qh-surface-muted);border:1px solid var(--qh-border);border-radius:var(--qh-radius-md);cursor:pointer;transition:background var(--qh-duration-fast) var(--qh-ease-default),border-color var(--qh-duration-fast) var(--qh-ease-default)}.qh-cookie-banner__button:hover{border-color:var(--qh-border-strong)}.qh-cookie-banner__button:focus-visible{outline:none;box-shadow:var(--qh-focus-ring)}.qh-cookie-banner__button--primary{color:var(--qh-primary-contrast);background:var(--qh-primary);border-color:var(--qh-primary)}.qh-cookie-banner__button--primary:hover{border-color:var(--qh-primary);background:var(--qh-accent)}html[data-theme=light] .qh-cookie-banner__card{background:var(--qh-surface);border-color:var(--qh-border)}html[data-theme=light] .qh-cookie-banner__button{background:var(--qh-surface-soft)}html[data-theme=light] .qh-cookie-banner__button--primary{color:var(--qh-primary-contrast);background:var(--qh-primary)}@media (max-width: 480px){.qh-cookie-banner{padding:var(--qh-space-2)}.qh-cookie-banner__actions{flex-direction:column}.qh-cookie-banner__button{width:100%}}
