*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#fdfbf7;--bg-warm:#f5efe6;--bg-elevated:#fff;--bg-hero:linear-gradient(175deg, #faf6ee 0%, #f0e8d8 50%, #e8dcc8 100%);--text:#1e1b18;--text-secondary:#5c534a;--text-muted:#9c8f84;--text-inverse:#fdfbf7;--accent:#8b7424;--accent-hover:#6b5a1c;--accent-subtle:#f5edd6;--accent-glow:#8b742414;--brand-gold:#8b7424;--brand-gold-light:#a8923a;--brand-gold-pale:#c4b264;--brand-gold-dark:#6b5a1c;--brand-cream:#f5f0e8;--brand-warm-white:#fdfbf7;--brand-dark:#2c2518;--sage:#6b7f5e;--sage-light:#eef2eb;--border:#e6dfd4;--border-light:#f0ebe3;--error:#9f1239;--error-bg:#fff1f2;--success:#166534;--success-bg:#f0fdf4;--shadow-xs:0 1px 2px #1e1b1808;--shadow-sm:0 1px 3px #1e1b180d, 0 1px 2px #1e1b1808;--shadow-md:0 4px 12px #1e1b180f, 0 2px 4px #1e1b1808;--shadow-lg:0 10px 30px #1e1b1814, 0 4px 8px #1e1b180a;--font-display:"Bodoni Moda", Georgia, "Times New Roman", serif;--font-body:"Nunito Sans", -apple-system, BlinkMacSystemFont, sans-serif;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--container:1120px;--container-narrow:680px;--ease:cubic-bezier(.4, 0, .2, 1);--transition:.2s var(--ease);--transition-slow:.4s var(--ease);font-family:var(--font-body);color:var(--text);background-color:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.6}html{scroll-behavior:smooth}body{min-height:100vh;margin:0}img{max-width:100%;display:block}a{color:var(--accent);transition:color var(--transition);text-decoration:none}a:hover{color:var(--accent-hover)}.layout{flex-direction:column;min-height:100vh;display:flex}.main{flex:1}.container{max-width:var(--container);margin:0 auto;padding:0 2rem}.container-narrow{max-width:var(--container-narrow);margin:0 auto;padding:0 2rem}.section{padding:4rem 0}.header{z-index:100;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-light);background:#fdfbf7eb;position:sticky;top:0}.header-inner{max-width:var(--container);justify-content:space-between;align-items:center;height:64px;margin:0 auto;padding:0 2rem;display:flex}.logo{align-items:center;gap:10px;text-decoration:none;display:flex}.logo:hover{color:var(--brand-gold-dark)}.logo-img{width:auto;height:28px}.nav{align-items:center;gap:.25rem;display:flex}.nav-link{color:var(--text-secondary);border-radius:var(--radius-md);transition:all var(--transition);padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none}.nav-link:hover{color:var(--text);background:var(--accent-glow)}.nav-link.active{color:var(--accent)}.btn-create{background:var(--accent);font-weight:600;color:var(--text-inverse)!important}.btn-create:hover{background:var(--accent-hover);color:var(--text-inverse)!important}.nav-user{border-left:1px solid var(--border-light);align-items:center;gap:.375rem;margin-left:.5rem;padding-left:.75rem;display:flex}.nav-avatar{background:var(--accent);width:30px;height:30px;color:var(--text-inverse);letter-spacing:.02em;cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.7rem;font-weight:600;display:flex}.nav-avatar-link{align-items:center;text-decoration:none;display:flex}.nav-avatar-img{object-fit:cover;border-radius:50%;width:32px;height:32px}.btn-signin{border:1px solid var(--border);font-weight:600}.btn-signin:hover{border-color:var(--accent);color:var(--accent)!important}.footer{border-top:1px solid var(--border-light);margin-top:4rem;padding:3rem 0}.footer-inner{max-width:var(--container);text-align:center;margin:0 auto;padding:0 2rem}.footer-mark{width:20px;height:20px;margin:0 auto .5rem;display:block}.footer p{color:var(--text-muted);font-family:var(--font-display);font-size:.95rem;font-style:italic}.language-selector{border:1px solid var(--border-light);border-radius:var(--radius);color:var(--text-muted);cursor:pointer;background:0 0;margin-top:.75rem;padding:.25rem .5rem;font-size:.8rem}.language-selector:hover{border-color:var(--accent);color:var(--text)}.hero{background:var(--bg-hero);text-align:center;padding:6rem 2rem;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(#8b74240a 0%,#0000 70%);width:150%;height:200%;position:absolute;top:-50%;left:-25%}.hero-content{max-width:720px;margin:0 auto;position:relative}.hero-title{font-family:var(--font-display);color:var(--text);letter-spacing:-.02em;margin-bottom:1.5rem;font-size:clamp(2.5rem,5.5vw,4rem);font-weight:400;line-height:1.15}.hero-accent{color:var(--accent);font-style:italic}.hero-subtitle{color:var(--text-secondary);max-width:520px;margin:0 auto 3rem;font-size:1.1rem;line-height:1.7}.hero-actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.btn{font-family:var(--font-body);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.5rem;font-size:.875rem;font-weight:600;line-height:1.4;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--text-inverse);border-color:var(--accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);color:var(--text-inverse);box-shadow:var(--shadow-sm)}.btn-secondary{color:var(--text);border-color:var(--border);background:0 0}.btn-secondary:hover:not(:disabled){border-color:var(--text-secondary);color:var(--text)}.btn-ghost{color:var(--text-secondary);background:0 0;border-color:#0000;padding:.4rem .75rem}.btn-ghost:hover:not(:disabled){color:var(--text);background:var(--accent-glow)}.btn-icon{justify-content:center;align-items:center;padding:.35rem;line-height:1;display:inline-flex}.btn-danger{background:var(--error);color:#fff;border-color:var(--error)}.btn-danger:hover:not(:disabled){opacity:.9;color:#fff}.btn-sso{background:var(--bg-elevated);width:100%;color:var(--text);border:1px solid var(--border);font-weight:500;font-family:var(--font-body);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition);justify-content:center;align-items:center;padding:.7rem;font-size:.875rem;display:flex}.btn-sso:hover{border-color:var(--text-secondary);box-shadow:var(--shadow-sm)}.btn-lg{border-radius:var(--radius-lg);padding:.8rem 2rem;font-size:.95rem}.btn-sm{padding:.35rem .75rem;font-size:.8rem}.btn-full{width:100%}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:3rem;display:flex}.page-title{font-family:var(--font-display);color:var(--text);letter-spacing:-.01em;font-size:clamp(1.75rem,3vw,2.25rem);font-weight:500}.page-subtitle{color:var(--text-secondary);margin-top:.25rem;font-size:.95rem}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:2rem;display:flex}.section-title{font-family:var(--font-display);color:var(--text);font-size:1.5rem;font-weight:500}.section-link{color:var(--accent);font-size:.875rem;font-weight:500}.section-link:hover{color:var(--accent-hover)}.memorial-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;display:grid}.memorial-card{background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:var(--radius-lg);color:var(--text);transition:all var(--transition-slow);box-shadow:var(--shadow-xs);flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.memorial-card:hover{box-shadow:var(--shadow-lg);border-color:var(--border);color:var(--text);transform:translateY(-3px)}.memorial-card-image{aspect-ratio:4/3;background:var(--bg-warm);overflow:hidden}.memorial-card-image img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.memorial-card:hover .memorial-card-image img{transform:scale(1.03)}.memorial-card-placeholder{width:100%;height:100%;color:var(--text-muted);background:linear-gradient(135deg, var(--bg-warm) 0%, #ede5d5 100%);justify-content:center;align-items:center;font-size:2.5rem;display:flex}.memorial-card-body{padding:1.5rem}.memorial-card-name{font-family:var(--font-display);letter-spacing:-.01em;margin-bottom:.25rem;font-size:1.3rem;font-weight:600}.memorial-card-dates{color:var(--text-muted);margin-bottom:.5rem;font-size:.8rem}.memorial-card-quote{font-family:var(--font-display);color:var(--text-secondary);font-size:.95rem;font-style:italic;line-height:1.5}.memorial-grid-item{flex-direction:column;display:flex}.memorial-grid-item .memorial-card{flex:1}.memorial-grid-actions{justify-content:center;gap:.25rem;padding-top:.5rem;display:flex}.status-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-full);padding:.2rem .6rem;font-size:.7rem;font-weight:600;display:inline-block}.status-badge.active{background:var(--sage-light);color:var(--sage)}.status-badge.inactive{background:var(--bg-warm);color:var(--text-muted)}.form{flex-direction:column;gap:3rem;display:flex}.form-section{border:1px solid var(--border-light);border-radius:var(--radius-lg);background:var(--bg-elevated);padding:2rem}.form-section legend{font-family:var(--font-display);color:var(--text);padding:0 .5rem;font-size:1.2rem;font-weight:600}.form-subsection{margin-top:1.5rem}.form-subsection h4{font-family:var(--font-display);color:var(--text-secondary);border-bottom:1px solid var(--border-light);margin-bottom:1rem;padding-bottom:.25rem;font-size:1rem;font-weight:600}.form-group{margin-bottom:1rem}.form-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem;font-size:.8rem;font-weight:600;display:block}.form-group input,.form-group textarea,.form-group select{width:100%;font-family:var(--font-body);color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);transition:all var(--transition);outline:none;padding:.6rem .85rem;font-size:.9rem}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group input:disabled{opacity:.6;cursor:not-allowed}.form-group textarea{resize:vertical;min-height:120px;line-height:1.6}.form-row{align-items:flex-end;gap:1rem;display:flex}.form-row-3{grid-template-columns:1fr 1fr 1fr;gap:1rem;display:grid}.form-grow{flex:1}.form-hint{color:var(--text-muted);margin-top:.25rem;font-size:.75rem;display:block}.form-success{color:var(--success);font-size:.8rem;font-weight:500}.form-error{color:var(--error);font-size:.8rem;font-weight:500}.image-upload{flex-direction:column;gap:.25rem;display:flex}.image-upload-label{color:var(--text);font-size:.85rem;font-weight:500}.image-upload-dropzone{border:2px dashed var(--border);border-radius:var(--radius);cursor:pointer;background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;width:100%;min-height:140px;transition:border-color .2s,background-color .2s;display:flex}.image-upload-dropzone:hover,.image-upload-dropzone.drag-active{border-color:var(--accent);background:var(--accent-subtle)}.image-upload-dropzone.disabled{cursor:not-allowed;opacity:.5}.image-upload-dropzone.disabled:hover{border-color:var(--border);background:var(--bg)}.image-upload-icon{color:var(--text-muted);font-size:1.75rem;line-height:1}.image-upload-text{color:var(--text-muted);font-size:.8rem}.image-upload-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.image-upload-preview{display:inline-block;position:relative}.image-upload-preview img{border-radius:var(--radius);border:1px solid var(--border-light);object-fit:cover;max-width:100%;max-height:180px}.image-upload-preview-actions{gap:.25rem;display:flex;position:absolute;top:.35rem;right:.35rem}.image-upload-action{color:#fff;border-radius:var(--radius);cursor:pointer;background:#0009;border:none;padding:.2rem .5rem;font-size:.7rem;transition:background .15s}.image-upload-action:hover{background:#000c}.image-upload-action-delete:hover{background:var(--error)}.wizard-steps{justify-content:center;align-items:center;gap:.75rem;margin-bottom:2.5rem;display:flex}.wizard-step{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.wizard-step.active{color:var(--accent);font-weight:600}.wizard-step.completed{color:var(--success)}.wizard-step-number{border:2px solid;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;font-weight:700;display:flex}.wizard-step.active .wizard-step-number{background:var(--accent);color:var(--text-inverse);border-color:var(--accent)}.wizard-step.completed .wizard-step-number{background:var(--success);color:#fff;border-color:var(--success)}.wizard-connector{background:var(--border);width:40px;height:2px}.wizard-connector.completed{background:var(--success)}.form-actions{border-top:1px solid var(--border-light);justify-content:flex-end;gap:1rem;padding-top:1.5rem;display:flex}.btn-slug-check{align-self:flex-end;margin-bottom:1rem}.alert{border-radius:var(--radius-md);margin-bottom:1.5rem;padding:1rem 1.5rem;font-size:.875rem}.alert-error{background:var(--error-bg);color:var(--error);border:1px solid #9f123926}.alert-success{background:var(--success-bg);color:var(--success);border:1px solid #16653426}.search-bar{margin-bottom:3rem}.search-input{width:100%;font-family:var(--font-body);color:var(--text);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-full);transition:all var(--transition);outline:none;padding:.75rem 1.25rem;font-size:.95rem}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.search-input::placeholder{color:var(--text-muted)}.empty-state{text-align:center;padding:6rem 2rem}.empty-state h2{font-family:var(--font-display);margin-bottom:.5rem;font-size:1.5rem;font-weight:500}.empty-state p{color:var(--text-secondary);margin-bottom:2rem}.empty-hero{text-align:center;padding:6rem 2rem}.empty-hero h2{font-family:var(--font-display);margin-bottom:.5rem;font-size:1.75rem;font-weight:500}.empty-hero p{color:var(--text-secondary);margin-bottom:2rem}.empty-icon{text-align:center;color:var(--accent);opacity:.6;margin-bottom:1.5rem;font-size:2.5rem;display:block}.loading{text-align:center;color:var(--text-muted);padding:4rem;font-size:.9rem}.memorial-page{padding-bottom:4rem;overflow-x:hidden}.memorial-banner{height:380px;position:relative;overflow:hidden}.memorial-banner img{object-fit:cover;width:100%;height:100%}.memorial-banner-overlay{background:linear-gradient(#0000 40%,#1e1b1866 100%);position:absolute;inset:0}.memorial-header{text-align:center;padding:4rem 0 3rem;position:relative}.memorial-header.no-banner{padding-top:3rem}.memorial-portrait{border:4px solid var(--bg);width:140px;height:140px;box-shadow:var(--shadow-lg);z-index:2;border-radius:50%;margin:-90px auto 2rem;position:relative;overflow:hidden}.no-banner .memorial-portrait{margin-top:0}.memorial-portrait img{object-fit:cover;width:100%;height:100%}.memorial-banner-edit{z-index:3;position:absolute;bottom:.75rem;right:.75rem}.memorial-banner-edit .image-upload{gap:0}.memorial-banner-edit .image-upload-label,.memorial-banner-edit .form-hint{display:none}.memorial-banner-edit .image-upload-dropzone{border-radius:var(--radius);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;border:1px solid #ffffff40;flex-direction:row;gap:.35rem;min-height:auto;padding:.4rem .75rem}.memorial-banner-edit .image-upload-icon{color:#fff;font-size:1rem}.memorial-banner-edit .image-upload-text{color:#fff;font-size:.75rem}.memorial-banner-edit .image-upload-dropzone:hover{background:#000000b3;border-color:#fff6}.memorial-banner-empty{background:var(--bg-alt);justify-content:center;align-items:center;height:auto;min-height:120px;padding:2rem;display:flex}.memorial-banner-empty .image-upload{width:100%;max-width:400px}.memorial-portrait-edit{z-index:3;opacity:0;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;inset:0}.memorial-portrait:hover .memorial-portrait-edit{opacity:1}.memorial-portrait-edit .image-upload{gap:0;width:100%;height:100%}.memorial-portrait-edit .image-upload-label,.memorial-portrait-edit .form-hint{display:none}.memorial-portrait-edit .image-upload-dropzone{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;border:none;border-radius:50%;width:100%;height:100%;min-height:auto}.memorial-portrait-edit .image-upload-icon{color:#fff;font-size:1.25rem}.memorial-portrait-edit .image-upload-text{color:#fff;font-size:.65rem}.memorial-portrait-edit .image-upload-dropzone:hover{background:#000000a6}.memorial-portrait-empty{background:var(--bg-alt);border:2px dashed var(--border);justify-content:center;align-items:center;display:flex}.memorial-portrait-empty .image-upload{gap:0;width:100%;height:100%}.memorial-portrait-empty .image-upload-label{display:none}.memorial-portrait-empty .image-upload-dropzone{background:0 0;border:none;border-radius:50%;width:100%;height:100%;min-height:auto}.memorial-portrait-empty .image-upload-icon{font-size:1.25rem}.memorial-portrait-empty .image-upload-text{font-size:.6rem}.memorial-name{font-family:var(--font-display);color:var(--text);letter-spacing:-.02em;margin-bottom:1.5rem;font-size:clamp(2rem,4.5vw,3rem);font-weight:400}.memorial-life{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:2rem;margin-bottom:2rem;display:flex}.memorial-date{flex-direction:column;align-items:center;gap:2px;display:flex}.memorial-date-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-size:.7rem;font-weight:600}.memorial-date-value{font-family:var(--font-display);color:var(--text);font-size:1.1rem}.memorial-date-location{color:var(--text-secondary);font-size:.8rem}.memorial-life-divider{font-family:var(--font-display);color:var(--text-muted);align-self:center;padding-top:1rem;font-size:1.5rem}.memorial-quote{font-family:var(--font-display);color:var(--text-secondary);max-width:500px;margin:0 auto 2rem;font-size:1.3rem;font-style:italic;line-height:1.5}.memorial-guestbook-cta{margin:1.5rem 0 .5rem}.memorial-guestbook-cta .btn{min-width:180px}.memorial-owner-actions{margin-top:1rem}.memorial-body{border-top:1px solid var(--border-light);padding:3rem 0 4rem}.memorial-description{color:var(--text-secondary);font-size:1.05rem;line-height:1.85}.memorial-description p{margin-bottom:1.5rem}.memorial-description p:last-child{margin-bottom:0}.memorial-media-section{border-top:1px solid var(--border-light);padding:3rem 0}.media-form{gap:1rem;margin-bottom:2rem;display:flex}.media-form input{font-family:var(--font-body);color:var(--text);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);transition:all var(--transition);outline:none;flex:1;padding:.6rem .85rem;font-size:.9rem}.media-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.media-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;display:grid}.media-item{aspect-ratio:1;border-radius:var(--radius-md);background:var(--bg-warm);cursor:pointer;position:relative;overflow:hidden}.media-item img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.media-item:hover img{transform:scale(1.05)}.media-status{text-transform:uppercase;letter-spacing:.05em;color:#fff;border-radius:var(--radius-full);background:#0009;padding:2px 8px;font-size:.65rem;font-weight:600;position:absolute;top:.5rem;left:.5rem}.media-delete{color:#fff;cursor:pointer;opacity:0;width:28px;height:28px;transition:opacity var(--transition);background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;display:flex;position:absolute;top:.5rem;right:.5rem}.media-item:hover .media-delete{opacity:1}.media-delete:hover{background:var(--error)}.media-dropzone{border:2px dashed var(--border);border-radius:var(--radius-lg);cursor:pointer;background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:.35rem;width:100%;min-height:120px;margin-bottom:2rem;padding:1.5rem;transition:border-color .2s,background-color .2s;display:flex}.media-dropzone:hover,.media-dropzone.drag-active{border-color:var(--accent);background:var(--accent-subtle)}.media-dropzone-icon{color:var(--text-muted);font-size:1.75rem;line-height:1}.media-dropzone-text{color:var(--text-secondary);font-size:.875rem;font-weight:500}.media-dropzone-hint{color:var(--text-muted);font-size:.75rem}.media-dropzone-hint a{color:var(--brand-gold);text-decoration:underline}.media-dropzone-disabled{cursor:default;opacity:.7;border-color:var(--border-light)}.media-dropzone-disabled:hover{border-color:var(--border-light);background:var(--bg)}.photo-limit-bar{background:var(--bg-elevated,var(--bg-alt));border:1px solid var(--border-light);border-radius:var(--radius-md);margin-bottom:1rem;padding:.75rem 1rem}.photo-limit-info{color:var(--text-secondary);justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.8rem;display:flex}.photo-limit-full{color:#c0392b;font-weight:600}.photo-limit-pending{color:var(--brand-gold);font-style:italic;font-weight:500}.photo-limit-track{background:var(--border-light);border-radius:3px;height:6px;overflow:hidden}.photo-limit-fill{background:var(--brand-gold);border-radius:3px;height:100%;transition:width .3s}.photo-limit-fill-full{background:#c0392b}.photo-limit-upgrade{color:var(--text-muted);margin:.5rem 0 0;font-size:.75rem}.photo-limit-upgrade a{color:var(--brand-gold);font-weight:600;text-decoration:underline}.upload-list{flex-direction:column;gap:.5rem;margin-bottom:2rem;display:flex}.upload-item{background:var(--bg-elevated,var(--bg-alt));border:1px solid var(--border-light);border-radius:var(--radius);align-items:center;gap:.75rem;padding:.5rem .75rem;font-size:.8rem;display:flex}.upload-item-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:200px;color:var(--text-secondary);flex:0 auto;overflow:hidden}.upload-item-bar{background:var(--border-light);border-radius:3px;flex:1;max-width:200px;height:6px;overflow:hidden}.upload-item-bar-fill{background:var(--accent);border-radius:3px;height:100%;transition:width .15s}.upload-item-status{color:var(--text-muted);white-space:nowrap;font-size:.75rem}.upload-item-success{color:var(--success);font-weight:600}.upload-item-error{color:var(--error)}.upload-item-dismiss{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:0 .25rem;font-size:1rem;line-height:1}.upload-item-dismiss:hover{color:var(--error)}.media-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;background:linear-gradient(#0000,#0009);padding:.5rem .6rem;font-size:.75rem;font-weight:500;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.lightbox{z-index:1000;background:#000000eb;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.lightbox-close{z-index:1002;color:#ffffffb3;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:44px;height:44px;font-size:2rem;line-height:1;display:flex;position:absolute;top:1rem;right:1rem}.lightbox-close:hover{color:#fff}.lightbox-nav{z-index:1002;color:#fffc;cursor:pointer;border-radius:var(--radius);background:#0006;border:1px solid #ffffff26;justify-content:center;align-items:center;width:48px;height:64px;font-size:2.5rem;line-height:1;transition:background .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{color:#fff;background:#0009}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}.lightbox-content{flex-direction:column;align-items:center;max-width:calc(100vw - 8rem);max-height:calc(100vh - 4rem);display:flex;position:relative}.lightbox-spinner{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.lightbox-spinner .spinner{border:3px solid #fff3;border-top-color:#fff;border-radius:50%;width:2.5rem;height:2.5rem;animation:.8s linear infinite spin}.lightbox-image{object-fit:contain;border-radius:var(--radius);-webkit-user-select:none;user-select:none;max-width:100%;max-height:calc(100vh - 10rem)}.lightbox-footer{color:#ffffffd9;justify-content:space-between;align-items:flex-start;gap:1.5rem;width:100%;max-width:700px;margin-top:1rem;display:flex}.lightbox-info{flex:1;min-width:0}.lightbox-title{color:#fff;margin:0 0 .25rem;font-size:1rem;font-weight:600}.lightbox-description{color:#ffffffa6;margin:0 0 .35rem;font-size:.85rem}.lightbox-counter{color:#ffffff73;font-size:.75rem}.lightbox-actions{flex-shrink:0;gap:.5rem;display:flex}.lightbox-actions .btn-secondary{color:#ffffffb3;background:0 0;border-color:#fff3}.lightbox-actions .btn-secondary:hover:not(:disabled){color:#fff;border-color:#ffffff80}.lightbox-delete-btn{color:#ffffffb3;background:0 0;border:1px solid #fff3}.lightbox-delete-btn:hover{background:var(--error);border-color:var(--error);color:#fff}.modal-overlay{z-index:1100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-container,.modal-card,.modal-content{background:var(--bg);border-radius:var(--radius-lg);width:100%;max-width:480px;max-height:calc(100vh - 4rem);padding:1.5rem;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-title{font-family:var(--font-display);margin:0 0 1rem;font-size:1.25rem;font-weight:500}.modal-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.modal-header h3{font-family:var(--font-display);margin:0;font-size:1.25rem;font-weight:500}.modal-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.5rem;line-height:1;display:flex}.modal-close:hover{color:var(--text)}.edit-media-preview{border-radius:var(--radius);background:var(--bg-warm);margin-bottom:1rem;overflow:hidden}.edit-media-preview img{object-fit:cover;width:100%;max-height:240px;display:block}.edit-media-modal .form-actions{justify-content:space-between}.form-actions-right{gap:.5rem;display:flex}.edit-media-delete-btn{border:1px solid var(--border);color:var(--error);background:0 0}.edit-media-delete-btn:hover{background:var(--error);color:#fff;border-color:var(--error)}.add-video-modal .form-actions{justify-content:flex-end}.add-video-providers-toggle{color:var(--accent);cursor:pointer;font-size:.8125rem;font-family:var(--font-body);background:0 0;border:none;padding:0}.add-video-providers-toggle:hover{color:var(--accent-hover);text-decoration:underline}.add-video-providers{background:var(--bg-warm);border-radius:var(--radius-md);grid-template-columns:1fr 1fr;gap:.375rem 1rem;margin-top:.5rem;padding:.75rem;display:grid}.add-video-provider{flex-direction:column;display:flex}.add-video-provider-name{color:var(--text);font-size:.8125rem;font-weight:600}.add-video-provider-example{color:var(--text-muted);font-size:.75rem}.edit-media-video-embed{background:#000;width:100%;padding-bottom:56.25%;position:relative}.edit-media-video-embed iframe{border:none;width:100%;height:100%;position:absolute;inset:0}.edit-media-video-placeholder{background:var(--bg-warm);height:160px;color:var(--text-muted);justify-content:center;align-items:center;font-size:.875rem;display:flex}.lightbox-video{border-radius:var(--radius-md);max-width:90vw;max-height:80vh}.lightbox-video-wrapper{border-radius:var(--radius-md);background:#000;width:80vw;max-width:960px;padding-bottom:45%;position:relative;overflow:hidden}.lightbox-video-iframe{border:none;width:100%;height:100%;position:absolute;inset:0}.lightbox-video-link{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:3rem;display:flex}.lightbox-video-link-text{color:var(--text-inverse);opacity:.8;font-size:1rem}.memorial-donation{padding:4rem 0}.donation-card{text-align:center;background:var(--accent-subtle);border-radius:var(--radius-xl);border:1px solid #8b69141f;padding:3rem}.donation-card h3{font-family:var(--font-display);margin-bottom:.5rem;font-size:1.5rem;font-weight:500}.donation-card p{color:var(--text-secondary);margin-bottom:2rem}.auth-page{justify-content:center;align-items:center;min-height:calc(100vh - 164px);padding:3rem;display:flex}.auth-container{width:100%;max-width:420px}.auth-brand{text-align:center;margin-bottom:3rem}.auth-icon{margin-bottom:1rem;display:block}.auth-brand h1{font-family:var(--font-display);color:var(--brand-gold-dark);margin-bottom:.25rem;font-size:2rem;font-style:italic;font-weight:400}.auth-brand p{color:var(--text-secondary);font-size:.9rem}.auth-card{background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:2rem}.auth-tabs{background:var(--bg-warm);border-radius:var(--radius-md);gap:2px;margin-bottom:2rem;padding:3px;display:flex}.auth-tab{font-family:var(--font-body);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);background:0 0;border:none;flex:1;padding:.55rem;font-size:.85rem;font-weight:600}.auth-tab.active{background:var(--bg-elevated);color:var(--text);box-shadow:var(--shadow-xs)}.auth-form{flex-direction:column;gap:.5rem;display:flex}.auth-form .form-group{margin-bottom:.5rem}.auth-form .btn-primary{margin-top:.5rem}.auth-forgot-link{color:var(--text-muted);cursor:pointer;font-size:.8rem;font-family:var(--font-body);text-align:center;transition:color var(--transition);background:0 0;border:none;padding:.5rem}.auth-forgot-link:hover{color:var(--accent)}.auth-help-text{color:var(--text-secondary);margin-bottom:1rem;font-size:.85rem;line-height:1.5}.auth-sso{margin-top:1.5rem}.auth-divider{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-divider span{color:var(--text-muted);white-space:nowrap;font-size:.75rem}.text-muted{color:var(--text-muted)}.text-center{text-align:center}.nav-mobile-actions{align-items:center;gap:.5rem;display:none}.mobile-menu-toggle{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;padding:0;display:flex}.hamburger-line{background:var(--text);width:20px;height:2px;transition:transform .3s var(--ease), opacity .3s var(--ease);border-radius:2px;display:block}.mobile-menu-toggle.is-open .hamburger-line:first-child{transform:translateY(7px)rotate(45deg)}.mobile-menu-toggle.is-open .hamburger-line:nth-child(2){opacity:0}.mobile-menu-toggle.is-open .hamburger-line:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.mobile-drawer-overlay{z-index:90;-webkit-backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .3s var(--ease);background:#1e1b1866;position:fixed;inset:0}.mobile-drawer-overlay.is-visible{opacity:1;pointer-events:auto}.mobile-drawer{z-index:95;background:var(--bg);width:min(320px,85vw);height:100dvh;transition:transform .35s var(--ease);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:none;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(100%)}.mobile-drawer.is-open{transform:translate(0)}.mobile-drawer-content{flex-direction:column;min-height:100%;padding:5rem 1.5rem 2rem;display:flex}.mobile-drawer-links{flex-direction:column;gap:.25rem;display:flex}.mobile-drawer-link{color:var(--text-secondary);border-radius:var(--radius-md);transition:all var(--transition);cursor:pointer;text-align:left;width:100%;font-size:1rem;font-weight:500;font-family:var(--font-body);-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:center;padding:.875rem 1rem;text-decoration:none;display:flex}.mobile-drawer-link:hover,.mobile-drawer-link:active{color:var(--text);background:var(--accent-glow)}.mobile-drawer-link.active{color:var(--accent);background:var(--accent-glow);font-weight:600}.mobile-drawer-divider{background:var(--border-light);height:1px;margin:1rem 0}.mobile-drawer-footer{flex-direction:column;gap:.75rem;display:flex}.mobile-drawer-cta{padding:.875rem;font-size:.95rem}.mobile-drawer-account{flex-direction:column;gap:.25rem;display:flex}.mobile-drawer-logout{color:var(--text-muted)}.mobile-drawer-lang{margin-top:auto;padding-top:2rem}@media (width<=768px){.nav-desktop{display:none}.nav-mobile-actions{display:flex}.mobile-drawer{display:block}.header-inner,.container,.container-narrow{padding:0 1rem}.section{padding:2.5rem 0}.hero{padding:3rem 1.25rem}.hero-subtitle{margin-bottom:2rem;font-size:1rem}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn-lg{padding:.875rem 1.5rem;font-size:1rem}.memorial-grid{grid-template-columns:1fr;gap:1.25rem}.memorial-card-body{padding:1.25rem}.memorial-card-image{aspect-ratio:16/10}.memorial-banner{height:220px}.memorial-header{padding:2.5rem 0 2rem}.memorial-portrait{width:140px;height:140px;margin-top:-84px;margin-bottom:1.25rem}.memorial-name{margin-bottom:1rem}.memorial-life{flex-direction:column;align-items:center;gap:1.25rem}.memorial-life-divider{display:none}.memorial-date{min-width:140px}.memorial-quote{padding:0 .5rem;font-size:1.1rem}.memorial-owner-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.memorial-body{padding:2rem 0 2.5rem}.memorial-description{font-size:1rem;line-height:1.75}.media-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.5rem}.media-item{border-radius:var(--radius-sm)}.media-dropzone{min-height:100px;padding:1.25rem}.media-dropzone-text{text-align:center;font-size:.825rem}.upload-item{flex-wrap:wrap;gap:.5rem}.upload-item-name{max-width:150px;font-size:.75rem}.upload-item-bar{flex:1;min-width:60px;max-width:none}.memorial-events-reminders{gap:1.5rem;padding:1.5rem 1rem}.form-section{padding:1.25rem}.form-row,.form-row-3{flex-direction:column;display:flex}.form-row>*,.form-row-3>*{flex:none;width:100%}.form-actions{flex-direction:column;gap:.75rem}.form-actions .btn{justify-content:center;width:100%}.dashboard-item{flex-wrap:wrap}.dashboard-item-actions{justify-content:flex-end;width:100%}.wizard-steps{gap:.35rem}.wizard-step{gap:0;font-size:0}.wizard-step-number{width:32px;height:32px;font-size:.8rem}.wizard-connector{width:24px}.page-header{flex-direction:column;gap:1rem;margin-bottom:2rem}.section-header{margin-bottom:1.5rem}.btn{min-height:44px}.btn-sm{min-height:36px;padding:.4rem .85rem}.btn-lg{min-height:48px}.lightbox{padding:0}.lightbox-content{max-width:100vw;max-height:100dvh}.lightbox-image{border-radius:0;max-height:calc(100dvh - 12rem)}.lightbox-nav{width:40px;height:56px;font-size:1.75rem}.lightbox-prev{left:.5rem}.lightbox-next{right:.5rem}.lightbox-close{top:.5rem;right:.5rem}.lightbox-footer{flex-direction:column;gap:.75rem;padding:0 1rem}.lightbox-actions{justify-content:stretch;width:100%}.lightbox-actions .btn{flex:1;justify-content:center}.modal-overlay{align-items:flex-end;padding:0}.modal-container,.modal-card,.modal-content{border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-width:100%;max-height:90dvh;padding:1.25rem}.modal-close{width:44px;height:44px}.auth-page{align-items:flex-start;padding:3rem 1rem 2rem}.auth-card{padding:1.5rem}.auth-brand{margin-bottom:2rem}.search-bar{flex-direction:column;gap:.5rem}.search-input{border-radius:var(--radius-md);padding:.65rem .85rem}.member-item{grid-template-rows:auto auto;grid-template-columns:1fr auto;align-items:center;gap:.5rem .75rem;padding:1rem 0;display:grid}.member-item .member-info{grid-area:1/1}.member-item .member-role{grid-area:1/2}.member-item .member-actions{grid-area:2/1/auto/-1;justify-content:flex-end;gap:.375rem}.member-item .member-actions:empty{display:none}.members-invite-form{padding:1.25rem}.gb-header{flex-direction:column;gap:.75rem}.gb-form{padding:1.25rem}.gb-form-extras{grid-template-columns:1fr}.gb-controls{flex-direction:column;align-items:flex-start}.gb-filter-tabs{flex-wrap:wrap}.gb-sort{width:100%}.gb-sort-btn{text-align:center;flex:1}.review-grid{grid-template-columns:1fr}.donation-card{padding:2rem 1.5rem}.qr-code-downloads{grid-template-columns:1fr;gap:.375rem}.grief-resource-card{padding:1rem 1.25rem}.grief-comfort-card{padding:1.5rem}.footer{margin-top:2.5rem;padding:2rem 0}.footer-inner{padding:0 1rem}.memorial-settings-panels{grid-template-columns:1fr}.photo-limit-info{flex-direction:column;align-items:flex-start;gap:.25rem}.notification-date-item{flex-direction:column;align-items:flex-start;gap:.5rem}.notification-date-actions{width:100%}.notification-date-actions .btn{flex:1;justify-content:center}.event-card{padding:1rem 1.25rem}.event-card-header{flex-direction:column;align-items:flex-start;gap:.5rem}.event-card-footer{flex-direction:column;align-items:stretch;gap:.75rem}.event-card-buttons{width:100%}.event-card-buttons .btn{flex:1;justify-content:center}.event-rsvp-options{flex-direction:column;gap:.5rem}.memorial-banner-edit{bottom:.5rem;right:.5rem}.memorial-banner-edit .image-upload-text{display:none}.confirm-dialog-actions{flex-direction:column}.confirm-dialog-actions .btn{justify-content:center;width:100%}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.section,.memorial-header,.memorial-body,.memorial-media-section,.auth-card,.memorial-grid .memorial-card{animation:fadeIn .4s var(--ease) both}.memorial-grid .memorial-card:nth-child(2){animation-delay:50ms}.memorial-grid .memorial-card:nth-child(3){animation-delay:.1s}.memorial-grid .memorial-card:nth-child(4){animation-delay:.15s}.memorial-grid .memorial-card:nth-child(5){animation-delay:.2s}.memorial-grid .memorial-card:nth-child(6){animation-delay:.25s}.page-header-actions{align-items:center;gap:.5rem;display:flex}.members-invite-form{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:2rem;padding:1.5rem}.members-invite-form h3{font-family:var(--font-display);margin-bottom:1rem}.members-section{margin-bottom:2rem}.members-list{flex-direction:column;gap:0;display:flex}.member-item{border-bottom:1px solid var(--border-light);align-items:center;gap:1rem;padding:1rem 0;display:flex}.member-item:last-child{border-bottom:none}.member-item-pending{opacity:.7}.member-info{flex:1;align-items:center;gap:.75rem;min-width:0;display:flex}.member-avatar{background:var(--accent);width:40px;height:40px;color:var(--text-inverse);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;font-weight:700;display:flex}.member-avatar-pending{background:var(--bg-warm);color:var(--text-muted)}.member-details{flex-direction:column;min-width:0;display:flex}.member-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.member-you{color:var(--text-muted);font-size:.85em;font-weight:400}.member-email{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.member-role{flex-shrink:0}.role-badge{border-radius:var(--radius);text-transform:capitalize;padding:.25rem .75rem;font-size:.8rem;font-weight:600;display:inline-block}.role-owner{background:var(--accent-subtle);color:var(--accent)}.role-manager{color:#1a56db;background:#e8f0fe}.role-contributor{color:#137333;background:#e6f4ea}.role-viewer{background:var(--bg-warm);color:var(--text-secondary)}.role-select{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);color:var(--text);cursor:pointer;padding:.35rem .5rem;font-size:.85rem}.member-actions{flex-shrink:0;gap:.5rem;display:flex}.memorial-featured-video{border-top:1px solid var(--border-light);padding:3rem 0}.featured-video-wrapper{border-radius:var(--radius-lg);background:#000;width:100%;margin-top:1.5rem;padding-top:56.25%;position:relative;overflow:hidden}.featured-video-iframe{border:none;width:100%;height:100%;position:absolute;top:0;left:0}.media-item-video{background:var(--bg-warm);justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.media-item-video img{object-fit:cover;width:100%;height:100%}.media-item-video-placeholder{background:linear-gradient(135deg, var(--bg-warm) 0%, var(--border-light) 100%);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.media-item-play-icon{color:var(--text-muted);opacity:.6;font-size:2.5rem}.media-type-badge{text-transform:uppercase;letter-spacing:.05em;color:#fff;border-radius:var(--radius-full);background:#0009;padding:2px 8px;font-size:.65rem;font-weight:600;position:absolute;top:.5rem;right:.5rem}@keyframes gb-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.gb-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem;display:flex}.gb-title{font-family:var(--font-display);color:var(--text);margin:0 0 .25rem;font-size:2rem;font-weight:700}.gb-subtitle{color:var(--text-secondary);margin:0;font-size:.95rem}.gb-signin-prompt{background:var(--bg-warm);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;color:var(--text-secondary);margin-bottom:2rem;padding:1.25rem 1.5rem;font-size:.95rem}.gb-signin-prompt a{color:var(--accent);font-weight:600;text-decoration:underline}.gb-form{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:2rem;padding:1.5rem}.gb-form-header{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.gb-form-avatar{background:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;overflow:hidden}.gb-form-avatar img{object-fit:cover;width:100%;height:100%}.gb-form-avatar span{color:#fff;font-size:1rem;font-weight:700}.gb-signing-as{color:var(--text);margin:0;font-size:.9rem}.gb-moderation-note{color:var(--text-muted);margin:0;font-size:.8rem}.gb-textarea{resize:vertical;min-height:100px}.gb-form-extras{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.gb-form-field label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.375rem;font-size:.8rem;font-weight:600;display:block}.gb-select{width:100%}.gb-photo-preview{align-items:center;gap:.75rem;display:flex}.gb-photo-preview img{object-fit:cover;border-radius:var(--radius);border:1px solid var(--border-light);width:64px;height:64px}.gb-photo-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:.8rem;text-decoration:underline}.gb-photo-upload-btn{border:1px dashed var(--border);border-radius:var(--radius);cursor:pointer;color:var(--text-secondary);align-items:center;gap:.375rem;padding:.5rem 1rem;font-size:.85rem;transition:border-color .2s,color .2s;display:inline-flex}.gb-photo-upload-btn:hover{border-color:var(--accent);color:var(--accent)}.gb-success-banner{color:#166534;border-radius:var(--radius);background:#f0fdf4;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem}.gb-submit{width:100%}.gb-controls{border-bottom:1px solid var(--border-light);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.gb-sort{gap:.25rem;display:flex}.gb-sort-btn{border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-muted);cursor:pointer;background:0 0;padding:.375rem .875rem;font-size:.8rem;transition:all .2s}.gb-sort-btn:hover{border-color:var(--accent);color:var(--accent)}.gb-sort-active{background:var(--accent);border-color:var(--accent);color:#fff}.gb-sort-active:hover{color:#fff}.gb-filter-tabs{gap:.25rem;display:flex}.gb-filter-tab{border-radius:var(--radius);color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.8rem;transition:all .2s;display:flex}.gb-filter-tab:hover{background:var(--bg-warm);color:var(--text)}.gb-filter-active{background:var(--bg-elevated);color:var(--text);font-weight:600;box-shadow:0 1px 3px #00000014}.gb-pending-badge{color:#fff;border-radius:var(--radius-full);text-align:center;background:#ef4444;min-width:18px;padding:1px 6px;font-size:.65rem;font-weight:700}.gb-entries{flex-direction:column;gap:0;display:flex}.gb-entry{border-bottom:1px solid var(--border-light);padding:1.25rem 0;animation:.4s both gb-fade-in}.gb-entry:last-child{border-bottom:none}.gb-entry-pending{opacity:.7;background:var(--bg-warm);border-radius:var(--radius-lg);border-bottom:none;margin-bottom:.5rem;padding:1.25rem}.gb-entry-top{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.gb-entry-avatar{background:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex;overflow:hidden}.gb-entry-avatar img{object-fit:cover;width:100%;height:100%}.gb-entry-avatar span{color:#fff;font-size:.85rem;font-weight:700}.gb-entry-meta{flex:1;min-width:0}.gb-entry-name-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.gb-entry-author{color:var(--text);font-size:.95rem;font-weight:600}.gb-relationship-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);border-radius:var(--radius-full);background:#8b74241a;padding:2px 8px;font-size:.7rem;font-weight:600}.gb-entry-date{color:var(--text-muted);font-size:.8rem}.gb-status-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-full);flex-shrink:0;margin-left:auto;padding:3px 10px;font-size:.65rem;font-weight:700}.gb-status-pending{color:#92400e;background:#fef3c7}.gb-status-rejected{color:#991b1b;background:#fee2e2}.gb-entry-message{color:var(--text-secondary);margin:0 0 .75rem;font-size:.95rem;line-height:1.7}.gb-entry-photo{border-radius:var(--radius-md);max-width:320px;margin-bottom:.75rem;overflow:hidden}.gb-entry-photo img{border-radius:var(--radius-md);width:100%;height:auto;display:block}.gb-entry-audio{margin-bottom:.75rem}.gb-entry-audio audio{width:100%;max-width:360px;height:36px}.gb-entry-actions{align-items:center;gap:.75rem;display:flex}.gb-like-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;align-items:center;gap:.375rem;padding:.25rem .5rem;font-size:.85rem;transition:color .2s,background .2s;display:flex}.gb-like-btn:hover:not(:disabled){color:#e11d48;background:#e11d480f}.gb-like-btn:disabled{cursor:default;opacity:.5}.gb-liked{color:#e11d48}.gb-like-count{font-size:.8rem;font-weight:600}.gb-mod-actions{gap:.375rem;display:flex}.gb-delete-btn{color:var(--text-muted);border-color:#0000}.gb-delete-btn:hover{color:#dc2626;background:#fef2f2;border-color:#fecaca}.alert-info{color:#1e40af;border-radius:var(--radius);background:#eff6ff;margin-bottom:1.5rem;padding:.75rem 1rem}.alert-info a{color:#1e40af;font-weight:600;text-decoration:underline}.badge-warning{color:#92400e;border-radius:var(--radius);text-transform:uppercase;background:#fef3c7;padding:2px 8px;font-size:.7rem;font-weight:600}.badge-draft{color:#92400e;border-radius:var(--radius);text-transform:uppercase;background:#fef3c7;margin-top:.25rem;padding:2px 8px;font-size:.7rem;font-weight:600;display:inline-block}.report-form{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem}.report-reasons{flex-direction:column;gap:.25rem;display:flex}.report-reason-option,.form-group label.report-reason-option{cursor:pointer;color:var(--text-secondary);text-transform:none;letter-spacing:normal;align-items:center;gap:.75rem;margin-bottom:0;padding:.375rem 0;font-size:.95rem;font-weight:400;display:flex}.report-reason-option input[type=radio],.form-group .report-reason-option input[type=radio]{width:auto;box-shadow:none;accent-color:var(--accent);border:none;flex-shrink:0;padding:0}.form-success{color:var(--success);margin-bottom:.5rem;font-size:.85rem}.review-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.review-item{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.review-item-image{object-fit:cover;width:100%;height:200px}.review-item-video{background:#000;width:100%;height:200px}.review-item-iframe{border:none;width:100%;height:100%}.review-item-placeholder{width:100%;height:100%;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.review-item-info{padding:1rem}.review-item-info h3{margin-bottom:.25rem;font-size:1rem}.review-item-info p{color:var(--text-secondary);margin-bottom:.5rem;font-size:.85rem}.review-item-actions{gap:.5rem;padding:0 1rem 1rem;display:flex}.memorial-links-section{border-top:1px solid var(--border-light);padding:2rem 0}.memorial-links{justify-content:center;align-items:center;gap:1rem;display:flex}.search-bar{flex-wrap:wrap;gap:.75rem;margin-bottom:2rem;display:flex}.search-input-wrapper{flex:1;min-width:200px;position:relative}.search-input-filter{flex:0 180px}.search-input-year{flex:0 100px}@media (width<=768px){.search-input-filter,.search-input-year{flex:none;width:100%}.search-input-wrapper{min-width:0}}.search-autocomplete{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:100;max-height:240px;margin-top:2px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.search-autocomplete-item{color:var(--text);padding:.6rem .85rem;font-size:.9rem;text-decoration:none;transition:background .15s;display:block}.search-autocomplete-item:hover{background:var(--accent-subtle)}.pagination{justify-content:center;align-items:center;gap:1rem;margin-top:2rem;padding:1rem 0;display:flex}.pagination-info{color:var(--text-muted);font-size:.85rem}.memories-tabs{border-bottom:1px solid var(--border);gap:.25rem;margin-bottom:2rem;display:flex}.memories-tab{color:var(--text-muted);cursor:pointer;transition:color var(--transition), border-color var(--transition);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.75rem 1.25rem;font-size:.9rem;font-weight:500}.memories-tab:hover{color:var(--text)}.memories-tab--active{color:var(--text);border-bottom-color:var(--accent,#b8860b)}.btn-remember{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:color var(--transition), border-color var(--transition), background var(--transition);background:0 0;border-radius:2rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.85rem;display:inline-flex}.btn-remember:hover{color:var(--text);border-color:var(--text-muted)}.btn-remember--active{color:#c0392b;border-color:#c0392b}.btn-remember--active:hover{background:#c0392b0d}.memorial-remember-btn{margin:1rem 0}.memorial-card-image{position:relative}.memorial-card-cherished{color:#c0392b;background:#ffffffe6;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:flex;position:absolute;top:.5rem;right:.5rem}.memorial-created-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.memorial-created-bg{z-index:0;position:absolute;inset:0;overflow:hidden}.memorial-created-grain{opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px;position:absolute;inset:0}.memorial-created-glow{filter:blur(100px);opacity:.35;border-radius:50%;animation:20s ease-in-out infinite alternate glow-drift;position:absolute}.memorial-created-glow-1{background:radial-gradient(circle, var(--accent-subtle) 0%, transparent 70%);width:600px;height:600px;top:-20%;right:-10%}.memorial-created-glow-2{background:radial-gradient(circle, var(--sage-light) 0%, transparent 70%);width:500px;height:500px;animation-delay:-10s;bottom:-15%;left:-10%}@keyframes glow-drift{0%{transform:translate(0)scale(1)}to{transform:translate(30px,-20px)scale(1.1)}}.memorial-created-content{z-index:1;text-align:center;max-width:560px;padding:3rem 2rem;animation:1s ease-out created-fade-up;position:relative}@keyframes created-fade-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.memorial-created-icon{width:56px;height:56px;color:var(--accent);opacity:.7;margin:0 auto 2rem;animation:1s ease-out .1s both created-fade-up}.memorial-created-icon svg{width:100%;height:100%}.memorial-created-title{font-family:var(--font-display);color:var(--text);letter-spacing:-.01em;margin:0 0 1rem;font-size:2rem;font-weight:400;line-height:1.25;animation:1s ease-out .2s both created-fade-up}.memorial-created-subtitle{font-family:var(--font-body);color:var(--text-secondary);margin:0 0 2rem;font-size:1.05rem;line-height:1.7;animation:1s ease-out .3s both created-fade-up}.memorial-created-divider{justify-content:center;align-items:center;gap:6px;margin-bottom:2.5rem;animation:1s ease-out .4s both created-fade-up;display:flex}.memorial-created-divider span{background:var(--accent);opacity:.3;border-radius:50%;width:4px;height:4px;display:block}.memorial-created-divider span:nth-child(2){opacity:.5;width:5px;height:5px}.memorial-created-quote{border:none;flex-direction:column;justify-content:center;align-items:center;min-height:120px;margin:0 0 3rem;padding:0;transition:opacity .6s,transform .6s;display:flex}.memorial-created-quote.quote-enter{opacity:1;transform:translateY(0)}.memorial-created-quote.quote-exit{opacity:0;transform:translateY(-8px)}.memorial-created-quote p{font-family:var(--font-display);color:var(--text);max-width:480px;margin:0 0 .75rem;font-size:1.2rem;font-style:italic;font-weight:400;line-height:1.65}.memorial-created-quote footer{font-family:var(--font-body);color:var(--text-muted);letter-spacing:.02em;font-size:.85rem;font-style:normal}.memorial-created-cta{font-family:var(--font-body);letter-spacing:.02em;color:var(--text-inverse);background:var(--brand-dark);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition);border:none;align-items:center;gap:.5rem;padding:.875rem 2.5rem;font-size:.95rem;font-weight:600;animation:1s ease-out .6s both created-fade-up;display:inline-flex;box-shadow:0 2px 12px #2c251826}.memorial-created-cta:hover{background:var(--accent);transform:translateY(-1px);box-shadow:0 4px 20px #8b742433}.memorial-created-cta:active{transform:translateY(0)}@media (width<=640px){.memorial-created-title{font-size:1.6rem}.memorial-created-quote p{font-size:1.05rem}.memorial-created-content{padding:2rem 1.5rem}}.memorial-events-reminders{flex-wrap:wrap;gap:2rem;max-width:860px;margin:0 auto;padding:2rem 1.5rem;display:flex}.memorial-events-reminders>*{flex:320px;min-width:0}.memorial-events-reminders .memorial-events-section,.memorial-events-reminders .notifications-settings{padding:0}.memorial-events-reminders .container-narrow{max-width:none;padding:0}.memorial-events-section{padding:2rem 0}.events-form{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:1.5rem;padding:1.5rem}.events-list{flex-direction:column;gap:1rem;display:flex}.event-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);transition:box-shadow var(--transition);padding:1.25rem 1.5rem}.event-card:hover{box-shadow:var(--shadow-md)}.event-card-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.event-card-title{font-family:var(--font-display);color:var(--text);font-size:1.15rem;font-weight:600}.event-card-actions{flex-shrink:0;gap:.25rem;display:flex}.event-card-meta{color:var(--text-secondary);flex-wrap:wrap;gap:.5rem 1.25rem;margin-bottom:.5rem;font-size:.875rem;display:flex}.event-card-date{font-weight:500}.event-card-virtual-link{color:var(--accent);text-decoration:none}.event-card-virtual-link:hover{text-decoration:underline}.event-card-description{color:var(--text-secondary);margin-bottom:.75rem;font-size:.9rem;line-height:1.5}.event-card-description-text{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.event-see-more{margin-top:.25rem;font-size:.85rem}.btn-link{color:var(--accent);cursor:pointer;font-size:inherit;text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.btn-link:hover{color:var(--accent-hover)}.event-detail-meta{color:var(--text-secondary);flex-direction:column;gap:.25rem;margin-bottom:1rem;font-size:.9rem;display:flex}.event-detail-description{color:var(--text-primary);white-space:pre-wrap;font-size:.95rem;line-height:1.6}.event-card-footer{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.event-rsvp-counts{color:var(--text-muted);gap:.75rem;font-size:.8rem;display:flex}.event-card-buttons{gap:.5rem;display:flex}.event-rsvp-form{border-top:1px solid var(--border-light);margin-top:1rem;padding-top:1rem}.event-rsvp-options{gap:1rem;margin-bottom:.75rem;display:flex}.event-rsvp-option{cursor:pointer;align-items:center;gap:.35rem;font-size:.875rem;display:flex}.event-rsvp-note{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;margin-bottom:.75rem;padding:.5rem .75rem;font-size:.875rem}.qr-code-panel-description{color:var(--text-secondary);margin-bottom:1rem;font-size:.875rem}.qr-code-preview{justify-content:center;margin-bottom:1rem;display:flex}.qr-code-preview img{border-radius:var(--radius-md);border:1px solid var(--border-light);width:180px;height:180px}.qr-code-downloads{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.qr-code-downloads .btn{text-align:center;justify-content:center;width:100%;padding:.5rem .25rem;font-size:.8rem}.qr-dpi-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius);vertical-align:middle;background:#00000014;margin-left:.25rem;padding:1px 5px;font-size:.6rem;font-weight:700;display:inline-block}.qr-color-section{background:var(--bg-warm);border-radius:var(--radius-md);margin:1rem 0;padding:1rem}.qr-color-disabled{opacity:.55;pointer-events:none;position:relative}.qr-color-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 .75rem;font-size:.8rem;font-weight:600}.qr-color-pickers{gap:1rem;display:flex}.qr-color-field{flex:1}.qr-color-field label{color:var(--text-muted);margin-bottom:.375rem;font-size:.75rem;display:block}.qr-color-input-wrap{align-items:center;gap:.5rem;display:flex}.qr-color-input-wrap input[type=color]{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:#fff;width:32px;height:32px;padding:2px}.qr-color-hex{color:var(--text-muted);font-family:monospace;font-size:.75rem}.qr-upgrade-hint{color:var(--accent);pointer-events:auto;margin:.75rem 0 0;font-size:.8rem;font-style:italic}.notifications-settings-info{color:var(--text-muted);margin-bottom:1.25rem;font-size:.9rem}.notification-dates-list{flex-direction:column;gap:.75rem;margin-bottom:1.25rem;display:flex}.notification-date-item{background:var(--bg-warm);border-radius:var(--radius-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;min-width:0;padding:.75rem 1rem;font-size:.9rem;display:flex}.notification-date-info{flex-wrap:wrap;gap:.75rem;min-width:0;display:flex}.notification-date-label{color:var(--text);font-weight:600}.notification-date-value{color:var(--text-secondary)}.notification-date-actions{flex-shrink:0;gap:.25rem;display:flex}.notification-subscribe-btn{align-items:center;gap:.5rem;display:inline-flex}.notification-subscribed-msg{background:var(--bg-warm);border-radius:var(--radius-sm);color:var(--text-secondary);align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.notification-subscribed-msg svg{color:var(--color-success,#16a34a);flex-shrink:0}.notification-form{margin-top:.75rem}.memorial-settings-section{padding:2rem 0}.memorial-settings-panels{grid-template-columns:1fr 1fr;align-items:start;gap:1.5rem;display:grid}.memorial-notifications-section{padding:1rem 0 2rem}.grief-resources-page .page-subtitle{max-width:560px}.grief-category-section{margin-bottom:2.5rem}.grief-category-title{font-family:var(--font-display);color:var(--text);margin-bottom:.35rem;font-size:1.3rem;font-weight:600}.grief-category-description{color:var(--text-secondary);margin-bottom:1rem;font-size:.9rem;line-height:1.5}.grief-resources-list{flex-direction:column;gap:.75rem;display:flex}.grief-resource-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);transition:box-shadow var(--transition);padding:1.25rem 1.5rem}.grief-resource-card:hover{box-shadow:var(--shadow-sm)}.grief-resource-title{font-family:var(--font-display);color:var(--text);margin-bottom:.25rem;font-size:1.05rem;font-weight:600}.grief-resource-description{color:var(--text-secondary);margin-bottom:.5rem;font-size:.875rem;line-height:1.5}.grief-resource-meta{flex-wrap:wrap;gap:1rem;display:flex}.grief-resource-phone{color:var(--accent);align-items:center;gap:.25rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.grief-resource-phone:hover{text-decoration:underline}.grief-resource-link{color:var(--accent);font-size:.875rem;text-decoration:none}.grief-resource-link:hover{text-decoration:underline}.grief-comfort-card{background:var(--bg-warm);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;margin-top:2rem;padding:2rem}.grief-comfort-title{font-family:var(--font-display);margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.grief-comfort-description{color:var(--text-secondary);max-width:480px;margin:0 auto 1rem;font-size:.9rem;line-height:1.6}.grief-comfort-note{color:var(--text-muted);font-size:.875rem}.grief-comfort-note a{color:var(--accent)}.grief-back-link{text-align:center;margin-top:2.5rem}.btn-xs{padding:.25rem .6rem;font-size:.75rem}.text-error{color:var(--error)}.text-success{color:var(--success)}.form-row-2{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=768px){.form-row-2{grid-template-columns:1fr}}@media (width<=480px){.hero-title{font-size:clamp(1.75rem,8vw,2.5rem)}.hero{padding:2.5rem 1rem}.memorial-banner{height:180px}.memorial-portrait{border-width:3px;width:120px;height:120px;margin-top:-72px}.memorial-name{font-size:clamp(1.5rem,7vw,2rem)}.memorial-quote{font-size:1rem}.media-grid{grid-template-columns:repeat(3,1fr);gap:3px}.media-item{border-radius:2px}.media-title{padding:.35rem .5rem;font-size:.65rem}.memorial-card-name{font-size:1.15rem}.memorial-card-quote{font-size:.875rem}.auth-brand h1{font-size:1.6rem}.modal-container,.modal-card,.modal-content{padding:1rem}.page-title{font-size:clamp(1.5rem,6vw,1.75rem)}.section-title{font-size:1.25rem}.gb-title{font-size:1.5rem}.container,.container-narrow{padding:0 .75rem}}@supports (padding:env(safe-area-inset-bottom)){.footer,.mobile-drawer-content{padding-bottom:calc(2rem + env(safe-area-inset-bottom))}.modal-container,.modal-card,.modal-content{padding-bottom:calc(1.25rem + env(safe-area-inset-bottom))}}@media (hover:none) and (pointer:coarse){.memorial-card:hover{box-shadow:var(--shadow-xs);transform:none}.media-item:hover img{transform:none}.memorial-card-image img{transition:none}.media-delete{opacity:1}.memorial-portrait-edit{opacity:1;background:var(--bg-elevated);border:2px solid var(--bg);width:32px;height:32px;box-shadow:var(--shadow-md);border-radius:50%;inset:auto 2px 2px auto}.memorial-portrait-edit .image-upload{width:32px;height:32px}.memorial-portrait-edit .image-upload-dropzone{background:var(--bg-elevated);-webkit-backdrop-filter:none;backdrop-filter:none;border:none;border-radius:50%;width:32px;height:32px;min-height:auto;padding:0}.memorial-portrait-edit .image-upload-dropzone:hover{background:var(--accent-subtle)}.memorial-portrait-edit .image-upload-icon{color:var(--accent);font-size:.85rem}.memorial-portrait-edit .image-upload-text{display:none}}.bg-music-player{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg,12px);z-index:800;align-items:center;gap:.5rem;max-width:300px;padding:.5rem .75rem;font-size:.85rem;display:flex;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 4px 20px #00000026}.bg-music-btn{cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;padding:.25rem;font-size:1rem;line-height:1;transition:background .15s;display:flex}.bg-music-btn:hover{background:var(--bg-alt,#f0f0f0)}.bg-music-title{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:140px;font-size:.75rem;overflow:hidden}.bg-music-volume-wrap{align-items:center;display:flex;position:relative}.bg-music-volume-toggle{font-size:.85rem}.bg-music-volume{width:60px;height:4px;accent-color:var(--brand-gold);cursor:pointer}@media (width<=600px){.bg-music-player{justify-content:center;max-width:none;bottom:1rem;left:1rem;right:1rem}.bg-music-title{flex:1;max-width:none}}.memorial-music-settings{padding:.5rem 0}.bg-music-settings{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg,12px);overflow:hidden}.bg-music-settings-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:.875rem 1rem;transition:background .15s;display:flex}.bg-music-settings-header:hover{background:var(--bg-alt,#f9f9f9)}.bg-music-settings-label{align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;display:flex}.bg-music-settings-icon{font-size:1.1rem}.bg-music-settings-active{color:var(--text-secondary);font-size:.8rem;font-weight:400}.bg-music-settings-chevron{color:var(--text-secondary);font-size:1.2rem;transition:transform .2s;transform:rotate(0)}.bg-music-settings-chevron.expanded{transform:rotate(90deg)}.bg-music-settings-body{border-top:1px solid var(--border);padding:0 1rem 1rem}.bg-music-current{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:.75rem 0;display:flex}.bg-music-current-info{font-size:.85rem}.bg-music-upload-section{border-bottom:1px solid var(--border);margin-bottom:1rem;padding-bottom:1rem}.bg-music-upload-section h4,.bg-music-library-section h4{margin:.75rem 0 .25rem;font-size:.85rem;font-weight:600}.bg-music-category{margin-bottom:.75rem}.bg-music-category-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin:.75rem 0 .5rem;font-size:.8rem;font-weight:600}.bg-music-track-list{flex-direction:column;gap:.25rem;display:flex}.bg-music-track{border-radius:var(--radius-sm,6px);align-items:center;gap:.5rem;padding:.5rem;transition:background .15s;display:flex}.bg-music-track:hover{background:var(--bg-alt,#f9f9f9)}.bg-music-track.selected{background:var(--accent-subtle,#f5f0e0)}.bg-music-track-preview{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;font-size:.75rem;transition:background .15s;display:flex}.bg-music-track-preview:hover{background:var(--bg-alt,#f0f0f0)}.bg-music-track-info{flex:1;min-width:0}.bg-music-track-title{white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:500;display:block;overflow:hidden}.bg-music-track-artist{color:var(--text-secondary);font-size:.75rem;display:block}
