:root{--indigo:#1B3A5C;--indigo-deep:#10243B;--clay:#C1440E;--gold:#C8921A;--sand:#F6F1EA;--paper:#FFFDF9;--ink:#1D2733;--muted:#5E6B78;--line:#E2D9CC;--ok:#2F6B3F;--warn:#9A5B00;--serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;--sans:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--radius:6px;--shadow-sm:0 2px 8px rgba(0, 0, 0, 0.04);--shadow-md:0 4px 16px rgba(0, 0, 0, 0.08);--transition:0.15s ease-in-out}*,::after,::before{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans);min-height:100vh;display:flex;flex-direction:column}main{flex:1}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.wrap{max-width:1140px;margin:0 auto;padding:0 20px}h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.18;margin:0 0 .4em;color:inherit}h1{font-size:clamp(2.4rem, 5vw, 3.8rem)}h2{font-size:clamp(1.8rem, 4vw, 2.4rem)}h3{font-size:1.4rem}h4{font-size:1.15rem}.muted{color:var(--muted)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45em;border:1px solid var(--indigo);background:var(--indigo);color:#fff;padding:.58em 1.2em;border-radius:var(--radius);cursor:pointer;text-decoration:none;font-weight:500;font-size:.95rem;transition:background var(--transition),border-color var(--transition),transform var(--transition)}.btn[class*=btn-outline-]{background:0 0;color:var(--ink)}.btn:hover{filter:brightness(1.1)}.btn:active{transform:scale(.98)}.btn.ghost{background:0 0;color:var(--indigo)}.btn-clay,.btn.clay{background:var(--clay);border-color:var(--clay);color:#fff}.btn-clay:hover{filter:brightness(1.1);color:#fff}.btn-outline-clay{border-color:var(--clay);color:var(--clay);background:0 0}.btn-outline-clay:hover{background:var(--clay);color:#fff}.btn-gold,.btn.gold{background:var(--gold);border-color:var(--gold);color:#fff}.btn-sm,.btn.small{padding:.35em .8em;font-size:.85rem}@media (prefers-color-scheme:dark){.btn{color:#10243b}.btn.ghost{color:var(--indigo);border-color:var(--indigo)}}.badge{display:inline-block;font-size:.75rem;padding:2px 8px;border-radius:999px;border:1px solid currentColor;white-space:nowrap;font-weight:500}.badge.draft,.badge.pending{color:var(--warn)}.badge.published,.badge.reviewed{color:var(--ok)}.badge.sample{color:var(--clay)}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm)}.notice{background:#fbefd9;color:#5a3a00;border:1px solid #e8c98a;padding:12px 16px;border-radius:var(--radius);margin:16px 0;font-size:.92rem}@media (prefers-color-scheme:dark){.notice{background:#2e2410;color:#f0d9a6;border-color:#5c4a20}}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--indigo-deep);color:#fff;padding:10px 20px;border-radius:8px;z-index:100;box-shadow:var(--shadow-md);font-size:.95rem}:root{--admin-bg:#FFFFFF;--admin-surface:#FFFFFF;--admin-surface-subtle:#FAFAFA;--admin-ink:#111111;--admin-muted:#71717A;--admin-border:#E4E4E7;--admin-border-subtle:#F4F4F5;--admin-hover:#F4F4F5;--admin-focus:#111111;--admin-radius:8px;--admin-radius-lg:12px;--admin-sidebar-width:260px;--sans:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;--admin-accent:var(--indigo, #111111);--admin-accent-subtle:rgba(17, 17, 17, 0.05);--admin-sidebar-bg:#FFFFFF;--admin-sidebar-border:#E4E4E7;--admin-sidebar-ink:#111111;--admin-sidebar-muted:#71717A;--admin-sidebar-active:#111111;--admin-sidebar-active-text:#FFFFFF}.admin-body{background:var(--admin-bg);color:var(--admin-ink);font-family:var(--sans);margin:0;padding:0;min-height:100vh;-webkit-font-smoothing:antialiased}.admin-body.login-page{display:flex;align-items:center;justify-content:center;background:#fff;min-height:100vh}.admin-login-card{max-width:420px;width:100%;margin:24px;background:#fff;border:1px solid var(--admin-border);border-radius:var(--admin-radius-lg);padding:44px 38px;box-shadow:0 4px 24px rgba(0,0,0,.03)}.admin-login-brand h2{font-family:var(--serif);font-size:2rem;font-weight:700;color:var(--admin-ink);margin:0 0 6px;letter-spacing:-.01em}.admin-login-brand h2 span{color:var(--admin-muted);font-style:italic;font-weight:400}.admin-sidebar{width:var(--admin-sidebar-width);background:var(--admin-sidebar-bg);color:var(--admin-sidebar-ink);border-right:1px solid var(--admin-sidebar-border);display:flex;flex-direction:column;z-index:1045;overflow-y:auto}@media (min-width:992px){.admin-sidebar{position:fixed;top:0;left:0;bottom:0}}@media (max-width:991.98px){.admin-sidebar.offcanvas-lg{width:280px;max-width:85vw}}.admin-brand{padding:26px 24px 22px;border-bottom:1px solid var(--admin-sidebar-border);background:#fff}.admin-brand-title{font-family:var(--serif);font-size:1.55rem;font-weight:700;color:var(--admin-ink);letter-spacing:-.01em;line-height:1.1}.admin-brand-pill{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:3px 8px;border-radius:999px;background:#f4f4f5;color:#111;border:1px solid #e4e4e7}.admin-nav{padding:20px 16px;display:flex;flex-direction:column;gap:4px;flex:1}.admin-nav-section-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#52525b;font-weight:700;padding:24px 16px 8px}.admin-nav a{display:flex;align-items:center;padding:12px 16px;border-radius:8px;color:#52525b;text-decoration:none;font-weight:500;font-size:.92rem;transition:all .15s ease;gap:12px;border:1px solid transparent}.admin-nav a:hover{background:var(--admin-hover);color:var(--admin-ink)}.admin-nav a.active{background:var(--admin-sidebar-active);color:var(--admin-sidebar-active-text);font-weight:600;border-color:var(--admin-sidebar-active);box-shadow:0 1px 3px rgba(0,0,0,.08)}.admin-nav a.active .nav-svg-icon{color:#fff}.admin-nav a.active .badge-sidebar{background:rgba(255,255,255,.2);color:#fff;border-color:transparent}.nav-svg-icon{width:18px;height:18px;flex-shrink:0;color:#71717a;transition:color .15s ease,transform .15s ease}.admin-nav a:hover .nav-svg-icon{color:var(--admin-ink);transform:scale(1.05)}.badge-sidebar{font-size:.74rem;font-weight:600;padding:2px 8px;border-radius:999px;line-height:1.2;background:#f4f4f5;color:#111;border:1px solid #e4e4e7}.admin-user-footer{padding:20px 20px;border-top:1px solid var(--admin-sidebar-border);display:flex;justify-content:space-between;align-items:center;font-size:.88rem;color:var(--admin-sidebar-muted);background:#fff}.user-avatar-badge{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#111;color:#fff;font-size:.82rem;font-weight:700;margin-right:12px}.admin-user-name{color:var(--admin-ink);font-weight:600;font-size:.88rem;line-height:1.2}.admin-user-role{color:#71717a;font-size:.76rem}.admin-logout-btn{color:#71717a;font-size:.82rem;font-weight:500;text-decoration:none;padding:5px 12px;border-radius:6px;border:1px solid #e4e4e7;background:#fff;transition:all .15s ease}.admin-logout-btn:hover{color:#fff;border-color:#111;background:#111}.admin-main{min-height:100vh;display:flex;flex-direction:column;background:#fff;transition:margin-left .15s ease}@media (min-width:992px){.admin-main{margin-left:var(--admin-sidebar-width)}}@media (max-width:991.98px){.admin-main{margin-left:0}}.admin-topbar{min-height:68px;background:#fff;border-bottom:1px solid var(--admin-border);display:flex;align-items:center;justify-content:space-between;padding:14px 36px;position:sticky;top:0;z-index:50}@media (max-width:768px){.admin-topbar{padding:12px 18px}}.admin-topbar h2{font-size:1.2rem;font-weight:600;margin:0;color:var(--admin-ink);font-family:inherit}.admin-content{padding:40px 36px;max-width:1320px;width:100%;margin:0 auto}@media (max-width:768px){.admin-content{padding:24px 18px}}.admin-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.admin-page-header h3{font-size:1.35rem;font-weight:600;color:var(--admin-ink);margin:0 0 6px;font-family:inherit}.admin-section-block{margin-bottom:28px;background:#fff;border:1px solid var(--admin-border);border-radius:var(--admin-radius-lg);padding:32px 36px}.admin-section-title{margin-top:0;margin-bottom:6px;font-size:1.15rem;font-weight:600;color:var(--admin-ink);font-family:inherit}.admin-section-desc{margin:0 0 20px;font-size:.9rem;color:var(--admin-muted)}.admin-form-actions{display:flex;align-items:center;gap:14px;margin-top:28px}.admin-dashboard-hero{background:0 0;padding:0 0 28px 0;margin-bottom:36px;border-bottom:1px solid var(--admin-border)}.admin-hero-title{font-family:var(--serif);font-size:2.1rem;font-weight:700;margin:0 0 6px;color:var(--admin-ink);letter-spacing:-.01em}.admin-hero-desc{font-size:.96rem;color:#52525b;margin:0;max-width:68ch;line-height:1.6}.btn-create-song{background:var(--indigo);color:#fff;border:1px solid var(--indigo);font-weight:600;font-size:.92rem;padding:10px 22px;border-radius:8px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .15s ease,border-color .15s ease;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.1)}.btn-create-song:hover{background:var(--indigo-deep);border-color:var(--indigo-deep);color:#fff}.admin-card-cta{background:#fff;border:1px solid var(--admin-border);border-radius:var(--admin-radius-lg)}.admin-stat-card{background:#fff;border:1px solid var(--admin-border);border-radius:var(--admin-radius-lg);padding:28px 28px;position:relative;overflow:hidden;box-shadow:none}.admin-stat-card .num{font-family:var(--sans);font-size:2.75rem;font-weight:800;color:var(--admin-ink);line-height:1;margin:12px 0 6px;letter-spacing:-.03em}.admin-stat-card .label{font-size:.8rem;color:var(--admin-muted);font-weight:700;text-transform:uppercase;letter-spacing:.06em}.stat-icon{width:44px;height:44px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:6px}.stat-icon.stat-blue{background:#eff6ff;color:#2563eb;border:1px solid #dbeafe}.stat-icon.stat-emerald{background:#ecfdf5;color:#059669;border:1px solid #a7f3d0}.stat-icon.stat-amber{background:#fffbeb;color:#d97706;border:1px solid #fde68a}.stat-icon.stat-purple{background:#faf5ff;color:#7c3aed;border:1px solid #e9d5ff}.status-pill-online{background:#fff;border:1px solid var(--admin-border);color:var(--admin-ink);padding:5px 12px;border-radius:999px;font-size:.8rem;font-weight:500;display:inline-flex;align-items:center;gap:8px}.status-dot{width:7px;height:7px;border-radius:50%;background:#10b981;display:inline-block}.badge-genre{font-size:.78rem;padding:4px 10px;border-radius:6px;font-weight:600;display:inline-block;line-height:1.2;letter-spacing:.02em}.badge-genre-oriki{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.badge-genre-fuji{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}.badge-genre-juju{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.badge-genre-highlife{background:#faf5ff;color:#6b21a8;border:1px solid #e9d5ff}.badge-genre-apala{background:#fff1f2;color:#9f1239;border:1px solid #fecdd3}.badge-genre-default{background:#f1f5f9;color:#334155;border:1px solid #cbd5e1}.btn-action-edit{background:#fff;color:#111;border:1px solid var(--admin-border);font-weight:500;padding:6px 12px;border-radius:6px;text-decoration:none;font-size:.82rem;transition:all .15s ease}.btn-action-edit:hover{background:#111;color:#fff;border-color:#111}.btn-action-preview{background:0 0;color:var(--admin-muted);border:1px solid transparent;font-weight:500;padding:6px 10px;border-radius:6px;text-decoration:none;font-size:.82rem;transition:all .15s ease}.btn-action-preview:hover{color:var(--admin-ink);background:var(--admin-hover)}.btn-action-delete{background:#fff;color:#71717a;border:1px solid var(--admin-border);font-weight:500;padding:6px 12px;border-radius:6px;text-decoration:none;font-size:.82rem;transition:all .15s ease}.btn-action-delete:hover{background:#111;color:#fff;border-color:#111}.admin-table-wrap{background:#fff;border:1px solid var(--admin-border);border-radius:var(--admin-radius-lg);overflow-x:auto;-webkit-overflow-scrolling:touch;box-shadow:none}.admin-table{width:100%;min-width:660px;border-collapse:collapse;text-align:left;font-size:.92rem}.admin-table th{background:#fff;padding:16px 20px;color:var(--admin-muted);font-weight:600;font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--admin-border);white-space:nowrap}.admin-table td{padding:16px 20px;border-bottom:1px solid var(--admin-border-subtle);color:var(--admin-ink);vertical-align:middle;white-space:nowrap}.admin-table td.col-title,.admin-table td:first-child{white-space:normal;min-width:200px}.admin-table tr:last-child td{border-bottom:0}.admin-table tr:hover td{background:var(--admin-hover)}.admin-actions{display:flex;gap:8px;align-items:center}.badge{display:inline-block;font-size:.75rem;padding:4px 10px;border-radius:999px;font-weight:600;line-height:1.2}.badge.published,.badge.reviewed{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.badge.draft,.badge.pending{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.admin-body .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:var(--admin-radius);font-weight:500;font-size:.88rem;cursor:pointer;text-decoration:none;transition:all .12s ease;line-height:1.2;background:var(--admin-ink);color:#fff;border:1px solid var(--admin-ink);padding:8px 16px}.admin-body .btn:hover{background:#262626;border-color:#262626;color:#fff}.admin-body .btn.ghost{background:var(--admin-surface);color:var(--admin-ink);border:1px solid var(--admin-border)}.admin-body .btn.ghost:hover{background:var(--admin-hover);border-color:#d1d5db;color:var(--admin-ink)}.admin-body .btn.clay,.admin-body .btn.danger{background:#fff;color:#991b1b;border:1px solid #fecaca}.admin-body .btn.clay:hover,.admin-body .btn.danger:hover{background:#fef2f2;border-color:#f87171;color:#991b1b}.admin-body .btn.small{padding:5px 10px;font-size:.82rem}.admin-btn-lg{padding:10px 22px;font-size:.95rem;background:var(--admin-ink);color:#fff;border:1px solid var(--admin-ink)}.admin-btn-cancel{padding:10px 20px}.admin-notice-success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;padding:12px 16px;border-radius:var(--admin-radius);margin-bottom:20px;font-size:.9rem}.admin-form-group{margin-bottom:18px}.admin-form-group label{display:block;font-weight:500;font-size:.85rem;margin-bottom:6px;color:#374151}.admin-form-group input,.admin-form-group select,.admin-form-group textarea{width:100%;padding:9px 12px;background:#fff;border:1px solid #9ca3af;border-radius:var(--admin-radius);color:var(--admin-ink);font-size:.92rem;font-family:inherit;transition:border-color .12s ease}.admin-form-group input::placeholder,.admin-form-group textarea::placeholder{color:#64748b;opacity:1}.admin-form-group input:focus,.admin-form-group select:focus,.admin-form-group textarea:focus{outline:2px solid var(--admin-ink);outline-offset:1px;border-color:var(--admin-ink)}.admin-form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.admin-lyrics-editor{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px}@media (max-width:860px){.admin-lyrics-editor{grid-template-columns:1fr}}.admin-lyrics-editor textarea{min-height:400px;font-family:var(--serif);font-size:1.18rem;line-height:1.6}.admin-palette{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 24px 0;background:#f9fafb;padding:12px;border-radius:var(--admin-radius);border:1px solid var(--admin-border)}.admin-palette button{min-width:36px;height:36px;background:#fff;border:1px solid var(--admin-border);color:var(--admin-ink);border-radius:6px;cursor:pointer;font-family:var(--serif);font-size:1.15rem;transition:all .12s ease}.admin-palette button:hover{background:#111;color:#fff;border-color:#111}.line-status{padding:16px 22px;border-radius:var(--admin-radius);font-size:.95rem;font-weight:500;margin-top:28px!important;margin-bottom:32px!important;line-height:1.5;display:flex;align-items:center;gap:10px}.line-status.match{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.line-status.mismatch{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.rich-editor-wrapper{background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:var(--admin-radius);display:flex;flex-direction:column;transition:border-color .12s ease}.rich-editor-wrapper:focus-within{border-color:var(--admin-ink);box-shadow:0 0 0 1px var(--admin-ink)}.rich-editor-toolbar{background:#fafafa;border-bottom:1px solid var(--admin-border);padding:8px 10px;display:flex;align-items:center;flex-wrap:wrap;gap:4px}.editor-btn{background:var(--admin-surface);border:1px solid var(--admin-border);color:var(--admin-ink);padding:5px 9px;border-radius:4px;cursor:pointer;font-size:.82rem;font-weight:500;display:inline-flex;align-items:center;justify-content:center;line-height:1;transition:all .1s ease}.editor-btn:hover{background:var(--admin-hover);border-color:#d1d5db}.editor-btn.active{background:var(--admin-ink);color:#fff;border-color:var(--admin-ink)}.editor-select{background:var(--admin-surface);border:1px solid var(--admin-border);color:var(--admin-ink);padding:5px 8px;border-radius:4px;font-size:.82rem;font-weight:500;cursor:pointer}.editor-select:focus{outline:0;border-color:var(--admin-ink)}.editor-divider{width:1px;height:20px;background:var(--admin-border);margin:0 4px}.editor-spacer{margin-left:auto}.rich-editor-body{position:relative;background:var(--admin-surface)}.rich-editor-canvas{min-height:220px;padding:16px;font-size:.95rem;line-height:1.65;color:var(--admin-ink);outline:0}.rich-editor-canvas h2{font-size:1.5rem;font-weight:700;margin:1em 0 .4em;line-height:1.25}.rich-editor-canvas h3{font-size:1.25rem;font-weight:600;margin:1em 0 .4em}.rich-editor-canvas h4{font-size:1.05rem;font-weight:600;margin:.8em 0 .3em}.rich-editor-canvas p{margin:0 0 .8em}.rich-editor-canvas blockquote{margin:1em 0;padding:10px 16px;border-left:3px solid var(--admin-ink);background:#f9fafb;font-style:italic;color:#374151}.rich-editor-canvas ol,.rich-editor-canvas ul{margin:.5em 0 1em 1.5em;padding:0}.rich-editor-canvas li{margin-bottom:.3em}.rich-editor-canvas a{color:var(--admin-ink);text-decoration:underline;text-underline-offset:3px}.rich-editor-canvas hr{border:0;border-top:1px solid var(--admin-border);margin:1.5em 0}.rich-editor-source{display:none;width:100%;min-height:220px;padding:16px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.88rem;line-height:1.5;background:#fafafa;border:0;border-radius:0;outline:0;resize:vertical}.rich-editor-wrapper.source-mode .rich-editor-canvas{display:none}.rich-editor-wrapper.source-mode .rich-editor-source{display:block}.rich-editor-wrapper.fullscreen{position:fixed;inset:0;z-index:99999;width:100vw;height:100vh;background:#fff;border-radius:0;border:0;display:flex;flex-direction:column;box-shadow:none}.rich-editor-wrapper.fullscreen .rich-editor-toolbar{padding:12px 32px;background:#fff;border-bottom:1px solid var(--admin-border);position:sticky;top:0;z-index:10}.rich-editor-wrapper.fullscreen .rich-editor-body{flex:1;overflow-y:auto;display:flex;justify-content:center;background:#f8f9fa;padding:40px 24px}.rich-editor-wrapper.fullscreen .rich-editor-canvas,.rich-editor-wrapper.fullscreen .rich-editor-source{max-width:880px;width:100%;min-height:100%;background:#fff;border:1px solid var(--admin-border);border-radius:8px;padding:48px;box-shadow:0 4px 24px rgba(0,0,0,.05);font-size:1.05rem;line-height:1.75}body.editor-expanded-active{overflow:hidden}.sql-schema-box{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82rem;background:#fafafa;line-height:1.5;color:#374151}.th-active-col{width:50px}.admin-dashboard-footer{background:#fff;font-size:.82rem;color:#71717a}.admin-support-link{color:#18181b;transition:color .15s ease}.admin-support-link:hover{color:#000;text-decoration:underline!important}.admin-support-sidebar-link:hover{color:var(--admin-ink)!important;background:rgba(0,0,0,.04)}:root,[data-theme=default],[data-theme=monochrome]{--primary:#111111;--primary-deep:#000000;--secondary:#4B5563;--accent:#2563EB;--indigo:#111111;--indigo-deep:#000000;--clay:#4B5563;--gold:#2563EB;--sand:#F4F4F5;--paper:#FFFFFF;--ink:#111111;--muted:#52525B;--line:#E4E4E7;--ok:#065F46;--warn:#92400E}[data-theme=indigo]{--primary:#1B3A5C;--primary-deep:#10243B;--secondary:#1E3A8A;--accent:#D97706;--indigo:#1B3A5C;--indigo-deep:#10243B;--clay:#1E3A8A;--gold:#D97706;--sand:#F8FAFC;--paper:#FFFFFF;--ink:#0F172A;--muted:#475569;--line:#E2E8F0;--ok:#065F46;--warn:#92400E}[data-theme=slate]{--primary:#1E293B;--primary-deep:#0F172A;--secondary:#334155;--accent:#0284C7;--indigo:#1E293B;--indigo-deep:#0F172A;--clay:#334155;--gold:#0284C7;--sand:#F1F5F9;--paper:#FFFFFF;--ink:#0F172A;--muted:#475569;--line:#CBD5E1;--ok:#065F46;--warn:#B45309}[data-theme=sepia]{--primary:#292524;--primary-deep:#1C1917;--secondary:#78350F;--accent:#C2410C;--indigo:#292524;--indigo-deep:#1C1917;--clay:#78350F;--gold:#C2410C;--sand:#FAF9F6;--paper:#FFFFFF;--ink:#1C1917;--muted:#57534E;--line:#E7E5E4;--ok:#15803D;--warn:#92400E}.palette-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:16px}.palette-card{background:#fff;border:1px solid var(--admin-border);border-radius:var(--admin-radius);padding:20px;cursor:pointer;transition:all .15s ease;position:relative}.palette-card:hover{border-color:#111}.palette-card.active{border:2px solid #111;box-shadow:0 4px 14px rgba(0,0,0,.06)}.palette-swatches{display:flex;height:36px;border-radius:4px;overflow:hidden;margin:12px 0;border:1px solid rgba(0,0,0,.1)}.palette-swatch{flex:1;height:100%}.palette-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.palette-title{margin:0;font-size:1.05rem;font-weight:600}.palette-desc{margin:0;font-size:.85rem;color:var(--admin-muted)}.palette-actions{margin-top:28px}.swatch-default-0{background:#111}.swatch-default-1{background:#4b5563}.swatch-default-2{background:#2563eb}.swatch-default-3{background:#f4f4f5}.swatch-monochrome-0{background:#111}.swatch-monochrome-1{background:#4b5563}.swatch-monochrome-2{background:#2563eb}.swatch-monochrome-3{background:#f4f4f5}.swatch-indigo-0{background:#10243b}.swatch-indigo-1{background:#1e3a8a}.swatch-indigo-2{background:#d97706}.swatch-indigo-3{background:#f8fafc}.swatch-slate-0{background:#0f172a}.swatch-slate-1{background:#334155}.swatch-slate-2{background:#0284c7}.swatch-slate-3{background:#f1f5f9}.swatch-sepia-0{background:#1c1917}.swatch-sepia-1{background:#78350f}.swatch-sepia-2{background:#c2410c}.swatch-sepia-3{background:#faf9f6}.universal-nav a{position:relative;text-decoration:none;display:inline-block;padding-bottom:2px;transition:color .2s ease}.universal-nav a::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background-color:var(--accent);transform:scaleX(0);transform-origin:right center;transition:transform .42s cubic-bezier(.25, 1, .5, 1);border-radius:1px}.universal-nav a:hover{color:#fff!important}.universal-nav a.current-site::after,.universal-nav a:hover::after{transform:scaleX(1);transform-origin:left center}.universal-nav a.current-site{color:#fff!important;border-bottom:none!important}.site-header .header-brand{position:relative;text-decoration:none;display:inline-flex;align-items:center}.site-header .header-brand .brand-title{position:relative;display:inline-block;color:var(--primary)!important;padding-bottom:2px;transition:color .2s ease}.site-header .header-brand .brand-title::after{content:'';position:absolute;bottom:-2px;left:0;width:100%;height:2.5px;background-color:var(--accent);transform:scaleX(0);transform-origin:right center;transition:transform .42s cubic-bezier(.25, 1, .5, 1);border-radius:1px}.site-header .header-brand:hover .brand-title::after{transform:scaleX(1);transform-origin:left center}.site-header .header-nav .nav-item{position:relative;text-decoration:none;color:var(--ink);font-weight:500;padding:8px 12px;background:0 0!important;transition:color .2s ease}.site-header .header-nav .nav-item::after{content:'';position:absolute;bottom:2px;left:10px;right:10px;height:2px;background-color:var(--accent);transform:scaleX(0);transform-origin:right center;transition:transform .42s cubic-bezier(.25, 1, .5, 1);border-radius:1px}.site-header .header-nav .nav-item:hover{color:var(--primary)!important;background:0 0!important}.site-header .header-nav .nav-item.active::after,.site-header .header-nav .nav-item:hover::after{transform:scaleX(1);transform-origin:left center}.site-header .header-nav .nav-item.active{color:var(--primary)!important;font-weight:700!important;background:0 0!important}.offcanvas-nav-item{position:relative;text-decoration:none;transition:color .2s ease,background .2s ease}.offcanvas-nav-item span{position:relative;display:inline-block;padding-bottom:2px}.offcanvas-nav-item span::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background-color:var(--accent);transform:scaleX(0);transform-origin:right center;transition:transform .42s cubic-bezier(.25, 1, .5, 1);border-radius:1px}.offcanvas-nav-item.active span::after,.offcanvas-nav-item:hover span::after{transform:scaleX(1);transform-origin:left center}.offcanvas-nav-item.active,.offcanvas-nav-item:hover{color:var(--primary)!important;background-color:var(--sand)!important}.dropdown-menu .dropdown-item:hover{background-color:var(--sand)!important;color:var(--primary)!important}::selection{background:var(--sand)!important;color:var(--primary)!important}::-moz-selection{background:var(--sand)!important;color:var(--primary)!important}a{transition:color var(--transition)}a:hover{color:var(--accent)}.admin-btn-primary,.btn-create-song,.btn-dark,.btn-primary,.dict-cta-btn,.dict-spotlight-btn,.hero-search-btn,.search-btn{background-color:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important;transition:background-color var(--transition),border-color var(--transition),opacity var(--transition)}.admin-btn-primary:hover,.btn-create-song:hover,.btn-dark:hover,.btn-primary:hover,.dict-cta-btn:hover,.dict-spotlight-btn:hover,.hero-search-btn:hover,.search-btn:hover{background-color:var(--secondary)!important;border-color:var(--secondary)!important;color:#fff!important}.btn-clay,.btn-secondary{background-color:var(--secondary)!important;border-color:var(--secondary)!important;color:#fff!important}.btn-clay:hover,.btn-secondary:hover{background-color:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important}.btn-accent,.btn-gold{background-color:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}.btn-accent:hover,.btn-gold:hover{background-color:var(--secondary)!important;border-color:var(--secondary)!important;color:#fff!important}.btn-outline-dark,.btn-outline-primary{color:var(--primary)!important;border-color:var(--primary)!important;background-color:transparent!important;transition:all var(--transition)}.btn-outline-secondary{color:var(--secondary)!important;border-color:var(--secondary)!important;background-color:transparent!important;transition:all var(--transition)}.btn-outline-dark:hover,.btn-outline-primary:hover{background-color:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important}.btn-outline-secondary:hover{background-color:var(--secondary)!important;border-color:var(--secondary)!important;color:#fff!important}.btn-theme-action{color:var(--primary)!important}.btn-theme-ghost:hover{background:rgba(255,255,255,.18)!important}.hero-eyebrow{color:var(--accent)!important}.hero-tags .hero-tag-link:hover{background-color:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}.hero-add-song-btn:hover{background-color:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}.list-title i{color:var(--accent)!important}.recent-list a:hover{color:var(--secondary)!important}.spotlight-card .spotlight-title a:hover{color:var(--accent)!important}.spotlight-card .spotlight-yo{color:var(--primary)!important}.spotlight-card .spotlight-quote{border-left:3px solid var(--accent)!important}.dict-spotlight-audio-btn{background-color:var(--secondary)!important;border-color:var(--secondary)!important;color:#fff!important;font-weight:600!important;border-radius:6px!important;padding:6px 14px!important;transition:all .35s cubic-bezier(.25, 1, .5, 1)!important}.dict-spotlight-audio-btn i,.dict-spotlight-audio-btn span{color:#fff!important}.dict-spotlight-audio-btn.playing,.dict-spotlight-audio-btn:focus,.dict-spotlight-audio-btn:hover{background-color:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important;box-shadow:0 4px 10px rgba(0,0,0,.12)!important}.dict-spotlight-audio-btn.playing i,.dict-spotlight-audio-btn.playing span,.dict-spotlight-audio-btn:focus i,.dict-spotlight-audio-btn:focus span,.dict-spotlight-audio-btn:hover i,.dict-spotlight-audio-btn:hover span{color:#fff!important}.dict-spotlight-read-btn{background-color:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important;font-weight:600!important;border-radius:6px!important;padding:6px 14px!important;text-decoration:none!important;transition:all .35s cubic-bezier(.25, 1, .5, 1)!important}.dict-spotlight-read-btn span{color:#fff!important}.dict-spotlight-read-btn:focus,.dict-spotlight-read-btn:hover{background-color:var(--secondary)!important;border-color:var(--secondary)!important;color:#fff!important;box-shadow:0 4px 10px rgba(0,0,0,.12)!important}.dict-spotlight-read-btn:focus span,.dict-spotlight-read-btn:hover span{color:#fff!important}.alpha-heading{color:var(--secondary)!important}.alpha-item.active,.alpha-item:hover{background-color:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important}.dict-section-title{color:var(--primary)!important}.dict-section-link{color:var(--secondary)!important;transition:color .2s ease}.dict-section-link:hover{color:var(--accent)!important}.sleek-song-title-link:hover{color:var(--primary)!important}.sleek-quote-yo{color:var(--primary)!important}.sleek-song-quote{border-left-color:var(--accent)!important}.sleek-genre-pill{color:var(--secondary)!important;background-color:var(--sand)!important;border-color:var(--line)!important}.sleek-genre-pill:hover{background-color:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important}.sleek-read-btn{color:var(--secondary)!important;background-color:var(--sand)!important;border-color:var(--line)!important;transition:all .35s cubic-bezier(.25, 1, .5, 1)!important}.sleek-read-btn i,.sleek-read-btn span{color:var(--secondary)!important;transition:color .35s cubic-bezier(.25, 1, .5, 1)!important}.sleek-read-btn:hover{background-color:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important}.sleek-read-btn:hover i,.sleek-read-btn:hover span{color:#fff!important}.tone-compact-badge.tone-high{color:var(--accent)!important}.tone-compact-badge.tone-mid{color:var(--primary)!important}.tone-compact-badge.tone-low{color:var(--secondary)!important}.tone-compact-info .tone-name{color:var(--ink)!important}.tone-compact-info .tone-solfege-tag{color:var(--secondary)!important}.theme-highlight-card{background-color:var(--primary)!important;border-color:var(--primary)!important}.feature-cards-section .solid-card:not(.theme-highlight-card) .feature-icon{color:var(--secondary)!important}.site-footer{background-color:var(--primary-deep)!important}.site-footer .footer-brand-title{color:#fff!important}.site-footer .footer-title{color:var(--accent)!important}.site-footer .footer-links a:hover{color:var(--accent)!important}.site-footer .footer-bottom a:hover{color:var(--accent)!important}[data-theme=default] .hero-banner,[data-theme=default] .hero-standard,[data-theme=default] .pagehead,[data-theme=default] .songhead{background-color:#111;background-image:linear-gradient(to right,rgba(15,15,17,.95) 0,rgba(15,15,17,.88) 45%,rgba(15,15,17,.35) 80%,rgba(15,15,17,.15) 100%),url('../img/hero-yoruba-artist.jpg')}[data-theme=indigo] .hero-banner,[data-theme=indigo] .hero-standard,[data-theme=indigo] .pagehead,[data-theme=indigo] .songhead{background-color:#10243b;background-image:linear-gradient(to right,rgba(16,36,59,.96) 0,rgba(16,36,59,.88) 45%,rgba(16,36,59,.35) 80%,rgba(16,36,59,.15) 100%),url('../img/hero-yoruba-artist.jpg')}[data-theme=slate] .hero-banner,[data-theme=slate] .hero-standard,[data-theme=slate] .pagehead,[data-theme=slate] .songhead{background-color:#0f172a;background-image:linear-gradient(to right,rgba(15,23,42,.96) 0,rgba(15,23,42,.88) 45%,rgba(15,23,42,.35) 80%,rgba(15,23,42,.15) 100%),url('../img/hero-yoruba-artist.jpg')}[data-theme=sepia] .hero-banner,[data-theme=sepia] .hero-standard,[data-theme=sepia] .pagehead,[data-theme=sepia] .songhead{background-color:#1c1917;background-image:linear-gradient(to right,rgba(28,25,23,.96) 0,rgba(28,25,23,.88) 45%,rgba(28,25,23,.35) 80%,rgba(28,25,23,.15) 100%),url('../img/hero-yoruba-artist.jpg')}.admin-sidebar-nav a.active{background-color:var(--primary)!important;color:#fff!important}.admin-sidebar-nav a.active .admin-nav-icon,.admin-sidebar-nav a.active svg{color:#fff!important}.admin-sidebar-nav a:hover:not(.active){background-color:var(--sand)!important;color:var(--primary)!important}.admin-sidebar-nav a:hover:not(.active) .admin-nav-icon,.admin-sidebar-nav a:hover:not(.active) svg{color:var(--primary)!important}.admin-stat-card .num{color:var(--primary)!important}.admin-card-cta,.admin-section-block,.admin-stat-card,.admin-table-wrap{border-color:var(--line)!important}.admin-table th{background-color:var(--sand)!important;color:var(--muted)!important;border-bottom:1px solid var(--line)!important}.admin-table td{border-bottom:1px solid var(--line)!important}.admin-topbar{border-bottom:1px solid var(--line)!important}.admin-sidebar{border-right:1px solid var(--line)!important}.btn-action-delete:hover,.btn-action-edit:hover{background-color:var(--secondary)!important;border-color:var(--secondary)!important;color:#fff!important}.palette-card.active{border-color:var(--primary)!important;box-shadow:0 4px 14px rgba(0,0,0,.08)}.form-control:focus,.form-select:focus,.search-input-group:focus-within,input:focus,select:focus,textarea:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px rgba(0,0,0,.04)!important}