body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Josefin Sans,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--color-primary:#a83271;--color-primary-dark:#8a2960;--color-primary-light:#d74d8b;--color-accent:#c45d2a;--color-accent-light:#ee9258;--color-text-primary:#1a1a1a;--color-text-secondary:#4a4a4a;--color-text-muted:#595959;--color-text-on-dark:#fff;--color-text-on-gradient:#2d1f1f;--color-bg-light:#fff;--color-bg-card:#fffffff7;--color-bg-elevated:#fffffffa;--color-focus:#005fcc;--color-focus-ring:0 0 0 3px #005fcc80;--color-error:#c41e3a;--color-success:#2e7d32;--font-family:"Fredoka",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--line-height-body:1.6;--line-height-heading:1.3;--font-size-base:16px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--transition-fast:150ms ease;--transition-normal:250ms ease}*,:after,:before{box-sizing:border-box}body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;align-items:center;background:linear-gradient(247deg,#f09090d4,#e379a9 50.01%,#ee9258);color:#1a1a1a;color:var(--color-text-primary);display:flex;flex-direction:column;font-family:Fredoka,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-family);font-size:16px;font-size:var(--font-size-base);height:100%;justify-content:flex-start;line-height:1.6;line-height:var(--line-height-body);margin:0;overflow:auto}.skip-link{background:#a83271;background:var(--color-primary);border-radius:0 0 4px 0;border-radius:0 0 var(--radius-sm) 0;color:#fff;color:var(--color-text-on-dark);font-weight:600;left:0;padding:8px 16px;padding:var(--spacing-sm) var(--spacing-md);position:absolute;text-decoration:none;top:-40px;transition:top .15s ease;transition:top var(--transition-fast);z-index:9999}.skip-link:focus{top:0}:focus{outline:3px solid #005fcc;outline:3px solid var(--color-focus);outline-offset:2px}:focus:not(:focus-visible){outline:none}:focus-visible{outline:3px solid #005fcc;outline:3px solid var(--color-focus)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.container{align-items:center;background:linear-gradient(247deg,#f09090d4,#e379a9 50.01%,#ee9258);box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-start;min-height:100vh;padding:20px;width:100%}.navbar{margin-bottom:20px;width:100%}.nav-list,.navbar{display:flex;justify-content:center;padding:0}.nav-list{flex-wrap:wrap;gap:8px;gap:var(--spacing-sm);list-style:none;margin:0}.nav-item{margin:0}.nav-link{background-color:#a83271;background-color:var(--color-primary);border:2px solid #0000;box-shadow:0 4px 4px #00000040;color:#fff;color:var(--color-text-on-dark);cursor:pointer;display:inline-block;font-size:1rem;font-weight:600;padding:12px 20px;text-decoration:none;transition:background-color .25s ease,transform .15s ease,box-shadow .25s ease;transition:background-color var(--transition-normal),transform var(--transition-fast),box-shadow var(--transition-normal)}.nav-link:hover{background-color:#8a2960;background-color:var(--color-primary-dark);box-shadow:0 6px 8px #0000004d;transform:translateY(-1px)}.nav-link:focus-visible{background-color:#8a2960;background-color:var(--color-primary-dark);outline:3px solid #fff;outline:3px solid var(--color-text-on-dark);outline-offset:2px}.nav-link-active{border-color:#fff;border-color:var(--color-text-on-dark)}.nav-link-active,.nav-link-active:hover{background-color:#c45d2a;background-color:var(--color-accent)}.portfolio-container{flex-direction:column;flex-grow:1;margin:0 auto;max-width:1200px;text-align:center}.image-wrapper,.portfolio-container{align-items:center;display:flex;width:100%}.image-wrapper{flex-wrap:wrap;gap:16px;gap:var(--spacing-md);justify-content:center;margin-top:20px}.pic{border-radius:8px;border-radius:var(--radius-md);margin:10px;max-height:40%;max-width:40%;object-fit:contain}.introduction-container{align-items:center;display:flex;flex-direction:column;flex-grow:1;margin:0 auto;max-width:1200px;text-align:center;width:100%}.introduction-title{font-size:2rem;font-weight:700;line-height:1.3;line-height:var(--line-height-heading);margin:20px 0}.introduction-content,.introduction-title{color:#2d1f1f;color:var(--color-text-on-gradient)}.introduction-content{word-wrap:break-word;font-size:1.25rem;font-size:var(--font-size-xl);line-height:1.6;line-height:var(--line-height-body);max-width:100%;overflow-wrap:break-word;text-shadow:0 1px 2px #ffffff4d;white-space:normal}.logo{align-self:center;height:auto;margin-bottom:20px;object-fit:contain;width:150px}.image-container{align-items:center;display:flex;justify-content:center;margin:20px 0;overflow:hidden;width:100%}.image-container img{height:auto;max-width:100%}.music-container{background-color:#fffffff7;background-color:var(--color-bg-card);border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 4px 8px #0000001a;box-sizing:border-box;margin-left:auto;margin-right:auto;margin-top:20px;max-width:1200px;padding:24px;padding:var(--spacing-lg);width:100%}.music-title{color:#1a1a1a;color:var(--color-text-primary);font-size:1.5rem;font-weight:700;line-height:1.3;line-height:var(--line-height-heading);margin-bottom:8px;margin-bottom:var(--spacing-sm)}.music-description{color:#4a4a4a;color:var(--color-text-secondary);font-size:16px;font-size:var(--font-size-base);line-height:1.6;line-height:var(--line-height-body);margin-bottom:24px;margin-bottom:var(--spacing-lg)}.audio-gallery{display:flex;flex-wrap:wrap;gap:20px}.audio-item{background-color:#fff;background-color:var(--color-bg-light);border:1px solid #0000000d;border-radius:8px;border-radius:var(--radius-md);box-shadow:0 2px 4px #0000001a;flex-basis:calc(33.333% - 20px);flex-grow:1;flex-shrink:1;min-width:280px;padding:16px;padding:var(--spacing-md);text-align:center}.audio-title{color:#1a1a1a;color:var(--color-text-primary);font-size:1.125rem;font-size:var(--font-size-lg);font-weight:600;margin-bottom:8px;margin-bottom:var(--spacing-sm)}audio{border-radius:4px;border-radius:var(--radius-sm);width:100%}audio,button{margin-top:8px;margin-top:var(--spacing-sm)}button{background-color:#a83271;background-color:var(--color-primary);border:2px solid #0000;border-radius:4px;border-radius:var(--radius-sm);color:#fff;color:var(--color-text-on-dark);cursor:pointer;font-size:16px;font-size:var(--font-size-base);font-weight:600;min-height:44px;min-width:44px;padding:10px 16px;transition:background-color .25s ease,transform .15s ease,box-shadow .25s ease;transition:background-color var(--transition-normal),transform var(--transition-fast),box-shadow var(--transition-normal)}button:hover{background-color:#8a2960;background-color:var(--color-primary-dark);transform:translateY(-1px)}button:focus-visible{outline:3px solid #005fcc;outline:3px solid var(--color-focus);outline-offset:2px}button:active{transform:translateY(0)}button:disabled{cursor:not-allowed;opacity:.6;transform:none}.lyrics{background-color:#f5f5f5;border:1px solid #0000001a;border-radius:4px;border-radius:var(--radius-sm);color:#1a1a1a;color:var(--color-text-primary);font-size:16px;font-size:var(--font-size-base);line-height:1.8;margin-top:8px;margin-top:var(--spacing-sm);max-height:200px;overflow-y:auto;padding:16px;padding:var(--spacing-md);text-align:left;white-space:pre-wrap}.forum-container{margin:0 auto;max-width:1200px;width:100%}.forum-header{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff26;border-radius:12px;border-radius:var(--radius-lg);margin-bottom:40px;padding:32px;padding:var(--spacing-xl);text-align:center}.forum-title{font-size:2.5rem;font-weight:700;line-height:1.3;line-height:var(--line-height-heading);margin-bottom:8px;margin-bottom:var(--spacing-sm);text-shadow:0 2px 4px #00000026}.forum-description,.forum-title{color:#2d1f1f;color:var(--color-text-on-gradient)}.forum-description{font-size:1.125rem;font-size:var(--font-size-lg);line-height:1.6;line-height:var(--line-height-body);margin-bottom:24px;margin-bottom:var(--spacing-lg);text-shadow:0 1px 2px #0000001a}.thread-list{display:flex;flex-direction:column;gap:15px}.thread-item{align-items:center;background:#fffffff7;background:var(--color-bg-card);border:2px solid #0000;box-shadow:0 2px 8px #0000001a;color:inherit;display:flex;justify-content:space-between;padding:20px;text-decoration:none;transition:all .25s ease;transition:all var(--transition-normal)}.thread-item:hover{border-color:#d74d8b;border-color:var(--color-primary-light);box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.thread-item:focus-visible{border-color:#005fcc;border-color:var(--color-focus);outline:3px solid #005fcc;outline:3px solid var(--color-focus);outline-offset:2px}.thread-item-content{flex:1 1}.thread-item-title{color:#a83271;color:var(--color-primary);font-size:1.25rem;font-weight:600;line-height:1.3;line-height:var(--line-height-heading);margin:0 0 8px}.thread-item-meta{align-items:center;color:#4a4a4a;color:var(--color-text-secondary);display:flex;flex-wrap:wrap;font-size:.875rem;font-size:var(--font-size-sm);gap:8px}.thread-item-author{color:#1a1a1a;color:var(--color-text-primary);font-weight:600}.thread-item-separator,.thread-item-time{color:#595959;color:var(--color-text-muted)}.thread-item-stats{align-items:flex-end;display:flex;flex-direction:column;gap:5px}.thread-stat{background:#f0f0f0;border-radius:15px;color:#4a4a4a;color:var(--color-text-secondary);font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;padding:6px 14px}.thread-container{margin:0 auto;max-width:900px;width:100%}.back-button{background:#fffffffa;background:var(--color-bg-elevated);border:2px solid #0000;border-radius:8px;border-radius:var(--radius-md);color:#a83271;color:var(--color-primary);cursor:pointer;font-size:1rem;font-weight:600;margin-bottom:20px;min-height:44px;padding:12px 20px;transition:all .25s ease;transition:all var(--transition-normal)}.back-button:hover{background:#fff;background:var(--color-bg-light);border-color:#a83271;border-color:var(--color-primary);box-shadow:0 2px 8px #0000001a}.back-button:focus-visible{outline:3px solid #005fcc;outline:3px solid var(--color-focus);outline-offset:2px}.thread-header{background:#fffffff7;background:var(--color-bg-card);border:1px solid #0000000d;border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 2px 8px #0000001a;margin-bottom:20px;padding:30px}.thread-title{color:#a83271;color:var(--color-primary);font-size:2rem;line-height:1.3;line-height:var(--line-height-heading);margin:0 0 15px}.thread-meta{color:#4a4a4a;color:var(--color-text-secondary);display:flex;flex-wrap:wrap;font-size:.875rem;font-size:var(--font-size-sm);gap:20px}.thread-author{color:#1a1a1a;color:var(--color-text-primary);font-weight:600}.thread-count,.thread-date{color:#595959;color:var(--color-text-muted)}.posts-list{display:flex;flex-direction:column;gap:15px;margin-bottom:30px}.forum-post{background:#fffffff7;background:var(--color-bg-card);border:1px solid #0000000d;box-shadow:0 2px 8px #0000001a;padding:20px}.forum-post.original-post{background:#fffffffa;background:var(--color-bg-elevated);border:2px solid #d74d8b;border:2px solid var(--color-primary-light)}.post-header{gap:12px;margin-bottom:15px}.post-avatar,.post-header{align-items:center;display:flex}.post-avatar{background:linear-gradient(135deg,#a83271,#c45d2a);background:linear-gradient(135deg,var(--color-primary),var(--color-accent));border-radius:50%;color:#fff;flex-shrink:0;font-size:1.2rem;font-weight:700;height:44px;justify-content:center;width:44px}.post-info{display:flex;flex:1 1;flex-direction:column}.post-author{color:#1a1a1a;color:var(--color-text-primary);font-size:1rem;font-weight:600}.post-time{color:#595959;color:var(--color-text-muted)}.original-badge,.post-time{font-size:.875rem;font-size:var(--font-size-sm)}.original-badge{background:#a83271;background:var(--color-primary);border-radius:12px;color:#fff;font-weight:600;padding:6px 14px}.post-content{color:#1a1a1a;color:var(--color-text-primary);line-height:1.6;line-height:var(--line-height-body);margin-bottom:15px}.post-content p{word-wrap:break-word;margin:0;white-space:pre-wrap}.post-actions{display:flex;gap:10px}.like-button{align-items:center;background:#f5f5f5;border:2px solid #0000;border-radius:20px;cursor:pointer;display:flex;font-size:1rem;gap:6px;min-height:44px;padding:10px 18px;transition:all .25s ease;transition:all var(--transition-normal)}.like-button:hover{background:#fff;background:var(--color-bg-light);border-color:#a83271;border-color:var(--color-primary)}.like-button:focus-visible{outline:3px solid #005fcc;outline:3px solid var(--color-focus);outline-offset:2px}.like-button.liked{background:#a832711a;border-color:#a83271}.like-button:disabled{cursor:not-allowed;opacity:.6}.like-icon{font-size:1.1rem}.like-count{color:#1a1a1a;color:var(--color-text-primary);font-weight:600}.reply-form-container{background:#fffffff7;background:var(--color-bg-card);border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 2px 8px #0000001a;padding:30px}.reply-form-title{color:#a83271;color:var(--color-primary);font-size:1.5rem;line-height:1.3;line-height:var(--line-height-heading);margin:0 0 20px}.reply-form{gap:20px}.form-group,.reply-form{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{font-weight:600}.form-group label,.form-input,.form-textarea{color:#1a1a1a;color:var(--color-text-primary);font-size:1rem}.form-input,.form-textarea{background:#fff;background:var(--color-bg-light);border:2px solid #d0d0d0;font-family:inherit;padding:14px;transition:border-color .25s ease,box-shadow .25s ease;transition:border-color var(--transition-normal),box-shadow var(--transition-normal)}.form-input:hover,.form-textarea:hover{border-color:#d74d8b;border-color:var(--color-primary-light)}.form-input:focus,.form-textarea:focus{border-color:#a83271;box-shadow:0 0 0 3px #a8327133}.form-textarea{line-height:1.6;line-height:var(--line-height-body);min-height:120px;resize:vertical}.char-count{color:#595959;color:var(--color-text-muted);font-size:.875rem;font-size:var(--font-size-sm);text-align:right}.form-error{background:#c41e3a1a;border-left:4px solid #c41e3a;border-left:4px solid var(--color-error);border-radius:8px;border-radius:var(--radius-md);color:#c41e3a;color:var(--color-error);font-size:1rem;font-weight:500;padding:14px}.button-primary{background:#a83271;background:var(--color-primary);border:2px solid #0000;border-radius:8px;border-radius:var(--radius-md);box-shadow:0 2px 8px #a832714d;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;min-height:48px;padding:14px 32px;transition:all .25s ease;transition:all var(--transition-normal)}.button-primary:hover{background:#8a2960;background:var(--color-primary-dark);box-shadow:0 4px 12px #a8327166;transform:translateY(-2px)}.button-primary:focus-visible{outline:3px solid #005fcc;outline:3px solid var(--color-focus);outline-offset:2px}.button-primary:active{transform:translateY(0)}.button-primary:disabled{cursor:not-allowed;opacity:.6;transform:none}.button-secondary{background:#fff;border:2px solid #a83271;border:2px solid var(--color-primary);border-radius:8px;border-radius:var(--radius-md);color:#a83271;color:var(--color-primary);cursor:pointer;font-size:1rem;font-weight:600;min-height:48px;padding:14px 32px;transition:all .25s ease;transition:all var(--transition-normal)}.button-secondary:hover{background:#a83271;background:var(--color-primary)}.button-secondary:focus-visible{outline:3px solid #005fcc;outline:3px solid var(--color-focus);outline-offset:2px}.button-secondary:disabled{cursor:not-allowed;opacity:.6}.modal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 8px 32px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;padding:25px 30px}.modal-title{color:#a83271;color:var(--color-primary);font-size:1.75rem;line-height:1.3;line-height:var(--line-height-heading);margin:0}.modal-close{align-items:center;background:none;border:2px solid #0000;border-radius:4px;border-radius:var(--radius-sm);color:#595959;color:var(--color-text-muted);cursor:pointer;display:flex;font-size:1.5rem;justify-content:center;min-height:44px;min-width:44px;padding:8px 12px;transition:all .25s ease;transition:all var(--transition-normal)}.modal-close:hover{background:#a832711a;color:#a83271}.modal-close:focus-visible{outline:3px solid #005fcc;outline:3px solid var(--color-focus);outline-offset:2px}.create-thread-form{display:flex;flex-direction:column;gap:20px;padding:30px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:10px}.empty-state,.error-state,.loading-state{background:#fffffff7;background:var(--color-bg-card);border-radius:12px;border-radius:var(--radius-lg);margin:20px 0;padding:60px 20px;text-align:center}.empty-state p,.error-state p,.loading-state p{color:#4a4a4a;color:var(--color-text-secondary);font-size:1.125rem;font-size:var(--font-size-lg);line-height:1.6;line-height:var(--line-height-body);margin:0 0 20px}@media (max-width:479px){.container{padding:8px;padding:var(--spacing-sm)}.nav-list{align-items:stretch;flex-direction:column;width:100%}.nav-link{padding:14px 20px;text-align:center}.introduction-title{font-size:1.5rem}.introduction-content{font-size:1rem}.forum-title{font-size:1.5rem}.thread-title{font-size:1.25rem}.audio-item{flex:1 1 100%;min-width:0;min-width:auto}.create-thread-form,.modal-header{padding:16px;padding:var(--spacing-md)}}@media (min-width:480px) and (max-width:767px){.nav-list{flex-wrap:wrap;gap:8px;gap:var(--spacing-sm)}.nav-link{font-size:.9rem;padding:10px 14px}.audio-item{flex-basis:calc(50% - 10px);flex-grow:1;flex-shrink:1;min-width:200px}}@media (max-width:768px){.navbar{align-items:center;flex-direction:column}.nav-link{margin:4px 0;margin:var(--spacing-xs) 0}.image-wrapper{flex-direction:column}.pic{max-height:30%;max-width:80%}.forum-title{font-size:1.75rem}.thread-title{font-size:1.5rem}.thread-item{flex-direction:column;gap:15px}.thread-item,.thread-item-stats{align-items:flex-start}.thread-meta{flex-direction:column;gap:8px}.modal-content{max-height:95vh}.create-thread-form,.modal-header{padding:20px}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}@media (min-width:769px){.container{padding:40px}.navbar{flex-direction:row;justify-content:center}.nav-list{gap:16px;gap:var(--spacing-md)}.pic{max-height:30%;max-width:30%}}@keyframes confettiFall{0%{opacity:1;transform:translateY(0) rotate(0deg) scale(1)}to{opacity:0;transform:translateY(100vh) rotate(2turn) scale(.5)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes bounce{0%{transform:translateY(0) scale(1)}to{transform:translateY(-20px) scale(1.1)}}@keyframes popIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes popOut{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.5)}}@keyframes slideUp{0%{opacity:0;transform:translateX(-50%) translateY(20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes slideDown{0%{opacity:1;transform:translateX(-50%) translateY(0)}to{opacity:0;transform:translateX(-50%) translateY(20px)}}@keyframes spinBowl{0%{transform:rotate(0deg) scale(1)}25%{transform:rotate(90deg) scale(1.1)}50%{transform:rotate(180deg) scale(1)}75%{transform:rotate(270deg) scale(1.1)}to{transform:rotate(1turn) scale(1)}}.logo-clickable{cursor:pointer;transition:transform .2s ease}.logo-clickable:hover{transform:scale(1.05)}.logo-clickable:active{transform:scale(.95)}.has-secret-message{position:relative}.has-secret-message:after{background:linear-gradient(90deg,#0000,#a83271,#0000);background:linear-gradient(90deg,#0000,var(--color-primary),#0000);bottom:-2px;content:"";height:2px;left:0;opacity:0;position:absolute;transition:opacity .3s ease;width:100%}.has-secret-message:hover:after{opacity:.5}.sr-only{clip:rect(0,0,0,0);border:0;margin:-1px;overflow:hidden;padding:0;white-space:nowrap}.focus-trap,.sr-only{height:1px;position:absolute;width:1px}.focus-trap{opacity:0}@media (prefers-contrast:high){.button-primary,.button-secondary,.nav-link{border-width:3px}.forum-post,.thread-item{border-color:#1a1a1a;border-color:var(--color-text-primary);border-width:2px}}:root{--color-primary:#d74d8b;--color-primary-light:#e379a9;--color-primary-dark:#b8407a;--color-secondary:#f1823c;--color-secondary-light:#ee9258;--color-accent:#ff6b9d;--color-white:#fff;--color-gray-50:#f9f9f9;--color-gray-100:#f5f5f5;--color-gray-200:#e0e0e0;--color-gray-300:#ccc;--color-gray-400:#999;--color-gray-500:#888;--color-gray-600:#666;--color-gray-700:#444;--color-gray-800:#333;--color-gray-900:#1a1a1a;--color-success:#4caf50;--color-success-light:#81c784;--color-error:#d32f2f;--color-error-light:#ef5350;--color-warning:#ff9800;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-full:9999px;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 2px 4px #00000014;--shadow-md:0 4px 8px #0000001a;--shadow-lg:0 8px 16px #0000001f;--shadow-xl:0 12px 24px #00000026;--shadow-2xl:0 20px 40px #0003;--glow-primary:0 0 20px #d74d8b4d;--glow-primary-strong:0 0 30px #d74d8b80;--glow-secondary:0 0 20px #f1823c4d;--timing-fast:150ms;--timing-normal:200ms;--timing-medium:300ms;--timing-slow:400ms;--timing-slower:500ms;--ease-out:cubic-bezier(0.33,1,0.68,1);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--ease-bounce:cubic-bezier(0.68,-0.55,0.265,1.55);--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700}.button-primary{overflow:hidden;position:relative;transform:translateY(0);transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s cubic-bezier(.33,1,.68,1),background .3s cubic-bezier(.33,1,.68,1);transition:transform var(--timing-normal) var(--ease-spring),box-shadow var(--timing-normal) var(--ease-out),background var(--timing-medium) var(--ease-out)}.button-primary:before{background:#fff3;border-radius:9999px;border-radius:var(--radius-full);content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .4s cubic-bezier(.33,1,.68,1),height .4s cubic-bezier(.33,1,.68,1);transition:width var(--timing-slow) var(--ease-out),height var(--timing-slow) var(--ease-out);width:0}.button-primary:hover{box-shadow:0 6px 20px #d74d8b66,0 3px 8px #0000001a;transform:translateY(-3px)}.button-primary:hover:before{height:300px;width:300px}.button-primary:active{box-shadow:0 2px 8px #d74d8b4d;transform:translateY(-1px)}.button-primary:focus-visible{box-shadow:0 0 0 3px #d74d8b66,0 4px 12px #d74d8b4d;outline:none}.button-secondary{overflow:hidden;position:relative;transition:all .2s cubic-bezier(.33,1,.68,1),transform .2s cubic-bezier(.34,1.56,.64,1);transition:all var(--timing-normal) var(--ease-out),transform var(--timing-normal) var(--ease-spring)}.button-secondary:after{background:#d74d8b;background:var(--color-primary);content:"";inset:0;position:absolute;transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.33,1,.68,1);transition:transform var(--timing-medium) var(--ease-out);z-index:-1}.button-secondary:hover{border-color:#d74d8b;border-color:var(--color-primary);color:#fff;color:var(--color-white);transform:translateY(-2px)}.button-secondary:hover:after{transform:scaleX(1)}.button-secondary:active{transform:translateY(0)}button{overflow:hidden;position:relative;transition:background-color .2s cubic-bezier(.33,1,.68,1),transform .15s cubic-bezier(.34,1.56,.64,1),box-shadow .2s cubic-bezier(.33,1,.68,1);transition:background-color var(--timing-normal) var(--ease-out),transform var(--timing-fast) var(--ease-spring),box-shadow var(--timing-normal) var(--ease-out)}button:hover:not(:disabled){box-shadow:0 4px 8px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-2px)}button:active:not(:disabled){transform:translateY(0)}.like-button{position:relative;transition:all .2s cubic-bezier(.33,1,.68,1),transform .15s cubic-bezier(.34,1.56,.64,1);transition:all var(--timing-normal) var(--ease-out),transform var(--timing-fast) var(--ease-spring)}.like-button:hover:not(:disabled){background:#fff;background:var(--color-white);transform:scale(1.05)}.like-button.liked,.like-button:hover:not(:disabled){border-color:#d74d8b;border-color:var(--color-primary)}.like-button.liked{background:#d74d8b26}.like-icon{display:inline-block;transition:transform .15s cubic-bezier(.34,1.56,.64,1);transition:transform var(--timing-fast) var(--ease-spring)}.like-button:hover .like-icon{transform:scale(1.2)}@keyframes heartPulse{0%{transform:scale(1)}15%{transform:scale(1.4)}30%{transform:scale(.9)}45%{transform:scale(1.2)}60%{transform:scale(.95)}75%{transform:scale(1.05)}to{transform:scale(1)}}.like-button.animating .like-icon{animation:heartPulse .4s cubic-bezier(.33,1,.68,1);animation:heartPulse var(--timing-slow) var(--ease-out)}@keyframes likeParticle{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(var(--x),var(--y)) scale(0)}}.like-button:after{content:"";inset:0;pointer-events:none;position:absolute}.thread-item{position:relative;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s cubic-bezier(.33,1,.68,1),border-color .2s cubic-bezier(.33,1,.68,1);transition:transform var(--timing-medium) var(--ease-spring),box-shadow var(--timing-medium) var(--ease-out),border-color var(--timing-normal) var(--ease-out)}.thread-item,.thread-item:before{border-radius:12px;border-radius:var(--radius-lg)}.thread-item:before{background:linear-gradient(135deg,#d74d8b,#f1823c);background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));content:"";inset:-1px;opacity:0;position:absolute;transition:opacity .3s cubic-bezier(.33,1,.68,1);transition:opacity var(--timing-medium) var(--ease-out);z-index:-1}.thread-item:hover{border-color:#0000;box-shadow:0 8px 16px #0000001f,0 0 20px #d74d8b4d;box-shadow:var(--shadow-lg),var(--glow-primary);transform:translateY(-4px) scale(1.01)}.thread-item:hover:before{opacity:.1}.thread-item:active{transform:translateY(-2px) scale(1.005)}.thread-item-title{transition:color .2s cubic-bezier(.33,1,.68,1);transition:color var(--timing-normal) var(--ease-out)}.thread-item:hover .thread-item-title{color:#b8407a;color:var(--color-primary-dark)}.thread-stat{transition:background-color .2s cubic-bezier(.33,1,.68,1),transform .15s cubic-bezier(.34,1.56,.64,1);transition:background-color var(--timing-normal) var(--ease-out),transform var(--timing-fast) var(--ease-spring)}.thread-item:hover .thread-stat{background:#e379a9;background:var(--color-primary-light);color:#fff;color:var(--color-white);transform:scale(1.05)}.form-input,.form-textarea{border-radius:8px;border-radius:var(--radius-md);transition:border-color .2s cubic-bezier(.33,1,.68,1),box-shadow .2s cubic-bezier(.33,1,.68,1),transform .15s cubic-bezier(.34,1.56,.64,1);transition:border-color var(--timing-normal) var(--ease-out),box-shadow var(--timing-normal) var(--ease-out),transform var(--timing-fast) var(--ease-spring)}.form-input:hover:not(:disabled),.form-textarea:hover:not(:disabled){border-color:#ccc;border-color:var(--color-gray-300)}.form-input:focus,.form-textarea:focus{border-color:#d74d8b;border-color:var(--color-primary);box-shadow:0 0 0 3px #d74d8b26,0 2px 4px #00000014;box-shadow:0 0 0 3px #d74d8b26,var(--shadow-sm);outline:none;transform:translateY(-1px)}.floating-label{position:relative}.floating-label label{background:#0000;color:#888;color:var(--color-gray-500);left:12px;left:var(--space-3);padding:0 4px;padding:0 var(--space-1);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:all .2s cubic-bezier(.33,1,.68,1);transition:all var(--timing-normal) var(--ease-out)}.floating-label .form-input:focus~label,.floating-label .form-input:not(:placeholder-shown)~label{background:#fff;background:var(--color-white);color:#d74d8b;color:var(--color-primary);font-size:.75rem;font-size:var(--font-size-xs);top:0}.input-underline{position:relative}.input-underline:after{background:linear-gradient(90deg,#d74d8b,#f1823c);background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));bottom:0;content:"";height:2px;left:50%;position:absolute;transition:width .3s cubic-bezier(.33,1,.68,1),left .3s cubic-bezier(.33,1,.68,1);transition:width var(--timing-medium) var(--ease-out),left var(--timing-medium) var(--ease-out);width:0}.input-underline:focus-within:after{left:0;width:100%}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes spinnerPulse{0%,to{opacity:1}50%{opacity:.5}}.spinner{animation:spin .8s linear infinite;border:3px solid #d74d8b33;border-radius:9999px;border-radius:var(--radius-full);border-top:3px solid var(--color-primary);display:inline-block;height:24px;width:24px}.spinner-lg{border-width:4px;height:40px;width:40px}.spinner-sm{border-width:2px;height:16px;width:16px}@keyframes bounceDot{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.loader-dots{align-items:center;display:flex;gap:8px;gap:var(--space-2);justify-content:center}.loader-dots span{animation:bounceDot 1.4s ease-in-out infinite both;background:#d74d8b;background:var(--color-primary);border-radius:9999px;border-radius:var(--radius-full);height:10px;width:10px}.loader-dots span:first-child{animation-delay:-.32s}.loader-dots span:nth-child(2){animation-delay:-.16s}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#f5f5f5 25%,#f9f9f9 50%,#f5f5f5 75%);background:linear-gradient(90deg,var(--color-gray-100) 25%,var(--color-gray-50) 50%,var(--color-gray-100) 75%);background-size:200% 100%;border-radius:8px;border-radius:var(--radius-md)}.skeleton-text{height:1em;margin-bottom:8px;margin-bottom:var(--space-2)}.skeleton-title{height:1.5em;margin-bottom:12px;margin-bottom:var(--space-3);width:60%}.skeleton-avatar{border-radius:9999px;border-radius:var(--radius-full);height:40px;width:40px}.skeleton-card{border-radius:12px;border-radius:var(--radius-lg);height:100px}.loading-state{align-items:center;display:flex;flex-direction:column;gap:16px;gap:var(--space-4);justify-content:center}.loading-state:before{animation:spin .8s linear infinite;border:4px solid #d74d8b33;border-radius:9999px;border-radius:var(--radius-full);border-top:4px solid var(--color-primary);content:"";display:block;height:48px;width:48px}@keyframes successPop{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@keyframes successCheck{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}@keyframes successRipple{0%{opacity:1;transform:scale(.5)}to{opacity:0;transform:scale(2)}}.success-indicator{align-items:center;animation:successPop .3s cubic-bezier(.34,1.56,.64,1);animation:successPop var(--timing-medium) var(--ease-spring);display:inline-flex;height:48px;justify-content:center;position:relative;width:48px}.success-indicator,.success-indicator:before{background:#4caf50;background:var(--color-success);border-radius:9999px;border-radius:var(--radius-full)}.success-indicator:before{animation:successRipple .6s cubic-bezier(.33,1,.68,1);animation:successRipple .6s var(--ease-out);content:"";inset:0;position:absolute}.success-indicator svg{stroke:#fff;stroke-width:3;fill:none;height:24px;width:24px}.success-indicator svg path{stroke-dasharray:100;animation:successCheck .4s cubic-bezier(.33,1,.68,1) .2s forwards;animation:successCheck .4s .2s var(--ease-out) forwards}.toast-success{background:#4caf50;background:var(--color-success);border-radius:9999px;border-radius:var(--radius-full);bottom:24px;bottom:var(--space-6);box-shadow:0 8px 16px #0000001f;box-shadow:var(--shadow-lg);color:#fff;color:var(--color-white);left:50%;opacity:0;padding:12px 24px;padding:var(--space-3) var(--space-6);position:fixed;transform:translateX(-50%) translateY(100px);transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .2s cubic-bezier(.33,1,.68,1);transition:transform var(--timing-medium) var(--ease-spring),opacity var(--timing-normal) var(--ease-out);z-index:1100}.toast-success.visible{opacity:1;transform:translateX(-50%) translateY(0)}.nav-link{border-radius:8px;border-radius:var(--radius-md);overflow:hidden;position:relative;transition:background-color .2s cubic-bezier(.33,1,.68,1),transform .15s cubic-bezier(.34,1.56,.64,1),box-shadow .2s cubic-bezier(.33,1,.68,1);transition:background-color var(--timing-normal) var(--ease-out),transform var(--timing-fast) var(--ease-spring),box-shadow var(--timing-normal) var(--ease-out)}.nav-link:before{background:linear-gradient(90deg,#fff,#ffffff80);background:linear-gradient(90deg,var(--color-white),#ffffff80);bottom:0;content:"";height:3px;left:0;position:absolute;transform:scaleX(0);transform-origin:right;transition:transform .3s cubic-bezier(.33,1,.68,1);transition:transform var(--timing-medium) var(--ease-out);width:100%}.nav-link:hover{box-shadow:0 4px 12px #00000026,0 0 20px #f1823c4d;box-shadow:0 4px 12px #00000026,var(--glow-secondary);text-decoration:none;transform:translateY(-2px)}.nav-link:hover:before{transform:scaleX(1);transform-origin:left}.nav-link:active{transform:translateY(0)}.nav-link.active{background-color:#f1823c;background-color:var(--color-secondary);box-shadow:inset 0 -3px 0 #ffffff4d}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-on-scroll{opacity:0}.animate-on-scroll.visible{animation:fadeInUp .5s cubic-bezier(.33,1,.68,1) forwards;animation:fadeInUp var(--timing-slower) var(--ease-out) forwards}.animate-on-scroll.visible.fade-left{animation:fadeInLeft .5s cubic-bezier(.33,1,.68,1) forwards;animation:fadeInLeft var(--timing-slower) var(--ease-out) forwards}.animate-on-scroll.visible.fade-right{animation:fadeInRight .5s cubic-bezier(.33,1,.68,1) forwards;animation:fadeInRight var(--timing-slower) var(--ease-out) forwards}.animate-on-scroll.visible.fade-scale{animation:fadeInScale .5s cubic-bezier(.33,1,.68,1) forwards;animation:fadeInScale var(--timing-slower) var(--ease-out) forwards}.stagger-children.visible>*{animation:fadeInUp .5s cubic-bezier(.33,1,.68,1) forwards;animation:fadeInUp var(--timing-slower) var(--ease-out) forwards;opacity:0}.stagger-children.visible>:first-child{animation-delay:0ms}.stagger-children.visible>:nth-child(2){animation-delay:.1s}.stagger-children.visible>:nth-child(3){animation-delay:.2s}.stagger-children.visible>:nth-child(4){animation-delay:.3s}.stagger-children.visible>:nth-child(5){animation-delay:.4s}.stagger-children.visible>:nth-child(6){animation-delay:.5s}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:opacity .3s cubic-bezier(.33,1,.68,1),-webkit-backdrop-filter .3s cubic-bezier(.33,1,.68,1);transition:opacity .3s cubic-bezier(.33,1,.68,1),backdrop-filter .3s cubic-bezier(.33,1,.68,1);transition:opacity .3s cubic-bezier(.33,1,.68,1),backdrop-filter .3s cubic-bezier(.33,1,.68,1),-webkit-backdrop-filter .3s cubic-bezier(.33,1,.68,1);transition:opacity var(--timing-medium) var(--ease-out),-webkit-backdrop-filter var(--timing-medium) var(--ease-out);transition:opacity var(--timing-medium) var(--ease-out),backdrop-filter var(--timing-medium) var(--ease-out);transition:opacity var(--timing-medium) var(--ease-out),backdrop-filter var(--timing-medium) var(--ease-out),-webkit-backdrop-filter var(--timing-medium) var(--ease-out)}.modal-content{border-radius:16px;border-radius:var(--radius-xl);transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .2s cubic-bezier(.33,1,.68,1);transition:transform var(--timing-medium) var(--ease-spring),opacity var(--timing-normal) var(--ease-out)}.modal-close{border-radius:8px;border-radius:var(--radius-md);transition:color .15s cubic-bezier(.33,1,.68,1),transform .15s cubic-bezier(.34,1.56,.64,1),background-color .15s cubic-bezier(.33,1,.68,1);transition:color var(--timing-fast) var(--ease-out),transform var(--timing-fast) var(--ease-spring),background-color var(--timing-fast) var(--ease-out)}.modal-close:hover{background-color:#d74d8b1a;color:#d74d8b;color:var(--color-primary);transform:rotate(90deg)}.forum-post{border-radius:12px;border-radius:var(--radius-lg);transition:box-shadow .2s cubic-bezier(.33,1,.68,1),transform .15s cubic-bezier(.34,1.56,.64,1);transition:box-shadow var(--timing-normal) var(--ease-out),transform var(--timing-fast) var(--ease-spring)}.forum-post:hover{box-shadow:0 8px 16px #0000001f;box-shadow:var(--shadow-lg)}.post-avatar{transition:transform .2s cubic-bezier(.34,1.56,.64,1);transition:transform var(--timing-normal) var(--ease-spring)}.forum-post:hover .post-avatar{transform:scale(1.1)}.original-badge{transition:background-color .2s cubic-bezier(.33,1,.68,1),transform .15s cubic-bezier(.34,1.56,.64,1);transition:background-color var(--timing-normal) var(--ease-out),transform var(--timing-fast) var(--ease-spring)}.forum-post:hover .original-badge{background:#b8407a;background:var(--color-primary-dark);transform:scale(1.05)}.audio-item{border-radius:12px;border-radius:var(--radius-lg);transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s cubic-bezier(.33,1,.68,1);transition:transform var(--timing-medium) var(--ease-spring),box-shadow var(--timing-medium) var(--ease-out)}.audio-item:hover{box-shadow:0 8px 16px #0000001f;box-shadow:var(--shadow-lg);transform:translateY(-4px)}.lyrics{animation:fadeInUp .3s cubic-bezier(.33,1,.68,1);animation:fadeInUp var(--timing-medium) var(--ease-out);border-radius:8px;border-radius:var(--radius-md)}.page-transition{animation:fadeInUp .5s cubic-bezier(.33,1,.68,1);animation:fadeInUp var(--timing-slower) var(--ease-out)}.ripple{overflow:hidden;position:relative}.ripple:after{background:radial-gradient(circle,#ffffff4d 0,#0000 70%);content:"";height:100%;left:50%;opacity:0;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%) scale(0);transition:transform .4s cubic-bezier(.33,1,.68,1),opacity .4s cubic-bezier(.33,1,.68,1);transition:transform var(--timing-slow) var(--ease-out),opacity var(--timing-slow) var(--ease-out);width:100%}.ripple:active:after{opacity:1;transform:translate(-50%,-50%) scale(2);transition:none}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.animate-on-scroll{opacity:1}.skeleton{animation:none;background:#f5f5f5;background:var(--color-gray-100)}}:focus-visible{outline:2px solid #d74d8b;outline:2px solid var(--color-primary);outline-offset:2px}.nav-link:focus-visible,a:focus-visible,button:focus-visible{box-shadow:0 0 0 4px #d74d8b33;outline:2px solid #d74d8b;outline:2px solid var(--color-primary);outline-offset:2px}
/*# sourceMappingURL=main.6297caa2.css.map*/