@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{font-family:Pretendard,Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.45;font-weight:400;color:#0f172a;background:radial-gradient(circle at 10% 0%,#dbeafe,transparent 28%),#f8fafc;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px}a{color:#1d4ed8}:root{color-scheme:dark;--bottom-player-safe: 130px;--mobile-nav-height: 64px;--bottom-player-safe-mobile: 270px;--bg-0: #0b0f1a;--bg-1: #0f1625;--bg-2: #131c2f;--panel: rgba(18, 24, 39, .78);--panel-border: rgba(148, 163, 184, .12);--text-0: #f8fafc;--text-1: #cbd5f5;--text-2: #94a3b8;--accent: #22d3ee;--accent-2: #38bdf8;--accent-3: #7c3aed;--danger: #ef4444;--success: #10b981;--shadow-1: none}*{box-sizing:border-box}html,body,#root{min-height:100%;background:radial-gradient(1200px 600px at 20% -10%,rgba(124,58,237,.18),transparent 60%),radial-gradient(900px 500px at 80% 0%,rgba(34,211,238,.14),transparent 55%),linear-gradient(180deg,var(--bg-1),var(--bg-0) 65%)}body{margin:0;font-family:Space Grotesk,system-ui,-apple-system,sans-serif;color:var(--text-0);background:radial-gradient(1200px 600px at 20% -10%,rgba(124,58,237,.18),transparent 60%),radial-gradient(900px 500px at 80% 0%,rgba(34,211,238,.14),transparent 55%),linear-gradient(180deg,var(--bg-1),var(--bg-0) 65%)}#root{padding-top:0;min-height:100vh}.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;align-self:start;height:100vh;display:flex;flex-direction:column;padding:1.6rem 1.2rem;border-right:1px solid rgba(148,163,184,.12);background:#070a12d9;overflow:hidden}.sidebar-logo{display:block;font-size:1.6rem;font-weight:700;letter-spacing:.12em;margin-bottom:1.4rem;text-align:center;text-decoration:none;color:var(--text-0)}.sidebar-activity{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:1rem;padding:.3rem .55rem;border-radius:999px;font-size:.75rem;font-weight:700;border:1px solid rgba(148,163,184,.24);color:var(--text-1);background:#0f172a99}.sidebar-activity-btn{width:100%;text-align:left;cursor:pointer}.sidebar-activity .dot{width:.42rem;height:.42rem;border-radius:999px;background:#94a3b8d9}.sidebar-activity.processing{border-color:#22d3ee5c;color:#67e8f9}.sidebar-activity.processing .dot{background:#22d3ee;animation:sidebar-pulse 1s ease-in-out infinite}.sidebar-activity.done{border-color:#22c55e5c;color:#86efac}.sidebar-activity.done .dot{background:#22c55e}.sidebar-activity.error{border-color:#fb71855c;color:#fda4af}.sidebar-activity.error .dot{background:#fb7185}@keyframes sidebar-pulse{0%,to{opacity:.65;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}.sidebar-profile{margin-bottom:1.6rem}.sidebar-nav{display:grid;gap:.6rem}.sidebar-statuses{margin-top:auto;display:grid;gap:.5rem;padding-top:1rem;padding-bottom:calc(var(--bottom-player-safe) + .75rem)}.sidebar-nav a{text-decoration:none;color:var(--text-2);font-weight:600;padding:.4rem .5rem;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.sidebar-nav a.active{color:var(--text-0);background:#94a3b826}.sidebar-nav-badge{min-width:1.2rem;height:1.2rem;border-radius:999px;background:#22d3ee38;color:#67e8f9;border:1px solid rgba(34,211,238,.45);display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;line-height:1;padding:0 .25rem}.app{width:100%;margin:0;padding:1.4rem 2rem calc(var(--bottom-player-safe) + 1.4rem);display:grid;gap:1rem;min-height:calc(100vh - 4rem);box-sizing:border-box;scroll-padding-bottom:calc(var(--bottom-player-safe) + 1.4rem)}.mobile-bottom-nav{display:none}.hero{position:relative;padding:1.4rem 1.6rem;border-radius:20px;background:linear-gradient(135deg,#0f172ae6,#1e293bd9),radial-gradient(600px 240px at 70% -20%,rgba(56,189,248,.2),transparent 60%);border:1px solid rgba(148,163,184,.2);box-shadow:var(--shadow-1)}.profile-menu{position:relative}.profile-button{display:inline-flex;align-items:center;gap:.6rem;background:#0f172abf;border:1px solid rgba(148,163,184,.25);padding:.35rem .6rem;border-radius:999px;color:var(--text-0)}.profile-button img{width:32px;height:32px;border-radius:999px;object-fit:cover}.avatar-fallback{width:32px;height:32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#38bdf833;color:var(--text-0);font-size:.9rem;font-weight:700}.avatar-fallback.large{width:64px;height:64px;font-size:1.5rem}.profile-name{font-weight:600;font-size:.92rem;max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-caret{color:var(--text-2);font-size:.8rem}.profile-dropdown{position:absolute;right:0;top:calc(100% + .5rem);background:#0f172af2;border:1px solid rgba(148,163,184,.2);border-radius:12px;padding:.4rem;display:grid;gap:.2rem;min-width:160px;z-index:20}.profile-dropdown button{width:100%;background:transparent;color:var(--text-1);padding:.5rem .65rem;text-align:left;border-radius:8px;font-weight:600}.profile-dropdown a{display:block;width:100%;background:transparent;color:var(--text-1);padding:.5rem .65rem;text-align:left;border-radius:8px;font-weight:600;text-decoration:none}.profile-dropdown button:hover,.profile-dropdown a:hover{background:#94a3b826;color:var(--text-0)}.sign-in-btn{background:#f8fafc;color:#0b1120;border-radius:14px;padding:.55rem 1rem;font-weight:700;display:inline-flex;align-items:center;gap:.45rem;border:none;width:100%;justify-content:center}.sign-in-btn span{font-size:1rem}.hero h1{margin:.35rem 0 .3rem;font-size:clamp(1.6rem,3.2vw,2.4rem);line-height:1.15;letter-spacing:-.02em}.hero p{margin:0;color:var(--text-1)}.credit-line{margin-top:.75rem!important;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.credit-warning{margin:.45rem 0 0;padding:.5rem .7rem;border-radius:10px;border:1px solid rgba(248,113,113,.55);background:#7f1d1d47;color:#fecaca;font-size:.9rem;font-weight:700}.auth-chip{padding:.25rem .6rem;border-radius:999px;border:1px solid rgba(148,163,184,.2);background:#0f172a73;font-size:.78rem;color:var(--text-1)}.payment-modal{width:min(520px,92vw)}.payment-modal-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.payment-widget{display:grid;gap:.8rem}.payment-actions{margin-top:1rem;display:flex;gap:.6rem;justify-content:flex-end;flex-wrap:wrap}.profile-panel,.account-panel{display:grid;gap:1rem}.account-plan-panel{background:radial-gradient(900px 320px at 50% -10%,rgba(244,114,182,.16),transparent 60%),linear-gradient(180deg,#161c28d9,#0a0e18e6)}.account-head h2{margin:0;font-size:clamp(1.5rem,2.4vw,2rem)}.account-head p{margin:.35rem 0 0;color:var(--text-2)}.billing-toggle{display:inline-flex;gap:.45rem;align-items:center}.billing-toggle button{padding:.45rem .8rem;border-radius:999px;border:1px solid rgba(148,163,184,.25);background:#0f172a73;color:var(--text-1);font-weight:600}.billing-toggle button.active{background:#f472b638;border-color:#f472b68c;color:#ffe4f3}.save-badge{margin-left:.35rem;font-size:.7rem;background:#f472b647;padding:.2rem .45rem;border-radius:999px}.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.plan-card{border:1px solid rgba(148,163,184,.2);border-radius:18px;padding:1rem;background:linear-gradient(180deg,#111827b8,#060a14e0);display:grid;gap:.75rem}.plan-card.featured{border-color:#f472b680;box-shadow:inset 0 0 0 1px #f472b62e}.plan-card header{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.plan-card h3{margin:0;font-size:1.5rem}.plan-badge{font-size:.72rem;border-radius:999px;padding:.2rem .45rem;background:#f472b638;color:#ffd4ec;white-space:nowrap}.plan-price{margin:0;font-size:2rem;font-weight:700}.plan-price small{font-size:1rem;color:var(--text-2)}.plan-card ul{margin:0;padding-left:1rem;color:var(--text-1);display:grid;gap:.35rem}.profile-card{display:flex;align-items:center;gap:1rem}.profile-email{margin:0;color:var(--text-2)}.profile-username-editor{margin-top:.6rem;display:flex;align-items:center;gap:.4rem}.profile-username-editor input{min-width:180px;max-width:280px;padding:.35rem .55rem;border-radius:8px;border:1px solid rgba(148,163,184,.35);background:#0f172a80;color:var(--text-0)}.profile-error{margin-top:.45rem;margin-bottom:0;color:#fda4af;font-size:.9rem}.admin-panel{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:1rem;min-height:auto;align-content:flex-start}.admin-panel h2{margin:0}.admin-tabs{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin:0}.admin-tabs-spacer{flex:1 1 auto;min-width:0}.admin-tab-btn{background:#94a3b826;color:var(--text-1);border:1px solid rgba(148,163,184,.2);padding:.45rem .9rem;border-radius:999px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;min-height:38px;width:auto;white-space:nowrap;line-height:1;gap:.35rem}.admin-tab-btn.active{background:#22d3ee33;border-color:#22d3ee66;color:var(--text-0)}.admin-refresh-btn{width:38px;min-width:38px;padding:0;font-size:1rem}.admin-tab-badge{min-width:1.05rem;height:1.05rem;border-radius:999px;background:#22d3ee40;color:#67e8f9;border:1px solid rgba(34,211,238,.45);display:inline-flex;align-items:center;justify-content:center;font-size:.66rem;line-height:1;padding:0 .2rem}.admin-table{display:grid;gap:.35rem}.admin-content{display:block;margin-top:.25rem}.admin-users-wrap{display:grid;gap:1rem}.admin-user-actions{display:flex;align-items:center;gap:.4rem}.admin-credit-cell{display:inline-flex;align-items:center;gap:.35rem;justify-content:flex-start;overflow:visible}.admin-credit-mode{display:inline-flex;gap:.25rem}.admin-inline-input{min-width:84px;padding:.3rem .45rem;border-radius:8px;border:1px solid rgba(148,163,184,.35);background:#0f172a80;color:var(--text-0)}.admin-credit-logs h3{margin:0 0 .5rem}.admin-credit-log-head,.admin-credit-log-row{grid-template-columns:minmax(0,1.5fr) minmax(0,1.1fr) minmax(0,1.1fr) 90px minmax(0,1.4fr)}.admin-action-log-head,.admin-action-log-row{grid-template-columns:minmax(0,1.4fr) minmax(0,1.1fr) minmax(0,.9fr) minmax(0,1fr) minmax(0,2fr)}.admin-action-target{display:grid;gap:.12rem}.admin-action-target small{color:var(--text-2);font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-error-log-head,.admin-error-log-row{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,.8fr) minmax(0,.9fr) minmax(0,1.4fr) minmax(0,2fr)}.admin-jobs-head,.admin-jobs-row{grid-template-columns:minmax(0,1.2fr) minmax(0,1.5fr) 80px 90px minmax(0,1.8fr)}.admin-refund-head,.admin-refund-row{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1.5fr) 80px 80px 70px minmax(0,1.2fr)}.admin-table-head,.admin-table-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) 120px 120px;gap:.6rem;align-items:center}.admin-table-head{color:var(--text-2);font-size:.85rem;padding:0 .7rem}.admin-table-row{background:#0f172a99;border:1px solid rgba(148,163,184,.1);border-radius:10px;padding:.5rem .7rem}.admin-table-row>span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-table-row summary{list-style:none;display:grid;grid-template-columns:inherit;gap:inherit;align-items:center;cursor:pointer}.admin-table-row summary::-webkit-details-marker{display:none}.admin-gpt-detail{margin-top:.55rem;padding-top:.55rem;border-top:1px solid rgba(148,163,184,.16);display:grid;gap:.35rem}.admin-gpt-detail p{margin:0;color:var(--text-1);font-size:.86rem}.admin-gpt-detail pre{margin:.2rem 0 0;padding:.6rem;border-radius:8px;background:#02061799;border:1px solid rgba(148,163,184,.16);color:var(--text-1);max-height:220px;overflow:auto;white-space:pre-wrap}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.78rem;color:var(--text-2)}.admin-users-head,.admin-users-row{grid-template-columns:minmax(0,1.7fr) minmax(120px,1fr) minmax(0,.95fr) 110px minmax(240px,1.4fr)}.admin-user-email{justify-self:start;max-width:100%}.admin-track-head,.admin-track-row{grid-template-columns:40px minmax(260px,2fr) minmax(140px,1fr) minmax(200px,1.3fr) minmax(140px,1fr) 170px}.admin-track-index{text-align:center;color:var(--text-2);font-size:.82rem;font-weight:700}.admin-track-main{display:flex;align-items:center;gap:.6rem;min-width:0}.admin-track-cover{width:48px;height:48px;border-radius:10px;overflow:hidden;border:1px solid rgba(148,163,184,.22);background:#0f172a99;display:inline-flex;align-items:center;justify-content:center;color:var(--text-2);flex:0 0 48px}.admin-track-cover img{width:100%;height:100%;object-fit:cover;display:block}.admin-track-text{display:grid;gap:.15rem;min-width:0}.admin-track-text strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-track-text small{color:var(--text-2);font-size:.74rem}.admin-track-actions{display:inline-flex;align-items:center;gap:.35rem}.admin-status-video{font-weight:700}.admin-status-video.yes{color:#22c55e}.admin-status-video.no{color:#f59e0b}.admin-security-summary{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:.7rem}.admin-security-wrap{display:grid;gap:.8rem}.admin-security-card{background:#0f172a99;border:1px solid rgba(148,163,184,.15);border-radius:12px;padding:.85rem 1rem;display:grid;gap:.3rem;text-align:left}button.admin-security-card{cursor:pointer}.admin-security-card.active{border-color:#22d3ee80;box-shadow:inset 0 0 0 1px #22d3ee3d}.admin-security-label{margin:0;color:var(--text-2);font-size:.82rem}.admin-security-value{font-size:1.45rem;line-height:1.1;color:#e2f3ff;text-shadow:0 0 10px rgba(34,211,238,.18)}.admin-security-head,.admin-security-row{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1.6fr) 70px minmax(0,1fr) minmax(0,1.5fr)}.admin-security-empty{color:var(--text-2);font-size:.9rem;margin:.2rem 0 0}.admin-security-block-wrap{display:grid;gap:.6rem}.admin-security-block-form{display:grid;grid-template-columns:minmax(160px,220px) minmax(180px,260px) auto;gap:.5rem;align-items:center}.admin-security-block-list{display:grid;gap:.35rem}.admin-security-block-item{display:grid;grid-template-columns:minmax(160px,240px) minmax(120px,1fr) auto;gap:.5rem;align-items:center;padding:.45rem .6rem;border:1px solid rgba(148,163,184,.16);border-radius:10px;background:#0f172a80}.admin-security-block-item small{color:var(--text-2)}.admin-payments-head,.admin-payments-row{grid-template-columns:minmax(0,1.25fr) minmax(0,1.6fr) minmax(0,1fr) 110px 90px 80px}@media(max-width:980px){.admin-security-summary{grid-template-columns:repeat(2,minmax(160px,1fr))}}.admin-status-visibility{font-weight:700}.admin-status-visibility.public{color:#38bdf8}.admin-status-visibility.private{color:#fb7185}.admin-small-btn{min-height:30px;padding:.3rem .6rem;border-radius:8px;background:#94a3b833;color:var(--text-0);border:1px solid rgba(148,163,184,.2)}.admin-small-btn.active{border-color:#22d3ee73;background:#22d3ee2e}.admin-small-btn.danger{background:#ef44442e;border-color:#ef444459;color:#fecaca}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.8rem}.stat-card{background:#0f172a99;border:1px solid rgba(148,163,184,.1);border-radius:12px;padding:.8rem;display:grid;gap:.4rem}.stat-card-btn{text-align:left;cursor:pointer;color:inherit}.stat-card-btn.active{border-color:#22d3ee73;background:#22d3ee24}.stat-card p,.stat-card strong{margin:0}.profile-panel .secondary,.account-panel .secondary{width:fit-content}.home-panel{display:grid;gap:.8rem}.home-page{display:grid;gap:2rem}.home-hero{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:1.6rem;align-items:center;padding:1.4rem;border-radius:20px;background:#0c101cbf;border:1px solid rgba(148,163,184,.18)}.home-hero-cover{position:relative}.home-hero-cover img,.home-hero-cover .cover-fallback{width:100%;border-radius:16px;height:220px;object-fit:cover;display:block}.home-play{position:absolute;left:50%;bottom:12px;transform:translate(-50%);padding:.4rem .8rem;border-radius:999px}.home-hero-meta h2{margin:0 0 .6rem;font-size:1.6rem}.home-hero-meta p{margin:0;color:var(--text-2)}.home-hero-actions{margin-top:1rem;display:flex;gap:.6rem;flex-wrap:wrap}.home-row{display:grid;gap:.8rem}.home-row-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.home-row-head h3{margin:0}.home-row-more{background:transparent;color:var(--text-2);border:none;font-weight:600;padding:0}.home-row-nav{display:inline-flex;align-items:center;gap:.5rem}.home-row-arrow{width:36px;height:36px;min-width:36px;border-radius:999px;border:1px solid rgba(148,163,184,.24);background:#0f172ab8;color:#f8fafc;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:1.4rem;line-height:1}.home-row-list{display:flex;gap:.9rem;overflow-x:auto;padding:0 .6rem .4rem;margin:0 -.6rem;scroll-padding-inline:.6rem;scroll-snap-type:none;align-items:stretch;cursor:grab;-webkit-user-select:none;user-select:none;overscroll-behavior-x:contain}.home-row-list.is-grabbed{cursor:grabbing}.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.no-scrollbar::-webkit-scrollbar{display:none}.home-card{background:transparent;border:none;border-radius:0;padding:0;text-align:left;display:grid;gap:.8rem;color:inherit;width:230px!important;min-width:230px!important;max-width:230px!important;flex:0 0 230px!important;scroll-snap-align:start;overflow:hidden}.home-row-list>.home-card{width:230px!important;min-width:230px!important;max-width:230px!important;flex:0 0 230px!important}.home-card-cover{position:relative;width:230px!important;min-width:230px!important;max-width:230px!important;height:380px;display:block;border-radius:18px;overflow:hidden;padding:0;border:none;cursor:pointer;appearance:none;-webkit-appearance:none}.home-card-cover-frame{position:absolute;inset:0;border-radius:inherit;overflow:hidden;display:block;background:radial-gradient(320px 220px at 20% 20%,rgba(56,189,248,.2),transparent 55%),radial-gradient(260px 220px at 85% 10%,rgba(244,114,182,.2),transparent 60%),linear-gradient(180deg,#0f172a,#020617);background-repeat:no-repeat;background-size:cover;background-position:center center;transform:translateZ(0)}.home-card-image,.home-card-video,.home-cover-fallback{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none;display:block}.home-card-image{object-fit:cover;object-position:center center;border-radius:inherit;min-width:100%;min-height:100%}.home-card-video{object-fit:cover;object-position:center center;border-radius:inherit;background:#020617}.home-cover-fallback{background:radial-gradient(320px 220px at 20% 20%,rgba(56,189,248,.2),transparent 55%),radial-gradient(260px 220px at 85% 10%,rgba(244,114,182,.2),transparent 60%),linear-gradient(180deg,#0f172a,#020617)}.home-card-badges{position:absolute;right:10px;bottom:10px;display:inline-flex;gap:.5rem;z-index:2}.home-card-badge{padding:.35rem .7rem;border-radius:999px;background:#1e293bc7;color:#f8fafc;font-size:.8rem;font-weight:700}.home-card-badge.accent{color:#f472b6}.home-card-badge.icon{padding-inline:.5rem}.home-card-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.95);width:84px;height:84px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#334155d1;color:#f8fafc;font-size:2rem;opacity:0;transition:opacity .2s ease,transform .2s ease;pointer-events:none}.home-card:hover .home-card-play,.home-card.playing .home-card-play{opacity:1;transform:translate(-50%,-50%) scale(1)}.home-playing-bars{display:inline-flex;align-items:flex-end;gap:.24rem;height:1.1rem;transition:opacity .16s ease}.home-playing-bars span{width:.24rem;border-radius:999px;background:#22d3ee;animation:home-eq .95s ease-in-out infinite}.home-playing-bars span:nth-child(1){height:.55rem;animation-delay:0s}.home-playing-bars span:nth-child(2){height:1rem;animation-delay:.12s}.home-playing-bars span:nth-child(3){height:.7rem;animation-delay:.24s}.home-playing-pause{position:absolute;inset:0;display:inline-flex;align-items:center;justify-content:center;opacity:0;transition:opacity .16s ease}.home-card.playing:hover .home-playing-bars{opacity:0}.home-card.playing:hover .home-playing-pause{opacity:1}@keyframes home-eq{0%,to{transform:scaleY(.55);opacity:.78}50%{transform:scaleY(1.1);opacity:1}}.home-card-meta{min-width:0}.home-card-meta strong{display:block;font-size:1rem;font-weight:700}.home-card-title-btn{border:none;background:transparent;color:inherit;padding:0;display:block;text-align:left;cursor:pointer;width:100%;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.home-card-title-btn strong{display:block;width:100%;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-card-meta span{display:block;color:var(--text-2);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-card-tags{display:block;width:100%;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-card-stats{color:#cbd5e1d1!important;font-size:.86rem!important}.home-card-stats-row{display:flex;align-items:center;justify-content:flex-start;gap:.8rem}.home-like-btn{border:none;background:transparent;color:#f472b6eb;padding:0;font-size:.86rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;flex:0 0 auto}.home-card-author{color:#f1f5f9!important;font-size:.95rem!important;font-weight:600;width:100%;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.login-modal{width:min(520px,92vw);text-align:center}.login-modal-content{display:grid;gap:.8rem;padding:2rem 1rem 1.2rem}.login-modal-content h2{margin:0;font-size:2rem;letter-spacing:.1em}.login-modal-content p{margin:0;color:var(--text-2)}.google-button{display:flex;justify-content:center;margin-top:.6rem}.tiny-btn{padding:.35rem .6rem;border-radius:8px;background:#94a3b826;font-size:.8rem;border:1px solid rgba(148,163,184,.2);color:var(--text-0)}.eyebrow{margin:0;font-size:.8rem;text-transform:uppercase;letter-spacing:.2em;color:var(--accent)}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:18px;padding:1.1rem;box-shadow:var(--shadow-1);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;align-items:start}.left-col{display:grid;gap:1rem}.form{display:grid;gap:.95rem}.form-head{margin-bottom:.9rem}.form-head h1{margin:.25rem 0 0;font-size:2rem;line-height:1.08}.form label{display:grid;gap:.45rem;font-size:.92rem;font-weight:600;color:var(--text-1)}.inline-actions{display:flex;justify-content:flex-end}.inline-actions .small{padding:.45rem .7rem;font-size:.84rem;border-radius:8px}.label-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.label-with-help{display:inline-flex;align-items:center;gap:.35rem}.help-icon{width:18px;height:18px;border-radius:999px;border:1px solid rgba(148,163,184,.35);display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;color:var(--text-1);cursor:help;position:relative}.help-icon:after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%);background:#080c18eb;color:var(--text-0);padding:.5rem .6rem;border-radius:10px;border:1px solid rgba(148,163,184,.2);width:max-content;max-width:260px;font-size:.75rem;line-height:1.35;opacity:0;pointer-events:none;white-space:normal;z-index:5}.help-icon:hover:after,.help-icon:focus:after{opacity:1}.label-actions{display:inline-flex;gap:.4rem;flex-wrap:wrap}.label-actions .small{padding:.3rem .55rem;font-size:.76rem;border-radius:7px;background:#94a3b82e;color:var(--text-0);border:1px solid rgba(148,163,184,.28);box-shadow:none}.label-actions .small.primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#081018;border:none;box-shadow:none}.label-actions .small.clear{min-width:30px;padding-inline:0;background:#94a3b824;border-color:#94a3b847;color:var(--text-1)}.input-with-clear{position:relative}.input-with-clear .has-clear,.input-with-clear.textarea .has-clear{padding-right:2.2rem}.clear-inside{position:absolute;top:50%;right:.45rem;transform:translateY(-50%);width:22px;height:22px;border-radius:999px;border:1px solid rgba(148,163,184,.32);background:#0f172ab8;color:var(--text-1);display:inline-flex;align-items:center;justify-content:center;padding:0;font-size:.72rem;line-height:1;box-shadow:none}.clear-inside:disabled{opacity:.45;cursor:default}.input-with-clear.textarea .clear-inside{top:.55rem;transform:none}.tag-suggestions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin-top:.55rem}.tag-suggestions .suggestions-refresh{margin-left:auto}.tag-chip{padding:.28rem .62rem;border-radius:999px;border:1px solid rgba(148,163,184,.25);background:#0f172a99;color:var(--text-1);font-size:.72rem;cursor:pointer}.tag-chip:hover{border-color:#22d3ee80;color:var(--text-0)}.mini-btn,a.mini-btn{padding:.35rem .6rem;font-size:.78rem;border-radius:8px;background:#22d3ee2e;color:var(--text-0);border:1px solid rgba(34,211,238,.28);box-shadow:none;text-decoration:none}.mini-btn.ghost{background:#94a3b81f;border-color:#94a3b833;color:var(--text-1)}input,textarea,select,button{font:inherit}input,textarea,select{width:100%;border:1px solid rgba(148,163,184,.2);border-radius:12px;padding:.7rem .8rem;background:#0f172a99;color:var(--text-0)}select{width:100%;min-width:120px;padding-right:2.2rem;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%23E2E8F0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center;background-size:14px 14px}input:focus,textarea:focus,select:focus{outline:2px solid rgba(34,211,238,.6);border-color:#22d3ee99}button{border:none;border-radius:12px;padding:.8rem 1rem;font-weight:700;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#081018;cursor:pointer;box-shadow:none}button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.button-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}button.secondary{background:#94a3b826;color:var(--text-0);border:1px solid rgba(148,163,184,.2);box-shadow:none}button.secondary.bright{background:linear-gradient(135deg,#22c55e,#16a34a);color:#062312;border:none;box-shadow:none}button.accent{background:linear-gradient(135deg,#6d28d9,#4338ca);color:#eef2ff}.inline-actions .small{background:#94a3b833;color:var(--text-0);border:1px solid rgba(148,163,184,.25);box-shadow:none}.status-panel h2{margin-top:0}.usage-block{margin-top:.6rem;padding:.7rem;border-radius:12px;background:#0f172a80;border:1px solid rgba(148,163,184,.18)}.player-block{display:grid;gap:.5rem;margin-top:.75rem}.player-block h3{margin:0}audio{width:100%}details{margin-top:.75rem}pre{margin:.6rem 0 0;padding:.8rem;border-radius:12px;background:#0f172acc;color:var(--text-1);overflow:auto;max-height:240px}.modal-details{margin-top:.4rem;border-radius:12px;border:1px solid rgba(148,163,184,.18);background:#080c1866;padding:.65rem .75rem}.modal-details summary{cursor:pointer;color:var(--text-1);font-weight:600;list-style:none}.modal-details summary::-webkit-details-marker{display:none}.modal-details summary:after{content:"▾";float:right;color:var(--text-2)}.modal-details[open] summary:after{content:"▴"}.modal-details p{margin:.6rem 0 0;color:var(--text-2)}.album-panel{position:sticky;top:1rem;min-height:calc(100vh - var(--bottom-player-safe) - 2rem)}.generator-panel{min-height:calc(100vh - var(--bottom-player-safe) - 2rem)}.album-panel-head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.album-tools{display:flex;align-items:center;gap:.35rem;color:var(--text-2);font-size:.9rem}.album-panel-head h2{margin:0 0 .4rem}.album-panel-head p{margin:0;color:var(--text-2);font-size:.9rem}.empty-text{margin:.5rem 0 0;color:var(--text-2)}.album-empty-state{min-height:170px;margin-top:.6rem;border:1px dashed rgba(148,163,184,.28);border-radius:14px;background:#0f172a47;padding:1rem;display:grid;align-content:center;justify-items:start;gap:.45rem}.empty-subtext{margin:0;color:var(--text-2);font-size:.92rem}.album-empty-cta{min-height:34px;padding:.35rem .9rem}.album-list{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}.album-list li{border:1px solid rgba(148,163,184,.18);border-radius:14px;padding:.75rem;display:grid;grid-template-columns:78px 1fr auto;gap:.7rem;align-items:center;background:var(--bg-2)}.album-list li.active{border-color:#22d3ee99;background:var(--bg-1)}.album-list li strong{display:block}.album-meta{min-width:0}.album-meta strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.title-row{display:flex;align-items:center;gap:.35rem;flex-wrap:nowrap;min-width:0}.title-link{background:none;border:none;padding:0;color:inherit;cursor:pointer;font:inherit;text-align:left;box-shadow:none;min-width:0;max-width:100%}.title-link:focus,.title-link:focus-visible{outline:none;box-shadow:none}.title-link strong{color:var(--text-0);max-width:100%}.title-edit-row{display:grid;grid-template-columns:1fr auto auto;gap:.25rem}.title-edit-row input{min-width:0;padding:.35rem .45rem;border-radius:7px}.icon-btn{width:24px;height:24px;padding:0;border-radius:6px;font-size:.78rem;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--text-1);border:1px solid rgba(148,163,184,.35)}.icon-btn.edit{background:transparent}.icon-btn.ghost{background:transparent;color:var(--text-1);border-color:#94a3b859}.icon-btn.ghost.active{background:transparent;color:var(--text-0);border-color:#22d3ee99}.icon-btn.save{background:transparent;color:#ecfdf5;border-color:#10b98199}.icon-btn.cancel{background:transparent;color:#fee2e2;border-color:#ef444499}.album-meta-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:.2rem}.album-meta-row p{margin:0;color:var(--text-2);font-size:.84rem}.album-meta-actions{display:inline-flex;gap:.35rem;flex-wrap:wrap}.cover-button{position:relative;width:72px;height:72px;border-radius:14px;overflow:hidden;padding:0;border:1px solid rgba(148,163,184,.2);background:var(--bg-2)}.cover-button img,.cover-fallback{width:100%;height:100%;display:block;object-fit:cover}.cover-fallback{background:linear-gradient(135deg,#22d3ee66,#7c3aed66)}.cover-fallback.small{width:42px;height:42px;border-radius:8px}.play-overlay{position:absolute;inset:0;display:inline-flex;align-items:center;justify-content:center;background:#02061799;opacity:0;transition:opacity .2s ease;font-size:1rem;color:#fff;pointer-events:none}.cover-button:hover .play-overlay,.album-list li.active .play-overlay{opacity:1}.list-playing-bars{display:inline-flex;align-items:flex-end;gap:.18rem;height:.95rem;transition:opacity .16s ease}.list-playing-bars span{width:.18rem;border-radius:999px;background:#22d3ee;animation:home-eq .95s ease-in-out infinite}.list-playing-bars span:nth-child(1){height:.48rem;animation-delay:0s}.list-playing-bars span:nth-child(2){height:.9rem;animation-delay:.12s}.list-playing-bars span:nth-child(3){height:.62rem;animation-delay:.24s}.list-playing-pause{position:absolute;inset:0;display:inline-flex;align-items:center;justify-content:center;opacity:0;transition:opacity .16s ease}.cover-button:hover .list-playing-bars{opacity:0}.cover-button:hover .list-playing-pause{opacity:1}.loading-overlay{position:absolute;inset:0;display:grid;place-items:center;background:#02061780;z-index:2}.spinner{width:20px;height:20px;border-radius:999px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.cover-duration{position:absolute;right:4px;bottom:4px;font-size:.68rem;background:#0f172ac7;padding:.08rem .3rem;border-radius:999px;color:#fff}.modal-backdrop{position:fixed;inset:0;background:#020617b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:80;display:grid;place-items:center;padding:1.5rem}.modal-card{width:min(1120px,95vw);background:#0f172af2;border:1px solid rgba(148,163,184,.2);border-radius:18px;box-shadow:none;padding:1.3rem 1.5rem 1.6rem;max-height:86vh;overflow:auto;position:relative}.modal-close{position:absolute;top:1rem;right:1rem;width:32px;height:32px;padding:0;border-radius:10px;background:#94a3b826;color:var(--text-0);border:1px solid rgba(148,163,184,.2);font-size:1rem;cursor:pointer}.modal-close:hover{background:#94a3b840}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.modal-head-actions{display:inline-flex;align-items:center;gap:.4rem}.modal-head-actions .play-cta{width:34px;height:34px;font-size:1rem;border-radius:10px;color:#0b1120;background:linear-gradient(135deg,#22d3ee,#38bdf8);border:none;box-shadow:none;position:relative;overflow:hidden}.modal-playing-bars{display:inline-flex;align-items:flex-end;gap:.18rem;height:.95rem;transition:opacity .16s ease}.modal-playing-bars span{width:.18rem;border-radius:999px;background:#0b1120;animation:home-eq .95s ease-in-out infinite}.modal-playing-bars span:nth-child(1){height:.45rem;animation-delay:0s}.modal-playing-bars span:nth-child(2){height:.85rem;animation-delay:.12s}.modal-playing-bars span:nth-child(3){height:.58rem;animation-delay:.24s}.modal-playing-pause{position:absolute;inset:0;display:inline-flex;align-items:center;justify-content:center;opacity:0;transition:opacity .16s ease}.modal-head-actions .play-cta.is-playing:hover .modal-playing-bars{opacity:0}.modal-head-actions .play-cta.is-playing:hover .modal-playing-pause{opacity:1}.modal-head h3{margin:.2rem 0 .3rem;font-size:1.2rem}.modal-eyebrow{margin:0;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}.modal-meta{margin:0;color:var(--text-2);font-size:.85rem}.modal-meta-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.modal-meta-row .modal-meta{flex:1}.modal-body{display:grid;grid-template-columns:160px 1fr;gap:1.2rem;margin-top:1rem}.modal-cover img,.modal-cover .cover-fallback{width:100%;height:160px;border-radius:12px;object-fit:cover;display:block}.modal-creator{margin-top:.55rem;padding:.6rem .7rem;border-radius:10px;border:1px solid rgba(148,163,184,.2);background:#080c188c}.modal-creator-label{margin:0;font-size:.72rem;color:var(--text-2);letter-spacing:.06em;text-transform:uppercase}.modal-creator-name{margin:.25rem 0 0;font-size:.9rem;color:var(--text-0);font-weight:700}.modal-track-stats{margin:.5rem 0 0;color:var(--text-2);font-size:.82rem}.modal-track-like{color:#f472b6eb;font-weight:700}.modal-info{display:grid;gap:.85rem}.modal-main-grid{--detail-panel-height: min(62vh, 620px);display:grid;grid-template-columns:1fr 1fr;gap:.85rem;align-items:stretch}.modal-main-grid .modal-section{display:flex;flex-direction:column}.modal-section h4{margin:0 0 .35rem;font-size:.9rem;color:var(--text-1)}.modal-section-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.modal-section-actions{display:inline-flex;gap:.35rem}.modal-section p{margin:0;color:var(--text-2)}.lyrics-block{margin:0;padding:.8rem;border-radius:12px;background:#080c1899;color:var(--text-1);white-space:pre-wrap;min-height:var(--detail-panel-height);max-height:var(--detail-panel-height);overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.lyrics-block::-webkit-scrollbar{display:none}.lyrics-scroll-wrap{position:relative}.lyrics-scroll-hint{position:absolute;left:50%;transform:translate(-50%);z-index:2;font-size:.75rem;line-height:1;color:#94a3b8f2;background:#020617b3;border:1px solid rgba(148,163,184,.25);border-radius:999px;padding:.15rem .35rem;pointer-events:none}.lyrics-scroll-hint.up{top:.35rem}.lyrics-scroll-hint.down{bottom:.35rem}.lyrics-editor{width:100%;min-height:var(--detail-panel-height);max-height:var(--detail-panel-height);border-radius:12px;border:1px solid rgba(148,163,184,.2);background:#080c1899;color:var(--text-0);padding:.8rem;font:inherit}.video-panel-body{min-height:var(--detail-panel-height);max-height:var(--detail-panel-height);border-radius:12px;overflow:hidden}.modal-video{width:100%;height:100%;border-radius:12px;border:1px solid rgba(148,163,184,.2);background:#020617;margin-top:0;object-fit:contain}.video-loading-card{margin-top:0;min-height:var(--detail-panel-height);max-height:var(--detail-panel-height);border-radius:12px;border:1px solid rgba(148,163,184,.2);background:radial-gradient(120% 120% at 10% 0%,rgba(34,211,238,.12),transparent 55%),#020617e6;display:grid;place-items:center;gap:.55rem;padding:1rem}.video-loading-card p{margin:0;color:var(--text-1);font-size:.88rem;font-weight:600}.video-loading-progress{color:var(--text-2);font-size:.75rem}.video-status-message{margin-top:.45rem}.video-panel-body .empty-text{margin:0;min-height:var(--detail-panel-height);max-height:var(--detail-panel-height);display:grid;place-items:center;gap:.75rem;text-align:center;border:1px solid rgba(148,163,184,.2);border-radius:12px;background:#020617b3;color:var(--text-2);padding:1rem}.video-panel-body .empty-text p{margin:0}.video-loading-spinner{width:34px;height:34px;border-radius:999px;border:3px solid rgba(148,163,184,.2);border-top-color:#22d3eef2;animation:video-spin .9s linear infinite}.video-loading-bars{display:inline-flex;align-items:flex-end;gap:.24rem;height:14px}.video-loading-bars span{width:4px;border-radius:999px;background:#22d3eebf;animation:video-bars 1s ease-in-out infinite}.video-loading-bars span:nth-child(1){animation-delay:0s}.video-loading-bars span:nth-child(2){animation-delay:.15s}.video-loading-bars span:nth-child(3){animation-delay:.3s}@keyframes video-spin{to{transform:rotate(360deg)}}@keyframes video-bars{0%,to{height:4px;opacity:.45}50%{height:14px;opacity:1}}.toast{position:fixed;left:50%;top:1rem;transform:translate(-50%);z-index:90;background:#0f172af2;color:var(--text-0);border:1px solid rgba(34,211,238,.35);border-radius:12px;padding:.7rem 1rem;box-shadow:none;font-size:.92rem;font-weight:700}.toast-credit-alert{font-size:1rem;padding:.85rem 1.1rem;border-color:#f87171cc;background:#7f1d1df2;color:#ffe4e6}.album-actions{display:flex;gap:.5rem;align-items:center;justify-content:flex-end}.album-actions .small{padding:.4rem .65rem;font-size:.84rem;border-radius:8px}.download-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;text-decoration:none;background:#22d3ee40;color:var(--text-0);border-radius:999px;font-size:.78rem;font-weight:600;border:1px solid rgba(34,211,238,.3)}.download-icon:hover{background:#22d3ee59}.bottom-player{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:420px minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1.2rem 1.6rem;background:linear-gradient(90deg,#0f172afa,#111827f2);border-top:1px solid rgba(148,163,184,.2);box-shadow:none;color:var(--text-0)}.bottom-player-track{display:flex;align-items:center;gap:.7rem;min-width:0;background:transparent;border:none;padding:0;border-radius:0;box-shadow:none;text-align:left;color:inherit;cursor:pointer}.bottom-player-track:focus,.bottom-player-track:focus-visible{outline:none;box-shadow:none}.bottom-player-track img{width:56px;height:56px;border-radius:10px;object-fit:cover;border:2px solid rgba(148,163,184,.35)}.bottom-player-track strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:360px;font-size:1.05rem;font-weight:700}.bottom-player-track>div{min-width:0}.bottom-player-track p{margin:.12rem 0 0;font-size:.9rem;color:var(--text-2)}.bottom-player audio{display:none}.player-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem}.player-side-controls{display:grid;grid-auto-rows:min-content;gap:.45rem;align-items:start;justify-items:end}.player-controls{display:grid;grid-template-columns:1fr;grid-template-areas:"playback" "progress";gap:.5rem;width:100%;max-width:900px;margin:0 auto}.time-display{color:var(--text-2);font-size:.85rem;min-width:48px;text-align:center}.progress{width:100%;accent-color:var(--accent)}.player-mode-row{display:flex;justify-content:flex-end;gap:.45rem}.player-playback-row{grid-area:playback;display:flex;justify-content:center;gap:.6rem}.mode-btn{width:28px;height:28px;border-radius:8px;font-size:.82rem}.player-progress-row{grid-area:progress;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:.8rem}@media(max-width:680px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:40;height:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom));padding:.5rem .55rem calc(.5rem + env(safe-area-inset-bottom));display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:.45rem;background:#080c18f5;border-top:1px solid rgba(148,163,184,.22);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mobile-bottom-nav a{position:relative;text-decoration:none;color:var(--text-2);display:grid;place-items:center;gap:.1rem;border-radius:10px;border:1px solid rgba(148,163,184,.16);background:#0f172a8c;font-size:.7rem;font-weight:700}.mobile-bottom-nav a .icon{font-size:.92rem;line-height:1}.mobile-bottom-nav a.active{color:var(--text-0);border-color:#22d3ee73;background:#22d3ee29}.mobile-nav-badge{position:absolute;top:4px;right:6px;min-width:1rem;height:1rem;border-radius:999px;background:#f43f5ed9;color:#fff;display:inline-flex;align-items:center;justify-content:center;padding:0 .24rem;font-size:.62rem;line-height:1}.app{width:100%;margin:0 0 .25rem;padding:1rem 1rem calc(var(--bottom-player-safe-mobile) + 1rem);scroll-padding-bottom:calc(var(--bottom-player-safe-mobile) + 1rem)}.button-row,.workspace{grid-template-columns:1fr}.album-panel{position:static}.album-list li{grid-template-columns:56px 1fr}.album-actions{grid-column:1 / -1}.bottom-player{left:0;right:0;bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom));grid-template-columns:1fr;gap:.6rem}.bottom-player-track strong{max-width:100%}.player-controls{grid-template-columns:1fr;grid-template-areas:"progress" "playback" "modes";gap:.42rem}.player-playback-row{justify-content:center}.player-side-controls{display:flex;justify-content:space-between;align-items:center;gap:.6rem}.player-mode-row{justify-content:flex-start;padding-left:0}.player-actions{justify-content:flex-end}.modal-backdrop{padding:.9rem;align-items:center}.login-modal{width:min(92vw,460px);padding:1rem 1rem 1.2rem}.login-modal-content{padding-top:.7rem}.modal-body{grid-template-columns:1fr}.modal-main-grid{--detail-panel-height: 360px;grid-template-columns:1fr}}
