@layer theme,base;@layer components{.cookie-backdrop{z-index:40;background:#1c19174d;justify-content:center;align-items:flex-end;padding:1.5rem;animation:.3s ease-out cookieFadeIn;display:flex;position:fixed;inset:0}.dark .cookie-backdrop{background:#00000080}.cookie-backdrop--exiting{animation:.25s ease-in forwards cookieFadeOut}.cookie-banner{background:var(--card);border:1px solid var(--nav-border);scrollbar-width:thin;border-radius:1.25rem;width:100%;max-width:40rem;max-height:calc(100vh - 3rem);padding:1.75rem;animation:.35s ease-out cookieSlideUp;overflow-y:auto;box-shadow:0 8px 40px #0000001f,0 2px 8px #0000000f}.dark .cookie-banner{box-shadow:0 8px 40px #0006,0 2px 8px #0003}.cookie-banner--exiting{animation:.25s ease-in forwards cookieSlideDown}.cookie-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.cookie-title{font-family:var(--serif);letter-spacing:-.01em;color:var(--foreground);margin:0;font-size:1.25rem;font-weight:600}.cookie-manage-icon{border:1px solid var(--nav-border);width:2rem;height:2rem;color:var(--muted);cursor:pointer;background:0 0;border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;transition:color .2s,border-color .2s;display:flex}.cookie-manage-icon:hover{color:var(--foreground);border-color:#78716c4d}.dark .cookie-manage-icon:hover{border-color:#fafaf933}.cookie-description{color:var(--muted);margin-bottom:1.25rem;font-size:.875rem;line-height:1.6}.cookie-description p{margin:0}.cookie-description a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.cookie-description a:hover{color:var(--accent-hover)}.cookie-categories{border:1px solid var(--nav-border);border-radius:.75rem;flex-direction:column;gap:.125rem;margin-bottom:1.25rem;display:flex;overflow:hidden}.cookie-category{background:var(--background);justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 1rem;display:flex}.cookie-category+.cookie-category{border-top:1px solid var(--nav-border)}.cookie-category-info{flex-direction:column;gap:.125rem;min-width:0;display:flex}.cookie-category-name{color:var(--foreground);font-size:.875rem;font-weight:500}.cookie-category-desc{color:var(--muted);font-size:.75rem;line-height:1.5}.cookie-toggle{background:var(--nav-border);cursor:pointer;border:none;border-radius:.75rem;flex-shrink:0;width:2.5rem;height:1.375rem;transition:background .2s;position:relative}.cookie-toggle[data-checked]{background:var(--accent)}.cookie-toggle:disabled{opacity:.6;cursor:default}.cookie-toggle-knob{background:var(--card);border-radius:50%;width:1.125rem;height:1.125rem;transition:transform .2s;position:absolute;top:.125rem;left:.125rem;box-shadow:0 1px 3px #0000001f}.cookie-toggle[data-checked] .cookie-toggle-knob{transform:translate(1.125rem)}.cookie-actions{flex-wrap:wrap;gap:.625rem;display:flex}.cookie-btn{min-width:0;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;white-space:nowrap;text-align:center;border-radius:.625rem;flex:1;padding:.625rem 1rem;font-size:.8125rem;font-weight:500;transition:background .2s,border-color .2s,color .2s}.cookie-btn--primary{background:var(--accent);color:#fff;border:1px solid var(--accent)}.cookie-btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.cookie-btn--outline{color:var(--foreground);border:1px solid var(--nav-border);background:0 0}.cookie-btn--outline:hover{background:#78716c0d;border-color:#78716c4d}.dark .cookie-btn--outline:hover{background:#fafaf90d;border-color:#fafaf933}@media (max-width:640px){.cookie-backdrop{padding:.75rem}.cookie-banner{border-radius:1rem;padding:1.25rem}.cookie-title{font-size:1.125rem}.cookie-actions{flex-direction:column}.cookie-btn{flex:none;width:100%}}}@layer utilities;@keyframes cookieFadeIn{0%{opacity:0}to{opacity:1}}@keyframes cookieFadeOut{0%{opacity:1}to{opacity:0}}@keyframes cookieSlideUp{0%{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes cookieSlideDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(1.5rem)}}
