:root,:root[data-theme="dark"]{--bg: #1a0f1a;--bg-2: #2d1b2e;--surface: #241626;--surface-2: #32203440;--border: #43314a;--text: #fff8e7;--muted: #b9a9bd;--accent: #fdb813;--accent-strong: #ffd700;--on-accent: #1a0f1a;--danger: #ff1654;--success: #00d66c;--on-success: #06281a;--radius: 14px}:root[data-theme="light"]{--bg: #fff8e7;--bg-2: #f5f0e8;--surface: #ffffff;--surface-2: #f5f0e8;--border: #e3d8c8;--text: #1a0f1a;--muted: #6b5d63;--accent: #8a5a00;--accent-strong: #a86d00;--on-accent: #fff8e7;--danger: #a01030;--success: #00a85b;--on-success: #ffffff;--radius: 14px}*{box-sizing: border-box}body{margin: 0;font-family: system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background: linear-gradient(135deg,var(--bg) 0%,var(--bg-2) 100%) fixed;color: var(--text);line-height: 1.5;min-height: 100vh}a{color: inherit}.container{width: 100%;max-width: 720px;margin: 0 auto;padding: 2rem 1.25rem 4rem}.container.narrow{max-width: 420px}.theme-toggle{position: fixed;top: 1rem;right: 1rem;z-index: 10;width: 44px;height: 44px;display: grid;place-items: center;font-size: 1.25rem;line-height: 1;padding: 0;border-radius: 50%;background: var(--surface);border: 1px solid var(--border);color: var(--text);cursor: pointer}.theme-toggle:hover{border-color: var(--accent)}.hero{text-align: center;margin-bottom: 2.5rem}.avatar{width: 112px;height: 112px;border-radius: 50%;object-fit: cover;border: 3px solid var(--border);margin: 0 auto 1rem;display: block;background: var(--surface)}.avatar.sm{width: 56px;height: 56px;border-width: 2px;margin: 0}.avatar-current{display: flex;align-items: center;gap: 0.75rem}label.inline{flex-direction: row;align-items: center;gap: 0.4rem;color: var(--text)}.site-footer{text-align: center;padding: 2rem 1.25rem;color: var(--muted);font-size: 0.85rem}.site-footer a{color: var(--accent);text-decoration: none}.site-footer a:hover{text-decoration: underline}.footer-sep{margin: 0 0.15rem;opacity: 0.5}.footer-legal{color: var(--muted) !important;text-decoration: underline;text-underline-offset: 2px;opacity: 0.7}.footer-legal:hover{opacity: 1;color: var(--accent) !important}.legal-modal{display: none;position: fixed;inset: 0;z-index: 40;padding: 1rem}.legal-modal:target{display: grid;place-items: center}.legal-backdrop{position: absolute;inset: 0;background: rgba(10,6,10,0.6);backdrop-filter: blur(2px)}.legal-dialog{position: relative;z-index: 1;width: min(560px,100%);max-height: 85vh;overflow-y: auto;text-align: left}.legal-dialog h2{margin: 0 0 0.6rem}.legal-dialog h3{margin: 1.1rem 0 0.3rem;font-size: 0.95rem}.legal-close{position: absolute;top: 0.4rem;right: 0.7rem;color: var(--muted);font-size: 1.6rem;line-height: 1;text-decoration: none}.legal-close:hover{color: var(--text)}.legal-fields{display: grid;grid-template-columns: max-content 1fr;gap: 0.35rem 1rem;margin: 0.8rem 0 0;font-size: 0.9rem}.legal-fields dt{font-weight: 600;color: var(--muted)}.legal-fields dd{margin: 0}.legal-dialog a{color: var(--accent)}@media (max-width: 460px){.legal-fields{grid-template-columns: 1fr;gap: 0.1rem 0}.legal-fields dd{margin: 0 0 0.5rem}}.hero h1{font-size: clamp(1.8rem,5vw,2.6rem);margin: 0 0 0.25rem;background: linear-gradient(135deg,var(--accent),var(--accent-strong));-webkit-background-clip: text;background-clip: text;color: transparent}.subtitle{color: var(--muted);margin: 0}.share-btn{margin-top: 1rem;display: inline-flex;align-items: center;gap: 0.5rem;padding: 0.55rem 1.1rem;border: 1px solid var(--accent);border-radius: 999px;background: transparent;color: var(--accent);font: inherit;font-weight: 600;cursor: pointer;transition: background 0.15s ease,color 0.15s ease,transform 0.1s ease}.share-btn:hover{background: linear-gradient(135deg,var(--accent),var(--accent-strong));color: var(--on-accent)}.share-btn:active{transform: scale(0.97)}.share-modal{position: fixed;inset: 0;z-index: 30;display: grid;place-items: center;padding: 1rem}.share-modal[hidden]{display: none}.share-backdrop{position: absolute;inset: 0;background: rgba(10,6,10,0.6);backdrop-filter: blur(2px)}.share-dialog{position: relative;z-index: 1;width: min(360px,100%);text-align: center}.share-dialog h2{margin: 0 0 1rem}.share-close{position: absolute;top: 0.4rem;right: 0.6rem;border: none;background: transparent;color: var(--muted);font-size: 1.6rem;line-height: 1;cursor: pointer}.share-close:hover{color: var(--text)}.share-qr,.qr{display: block;margin: 0 auto;border-radius: 14px;padding: 6px;background: linear-gradient(135deg,var(--accent),var(--accent-strong));box-shadow: 0 8px 24px rgba(0,0,0,0.25)}.share-hint{color: var(--muted);font-size: 0.88rem;margin: 0.9rem 0 0}.share-links{display: flex;flex-wrap: wrap;justify-content: center;gap: 0.5rem;margin-top: 1rem}.share-link{padding: 0.5rem 0.9rem;border: 1px solid var(--border);border-radius: 999px;background: var(--surface-2);color: var(--text);font: inherit;font-size: 0.9rem;font-weight: 600;text-decoration: none;cursor: pointer}.share-link:hover{border-color: var(--accent);color: var(--accent)}.share-link.copy{background: linear-gradient(135deg,var(--accent),var(--accent-strong));color: var(--on-accent);border-color: transparent}.newsletter{text-align: center;margin-top: 2rem}.news-title{display: flex;align-items: center;justify-content: center;gap: 0.5rem;margin: 0;font-size: 1.4rem}.news-emoji{font-size: 1.2em;line-height: 1;transform-origin: center;animation: news-wiggle 3.4s ease-in-out infinite}@keyframes news-wiggle{0%,90%,100%{transform: translateY(0) rotate(0)}93%{transform: translateY(-2px) rotate(-9deg)}96%{transform: translateY(-2px) rotate(9deg)}}.news-label{background: linear-gradient(135deg,var(--accent),var(--accent-strong));-webkit-background-clip: text;background-clip: text;color: transparent;font-weight: 700}.news-hint{color: var(--muted);margin: 0.3rem 0 0.9rem}.news-form{display: flex;gap: 0.5rem;flex-wrap: wrap;justify-content: center}.news-form input[type="email"]{flex: 1 1 220px;min-width: 0}.news-form input[type="email"]:focus{border-color: var(--accent);box-shadow: 0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.news-form button{flex: none;background: linear-gradient(135deg,var(--accent),var(--accent-strong))}@media (prefers-reduced-motion: reduce){.news-emoji{animation: none}}.hp{position: absolute;left: -9999px;width: 1px;height: 1px;opacity: 0}.news-privacy{color: var(--muted);font-size: 0.78rem;line-height: 1.5;margin: 0.9rem 0 0}.news-privacy a{color: var(--accent)}.news-note{font-weight: 600;margin: 0 0 0.8rem}.news-note.ok{color: var(--success)}.news-note.err{color: var(--danger)}.accent-picker{border: 1px solid var(--border);border-radius: var(--radius);padding: 0.8rem 1rem 1rem;margin: 0;display: flex;flex-wrap: wrap;gap: 0.6rem}.accent-picker legend{padding: 0 0.4rem;font-weight: 600;font-size: 0.9rem}.swatch{display: inline-flex;align-items: center;gap: 0.4rem;padding: 0.35rem 0.7rem 0.35rem 0.4rem;border: 1px solid var(--border);border-radius: 999px;cursor: pointer;font-size: 0.85rem}.swatch .dot{width: 18px;height: 18px;border-radius: 50%;background: var(--sw);box-shadow: inset 0 0 0 2px rgba(255,255,255,0.25)}.swatch input{position: absolute;opacity: 0;width: 0;height: 0}.swatch:has(input:checked){border-color: var(--sw);box-shadow: 0 0 0 2px var(--sw)}.swatch:has(input:focus-visible){outline: 2px solid var(--accent);outline-offset: 2px}.releases-title{display: flex;align-items: center;gap: 0.5rem;margin: 0 0 1rem;font-size: 1.4rem}.releases-emoji{font-size: 1.25em;line-height: 1;transform-origin: center;animation: rel-pulse 2.8s ease-in-out infinite}@keyframes rel-pulse{0%,92%,100%{transform: scale(1) rotate(0)}94%{transform: scale(1.15) rotate(-8deg)}96%{transform: scale(1.15) rotate(8deg)}98%{transform: scale(1.15) rotate(-4deg)}}.releases-label{background: linear-gradient(135deg,var(--accent),var(--accent-strong));-webkit-background-clip: text;background-clip: text;color: transparent;font-weight: 700;letter-spacing: 0.01em}.releases-count{flex: none;min-width: 1.5rem;padding: 0.05rem 0.45rem;border-radius: 999px;background: var(--surface-2);border: 1px solid var(--border);color: var(--muted);font-size: 0.8rem;font-weight: 600;text-align: center}.release-list{list-style: none;margin: 0;padding: 0;display: grid;gap: 0.5rem}.release-list > li{min-width: 0}.release-list a{display: flex;align-items: baseline;justify-content: space-between;gap: 0.25rem 1rem;flex-wrap: wrap;min-width: 0;padding: 0.7rem 0.85rem;border: 1px solid var(--border);border-left: 3px solid var(--accent);border-radius: 10px;text-decoration: none;background: var(--surface-2);transition: border-color 0.15s ease,transform 0.15s ease,background 0.15s ease}.release-list a:hover{border-color: var(--accent);background: var(--surface);transform: translateX(2px)}.rel-title{font-weight: 600;min-width: 0;overflow-wrap: anywhere}.rel-title::after{content: " ↗";color: var(--muted);font-weight: 400;font-size: 0.85em}.rel-side{flex: none;display: inline-flex;align-items: baseline;gap: 0.5rem}.rel-badge{align-self: center;padding: 0.1rem 0.45rem;border-radius: 999px;font-size: 0.66rem;font-weight: 700;letter-spacing: 0.06em;text-transform: uppercase}.rel-badge--new{background: linear-gradient(135deg,var(--accent),var(--accent-strong));color: var(--on-accent)}.rel-badge--soon{display: inline-flex;align-items: center;gap: 0.3rem;background: transparent;border: 1px solid var(--accent);color: var(--accent)}.rel-badge--soon::before{content: "";width: 0.4rem;height: 0.4rem;border-radius: 50%;background: var(--accent);animation: rel-blink 1.6s ease-in-out infinite}@keyframes rel-blink{0%,100%{opacity: 1}50%{opacity: 0.25}}.rel-meta{color: var(--muted);font-size: 0.82rem;white-space: nowrap}@media (prefers-reduced-motion: reduce){.release-list a{transition: none}.release-list a:hover{transform: none}.releases-emoji{animation: none}.rel-badge--soon::before{animation: none}}.cta-card{display: flex;align-items: center;gap: 1rem;flex-wrap: wrap;margin-top: 2rem;border: 1px solid color-mix(in srgb,var(--accent) 40%,var(--border));background: linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%,transparent),transparent),var(--surface);transition: transform 0.18s ease,box-shadow 0.18s ease,border-color 0.18s ease}.cta-card:hover{transform: translateY(-2px);border-color: var(--accent);box-shadow: 0 10px 28px color-mix(in srgb,var(--accent) 18%,transparent)}.cta-icon{flex: none;display: grid;place-items: center;width: 46px;height: 46px;border-radius: 12px;background: linear-gradient(135deg,var(--accent),var(--accent-strong));color: var(--on-accent);transition: transform 0.18s ease}.cta-card:hover .cta-icon{transform: scale(1.08)}.cta-icon--beat > svg{animation: cta-beat 2.6s ease-in-out infinite;transform-origin: center}.cta-icon--bob > svg{animation: cta-bob 3s ease-in-out infinite;transform-origin: center}.cta-card:hover .cta-icon > svg{animation-play-state: paused}@keyframes cta-beat{0%,88%,100%{transform: scale(1)}90%{transform: scale(1.18)}94%{transform: scale(1.04)}97%{transform: scale(1.14)}}@keyframes cta-bob{0%,100%{transform: translateY(0) rotate(0)}50%{transform: translateY(-2px) rotate(-6deg)}}.cta-body{flex: 1 1 220px;min-width: 0}.cta-body h2{margin: 0 0 0.25rem}.cta-body p{margin: 0;color: var(--muted);font-size: 0.92rem}.cta-btn{flex: none;display: inline-flex;align-items: center;gap: 0.4rem;padding: 0.6rem 1.1rem;border-radius: 999px;background: linear-gradient(135deg,var(--accent),var(--accent-strong));color: var(--on-accent);font-weight: 700;text-decoration: none;white-space: nowrap;transition: filter 0.15s ease}.cta-btn:hover{filter: brightness(1.05)}.cta-arrow{transition: transform 0.18s ease}.cta-card:hover .cta-arrow{transform: translate(2px,-2px)}@media (prefers-reduced-motion: reduce){.cta-card,.cta-icon,.cta-arrow{transition: none}.cta-card:hover{transform: none}.cta-card:hover .cta-icon,.cta-card:hover .cta-arrow{transform: none}.cta-icon--beat > svg,.cta-icon--bob > svg{animation: none}}.audience-head{display: flex;align-items: center;justify-content: space-between;gap: 1rem}.audience-head h2{margin: 0}.ghost-btn{flex: none;padding: 0.45rem 0.9rem;border: 1px solid var(--accent);border-radius: 999px;background: transparent;color: var(--accent);text-decoration: none;font-weight: 600;font-size: 0.9rem;cursor: pointer}.ghost-btn:hover{background: var(--accent);color: var(--on-accent)}.sub-list li{align-items: center}.blocks{display: grid;gap: 0.9rem;grid-template-columns: repeat(auto-fit,minmax(300px,1fr));margin-bottom: 1.5rem}.embed{position: relative;overflow: hidden;border: 1px solid var(--border);border-radius: var(--radius);background: var(--surface)}.embed.loaded.embed-youtube,.embed.loaded.embed-peertube{aspect-ratio: 16 / 9}.embed.loaded.embed-spotify,.embed.loaded.embed-bandcamp,.embed.loaded.embed-audiomack{height: 352px}.embed.loaded.embed-soundcloud{height: 320px}.embed iframe{display: block;width: 100%;height: 100%;border: 0}.embed-play{width: 100%;display: flex;align-items: center;gap: 0.6rem;padding: 0.8rem 1rem;background: var(--surface-2);color: var(--text);border: none;cursor: pointer;text-align: left}.embed-play:hover{background: var(--surface)}.embed-logo{flex: none;display: grid;place-items: center}.embed-logo svg,.embed-logo img{width: 22px;height: 22px;display: block;border-radius: 4px}.embed-title{flex: 1;min-width: 0;font-weight: 600;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.embed-cta{flex: none;color: var(--accent);font-weight: 600;white-space: nowrap}.links{list-style: none;margin: 0;padding: 0;display: grid;gap: 0.9rem;grid-template-columns: repeat(auto-fill,minmax(260px,1fr))}.link-card{display: flex;align-items: center;gap: 1rem;padding: 1rem 1.1rem;background: var(--surface);border: 1px solid var(--border);border-radius: var(--radius);text-decoration: none;transition: transform 0.15s ease,border-color 0.15s ease,background 0.15s ease}.link-card:hover{transform: translateY(-2px);border-color: var(--brand,var(--accent));background: var(--surface-2)}.link-card.copyable{cursor: pointer}.link-card.copyable:active{transform: scale(0.99)}.copy-hint{margin-left: auto;display: grid;place-items: center;color: var(--muted);flex: none}.copy-hint svg{width: 18px;height: 18px}.link-card.copyable:hover .copy-hint{color: var(--brand,var(--accent))}.toast{position: fixed;top: 1.25rem;left: 50%;transform: translateX(-50%) translateY(-1rem);z-index: 20;max-width: calc(100% - 2rem);padding: 0.6rem 1rem;border-radius: 10px;background: var(--success);color: var(--on-success);font-size: 0.9rem;font-weight: 600;box-shadow: 0 6px 20px rgba(0,0,0,0.3);opacity: 0;pointer-events: none;transition: opacity 0.2s ease,transform 0.2s ease}.toast.show{opacity: 1;transform: translateX(-50%) translateY(0)}.admin-meta .muted{color: var(--muted);font-size: 0.82rem;font-style: italic}.admin-meta .clicks{font-weight: 400;font-size: 0.78rem;color: var(--muted)}.stats .stat{font-size: 1.1rem;margin: 0 0 0.4rem}.stats .stat strong{font-size: 1.6rem;color: var(--accent)}.share-row{display: flex;align-items: center;gap: 1.2rem;flex-wrap: wrap}.qr{flex: none}.icon{display: grid;place-items: center;width: 44px;height: 44px;flex: none;border-radius: 10px;background: var(--brand,var(--accent));color: var(--brand-fg,#fff)}.icon svg{width: 24px;height: 24px}.icon.has-img{background: #fff;padding: 6px}.icon.has-img img{width: 100%;height: 100%;object-fit: contain;border-radius: 4px}.icon.sm{width: 36px;height: 36px}.icon.sm svg{width: 20px;height: 20px}.meta{display: flex;flex-direction: column;min-width: 0}.platform{font-weight: 600}.label{color: var(--muted);font-size: 0.9rem;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.empty{text-align: center;color: var(--muted)}.card{background: var(--surface);border: 1px solid var(--border);border-radius: var(--radius);padding: 1.4rem;margin-bottom: 1.5rem}.card h2{margin-top: 0}.form{display: grid;gap: 1rem}.grid{display: grid;gap: 1rem;grid-template-columns: 1fr 1fr}@media (max-width: 520px){.grid{grid-template-columns: 1fr}}label{display: grid;gap: 0.4rem;font-size: 0.9rem;color: var(--muted)}input,select,textarea{width: 100%;padding: 0.65rem 0.75rem;background: var(--bg);border: 1px solid var(--border);border-radius: 10px;color: var(--text);font-size: 1rem;font-family: inherit;resize: vertical}input:focus,select:focus,textarea:focus{outline: none;border-color: var(--accent)}.form h3{margin: 0.5rem 0 -0.25rem;border-top: 1px solid var(--border);padding-top: 1.1rem}button{padding: 0.65rem 1.1rem;border: none;border-radius: 10px;background: var(--accent);color: var(--on-accent);font-size: 1rem;font-weight: 600;cursor: pointer;transition: filter 0.15s ease}button:hover{filter: brightness(1.08)}button.danger{background: transparent;color: var(--danger);border: 1px solid color-mix(in srgb,var(--danger) 50%,transparent);padding: 0.4rem 0.8rem;font-size: 0.85rem}button.link-btn{background: none;color: var(--muted);padding: 0;font-weight: 400}.error{color: var(--danger);background: color-mix(in srgb,var(--danger) 12%,transparent);border: 1px solid color-mix(in srgb,var(--danger) 40%,transparent);padding: 0.6rem 0.8rem;border-radius: 10px}.admin-header{display: flex;align-items: center;justify-content: space-between;margin-bottom: 1.5rem;gap: 1rem}.admin-header h1{margin: 0}.admin-header nav{display: flex;align-items: center;gap: 1rem}.admin-list{list-style: none;margin: 0;padding: 0;display: grid;gap: 0.6rem}.admin-list li{display: flex;align-items: center;gap: 0.9rem;padding: 0.7rem 0.8rem;background: var(--surface-2);border: 1px solid var(--border);border-radius: 10px}.admin-list li.dragging{opacity: 0.5;border-color: var(--accent)}.handle{cursor: grab;color: var(--muted);font-size: 1.1rem;line-height: 1;user-select: none;flex: none;border: none;background: none;padding: 0 0.2rem;border-radius: 6px}.handle:focus-visible{outline: 2px solid var(--accent);outline-offset: 1px}.admin-list li:active .handle{cursor: grabbing}.hint{color: var(--muted);font-size: 0.85rem;margin: 0.8rem 0 0}.admin-meta{display: flex;flex-direction: column;min-width: 0;flex: 1}.admin-meta a{color: var(--accent);font-size: 0.82rem;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.admin-list form{margin: 0}.admin-actions{display: flex;align-items: center;gap: 0.5rem;flex: none}button.ghost{background: transparent;color: var(--muted);border: 1px solid var(--border);padding: 0.4rem 0.6rem;font-size: 1rem;line-height: 1}button.ghost:hover{color: var(--accent);border-color: var(--accent)}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration: 0.001ms !important;animation-iteration-count: 1 !important;transition-duration: 0.001ms !important;scroll-behavior: auto !important}.toast{transition: opacity 0.001ms;transform: translateX(-50%)}.toast.show{transform: translateX(-50%)}}