@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700;800;900&display=swap";@import"https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap";@import"https://fonts.googleapis.com/css2?family=Caveat:wght@400;500;600;700&display=swap";.navigation{position:sticky;top:0;z-index:var(--z-navigation);width:100%;background:var(--brand-gradient);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-md),0 1px hsl(var(--hue-brand) 80% 50% / .1) inset;border-bottom:1px solid hsl(var(--hue-brand) 80% 50% / .1)}[data-theme=dark] .navigation{background:linear-gradient(135deg,hsl(var(--hue-brand) 50% 25%),hsl(var(--hue-brand) 45% 20%));box-shadow:var(--shadow-lg),0 1px hsl(var(--hue-brand) 60% 40% / .2) inset;border-bottom-color:hsl(var(--hue-brand) 60% 40% / .2)}.nav-container{max-width:var(--container-max);margin:0 auto;padding:var(--space-3) var(--container-padding);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:64px}.nav-logo{flex-shrink:0;display:flex;align-items:center}.nav-logo a{display:flex;align-items:center;gap:var(--space-2);text-decoration:none;color:var(--text-inverse);transition:transform var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out);will-change:transform}.nav-logo a:hover{transform:scale(1.03) translateY(-1px);opacity:.95}.nav-logo a:active{transform:scale(.98)}.nav-logo-icon{width:32px;height:32px;border-radius:var(--radius-md);background:var(--text-inverse);display:flex;align-items:center;justify-content:center;font-weight:var(--weight-bold);color:var(--brand-primary);font-size:var(--text-lg)}.nav-menu{display:flex;align-items:center;gap:var(--space-1);list-style:none;margin:0;padding:0;flex:1;justify-content:flex-end}.nav-item{position:relative}.nav-link{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-none);color:#ffffffe6;text-decoration:none;white-space:nowrap;border-radius:var(--radius-full);background:transparent;transition:all var(--duration-fast) var(--ease-out);will-change:background-color,transform}.nav-link-icon{font-size:var(--text-lg);line-height:1;opacity:.9}.nav-link:hover{background:#ffffff26;color:#fff;transform:translateY(-1px)}.nav-link[aria-current=page],.nav-link.active{background:var(--text-inverse);color:var(--brand-primary);font-weight:var(--weight-semibold);box-shadow:var(--shadow-sm)}.nav-link[aria-current=page]:hover,.nav-link.active:hover{color:var(--brand-primary-hover);background:var(--text-inverse)}.nav-link:focus-visible{outline:none;box-shadow:0 0 0 2px var(--text-inverse),0 0 0 4px var(--brand-primary)}.nav-controls{display:flex;align-items:center;gap:var(--space-2);margin-left:var(--space-2);padding-left:var(--space-2);border-left:1px solid hsl(0 0% 100% / .2);flex-shrink:0}.control-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#ffffff1a;border:1px solid hsl(0 0% 100% / .2);border-radius:var(--radius-full);color:var(--text-inverse);font-size:var(--text-base);line-height:1;cursor:pointer;transition:all var(--duration-fast) var(--ease-out);will-change:transform,background-color}@media(min-width:769px){.control-button{width:32px;height:32px;font-size:var(--text-sm)}}@media(max-width:1024px)and (min-width:769px){.control-button{width:34px;height:34px;font-size:var(--text-base)}}@media(max-width:768px){.control-button{width:40px;height:40px;font-size:var(--text-lg)}.nav-controls{margin-left:0;padding-left:0;border-left:none}}@media(max-width:480px){.control-button{width:36px;height:36px;font-size:var(--text-base)}}.control-button:hover{background:#fff3;border-color:#ffffff4d;transform:translateY(-2px);box-shadow:0 4px 12px hsl(var(--hue-brand) 50% 20% / .3)}.control-button:active{transform:translateY(0)}.control-button:focus-visible{outline:none;box-shadow:0 0 0 2px var(--text-inverse),0 0 0 4px var(--brand-primary)}.control-button[aria-pressed=true]{background:var(--text-inverse);color:var(--brand-primary);border-color:var(--text-inverse)}.nav-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;width:44px;height:44px;gap:5px;background:transparent;border:none;cursor:pointer;padding:0;border-radius:var(--radius-md);transition:background-color var(--duration-fast) var(--ease-out);order:0;flex-shrink:0}.nav-toggle:hover{background:#ffffff1a}.nav-toggle-line{width:24px;height:2px;background:var(--text-inverse);border-radius:2px;transition:all var(--duration-normal) var(--ease-spring);transform-origin:center}.nav-toggle[aria-expanded=true] .nav-toggle-line:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle-line:nth-child(2){opacity:0;transform:scaleX(0)}.nav-toggle[aria-expanded=true] .nav-toggle-line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media(max-width:1024px){.nav-container{padding:var(--space-2) var(--space-4)}.nav-link{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}}@media(max-width:768px){.nav-container{flex-wrap:wrap;min-height:56px;padding:var(--space-2) var(--space-3);position:relative}.nav-toggle{display:flex;order:0}.nav-logo{order:1;flex:1;display:flex;justify-content:center}.nav-controls{order:2;margin-left:0;padding-left:0;border-left:none}.nav-menu{order:3;flex-basis:100%;flex-direction:column;gap:var(--space-1);padding:var(--space-3) 0;margin-top:var(--space-2);max-height:0;overflow:hidden;opacity:0;visibility:hidden;transition:all var(--duration-normal) var(--ease-out)}.nav-menu.open,.nav-menu[aria-expanded=true]{max-height:400px;overflow-y:auto;opacity:1;visibility:visible;margin-top:var(--space-2)}.nav-link{width:100%;justify-content:center;padding:var(--space-3) var(--space-4);font-size:var(--text-base);border-radius:var(--radius-md)}.nav-link.active{background:#fff3;color:var(--text-inverse);box-shadow:none}.nav-link.active:hover{background:#ffffff40}}@media(max-width:480px){.nav-container{min-height:52px;padding:var(--space-2)}.nav-logo .logo-text{font-size:var(--text-xl)}.nav-toggle{width:40px;height:40px}.nav-toggle-line{width:20px}.control-button{width:32px;height:32px;font-size:var(--text-sm)}.nav-menu.open,.nav-menu[aria-expanded=true]{max-height:350px}.nav-link{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}}@media(prefers-reduced-motion:reduce){.navigation *,.nav-logo a,.nav-link,.control-button,.nav-toggle,.nav-toggle-line{transition-duration:0ms!important;animation-duration:0ms!important}.nav-menu{transition:opacity var(--duration-instant) var(--ease-out),visibility var(--duration-instant) var(--ease-out)}}@media(prefers-contrast:high){.navigation{background:var(--brand-primary);border-bottom:2px solid var(--text-inverse)}.nav-link{border:1px solid transparent}.nav-link.active{border-color:var(--text-inverse)}.control-button{border:2px solid var(--text-inverse)}}[data-theme=light] .logo-text{position:relative;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb,#667eea,#764ba2);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:wave 3s ease-in-out infinite;text-shadow:none}[data-theme=light] .logo-text:hover{animation:wave 1.5s ease-in-out infinite;transform:scale(1.02)}:root{--nav-link-padding: var(--space-2) var(--space-4);--nav-link-font-size: var(--text-sm);--nav-control-size: 36px}.footer{background:var(--bg-secondary);color:var(--text-primary);border-top:1px solid var(--border-subtle);padding:var(--space-3) 0 var(--space-2);margin-top:auto;transition:all var(--duration-normal) var(--ease-out);font-size:var(--text-sm)}.footer-content{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding);display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-6)}.disclaimer-section{flex:2;min-width:300px}.disclaimer-section p{color:var(--text-tertiary);line-height:var(--leading-relaxed);margin:0;font-size:var(--text-xs)}@media(min-width:768px){.disclaimer-section p{font-size:var(--text-sm)}}.links-section{flex:0 1 auto;min-width:140px}.links-section h4{color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--weight-semibold);margin-bottom:6px;text-transform:uppercase;letter-spacing:var(--tracking-wide);line-height:var(--leading-normal)}@media(min-width:768px){.links-section h4{font-size:var(--text-sm);margin-bottom:8px}}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin-bottom:4px}@media(min-width:768px){.footer-links li{margin-bottom:6px}}.footer-link{color:var(--text-tertiary);text-decoration:none;transition:all var(--duration-fast) var(--ease-out);font-size:var(--text-xs);display:inline-block;padding:1px 0;line-height:var(--leading-normal)}@media(min-width:768px){.footer-link{font-size:var(--text-sm)}}.footer-link:hover{color:var(--brand-primary);transform:translate(2px)}[data-theme=dark] .footer-link:hover{color:var(--brand-primary)}.footer-bottom{max-width:var(--container-max);margin:var(--space-2) auto 0;padding:var(--space-2) var(--container-padding) 0;border-top:1px solid var(--border-subtle);text-align:center}.footer-copyright{color:var(--text-tertiary);font-size:var(--text-xs);opacity:.7;margin:0;line-height:var(--leading-normal)}@media(max-width:768px){.footer{padding:var(--space-2) 0}.footer-content{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.disclaimer-section,.links-section{width:100%;min-width:auto}.links-section h4{margin-bottom:4px}.footer-links{display:flex;flex-wrap:wrap;gap:var(--space-3)}.footer-links li{margin-bottom:0}}@media(max-width:480px){.footer-content{gap:var(--space-2)}.disclaimer-section p,.links-section h4,.footer-link,.footer-copyright{font-size:var(--text-xs)}.footer-links{gap:var(--space-2)}}[data-theme=dark] .footer,[data-theme=dark] .footer-bottom{border-top-color:var(--border-strong)}@media(prefers-reduced-motion:reduce){.footer,.footer-link{transition:none}.footer-link:hover{transform:none}}.layout{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-page);width:100%;margin:0;padding:0;transition:background-color var(--duration-normal) var(--ease-out);overflow-x:hidden}.main-content{flex:1;width:100%;max-width:100%;margin:0;background:var(--bg-page);padding:0;transition:background-color var(--duration-normal) var(--ease-out);position:relative;overflow:hidden}.content-wrapper{width:100%;max-width:var(--container-max);margin:var(--space-4) auto;background:var(--bg-page);transition:background-color var(--duration-normal) var(--ease-out);padding:0 var(--container-padding);box-sizing:border-box}.contacts-container,.feedback-container,.add-vtuber-container,.calendar-container,.admin-dashboard,.legal-page,.hero-content{width:100%;max-width:100%;margin:0;padding:var(--space-6);background:transparent;box-shadow:none;min-height:auto;transition:background-color var(--duration-normal) var(--ease-out);box-sizing:border-box}@media(max-width:768px){.content-wrapper{margin:var(--space-3) auto;padding:0 var(--space-4)}.contacts-container,.feedback-container,.add-vtuber-container,.calendar-container,.admin-dashboard,.legal-page,.hero-content{padding:var(--space-4)}}@media(max-width:480px){.content-wrapper{margin:var(--space-2) auto;padding:0 var(--space-3)}.contacts-container,.feedback-container,.add-vtuber-container,.calendar-container,.admin-dashboard,.legal-page,.hero-content{padding:var(--space-3)}}.motion-div{will-change:transform,opacity}@media(prefers-reduced-motion:reduce){.motion-div{will-change:auto}.layout,.main-content,.content-wrapper,.contacts-container,.feedback-container,.add-vtuber-container,.calendar-container,.admin-dashboard,.legal-page,.hero-content{transition:none}}.hero-content{max-width:var(--container-max);width:100%;margin:0 auto;text-align:center;animation:fade-in 1s var(--ease-out)}.content-card{background:var(--bg-primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-4);box-shadow:var(--shadow-lg);border:1px solid var(--border-subtle);transition:all var(--duration-normal) var(--ease-out);width:100%;box-sizing:border-box}.hero-loading,.hero-error{min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4)}.loading-spinner{width:50px;height:50px;border:4px solid var(--border-subtle);border-top-color:var(--brand-primary);border-radius:var(--radius-full);animation:spin 1s linear infinite}.retry-button{padding:var(--space-2) var(--space-5);background:var(--brand-gradient);color:var(--text-inverse);border:none;border-radius:var(--radius-full);cursor:pointer;font-size:var(--text-base);font-weight:var(--weight-medium);transition:all var(--duration-fast) var(--ease-out)}.retry-button:hover{transform:scale(1.05);box-shadow:var(--shadow-md);color:var(--text-inverse)!important}@keyframes spin{to{transform:rotate(360deg)}}.text-skeleton{display:inline-block;background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--border-default) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:skeleton-loading var(--duration-slow) infinite linear;border-radius:var(--radius-sm);color:transparent!important;pointer-events:none}.skeleton-title{height:32px;width:60%;margin:0 auto var(--space-4);border-radius:var(--radius-md)}.skeleton-line{height:16px;width:100%;margin-bottom:var(--space-2);border-radius:var(--radius-sm)}.skeleton-list-item{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.skeleton-avatar{width:50px;height:50px;border-radius:var(--radius-full);flex-shrink:0}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-10);text-align:center;color:var(--text-secondary);animation:fade-in var(--duration-normal) var(--ease-out)}.empty-illustration{font-size:4rem;margin-bottom:var(--space-4);opacity:.8;animation:float 3s var(--ease-in-out) infinite}.empty-text{font-size:var(--text-lg);font-weight:var(--weight-medium);margin-bottom:var(--space-2);color:var(--text-primary)}.empty-subtext{font-size:var(--text-sm);color:var(--text-tertiary);max-width:400px;line-height:var(--leading-relaxed)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.section-title{font-family:var(--font-brand);font-size:var(--text-2xl);font-weight:var(--weight-bold);margin-bottom:var(--space-4);background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}@media(min-width:768px){.section-title{font-size:var(--text-3xl)}}.section-title.no-birthday{color:var(--text-primary);font-size:var(--text-2xl);margin-bottom:var(--space-6);text-align:center;background:none;-webkit-background-clip:unset;background-clip:unset}@media(min-width:768px){.section-title.no-birthday{font-size:var(--text-3xl)}}.upcoming-title{font-family:var(--font-brand);font-size:var(--text-xl);font-weight:var(--weight-semibold);margin-bottom:var(--space-4);color:var(--text-primary);line-height:var(--leading-tight);text-align:center}@media(min-width:768px){.upcoming-title{font-size:var(--text-2xl)}}.birthday-message{font-family:var(--font-decorative);font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--text-primary);margin:var(--space-6) auto;padding:var(--space-4) var(--space-6);background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;border-radius:var(--radius-full);display:inline-block;line-height:var(--leading-relaxed);border:2px solid var(--brand-primary);box-shadow:var(--shadow-md);max-width:800px;width:auto;min-width:200px;text-align:center;position:relative;word-wrap:break-word;overflow-wrap:break-word;hyphens:none;-webkit-hyphens:none;-ms-hyphens:none;animation:birthday-pulse 2s var(--ease-in-out) infinite;box-sizing:border-box}[data-theme=dark] .birthday-message{background:linear-gradient(135deg,#b794f4,#fbb6ce);-webkit-background-clip:text;background-clip:text;color:transparent;border-color:var(--brand-300);box-shadow:0 0 20px hsl(var(--hue-brand) 80% 70% / .3)}.message-text{display:inline;vertical-align:middle;white-space:normal;word-break:normal;overflow-wrap:break-word}.message-author{color:var(--text-tertiary);font-style:italic;font-size:var(--text-sm);white-space:nowrap;display:inline-block;margin-left:var(--space-2);padding-left:var(--space-2);border-left:1px solid var(--border-subtle);line-height:1.2;vertical-align:middle}@media(max-width:768px){.birthday-message{font-size:var(--text-base);padding:var(--space-4) var(--space-4);max-width:calc(100% - var(--space-4));width:auto;margin-left:var(--space-2);margin-right:var(--space-2);line-height:var(--leading-normal);border-width:2px;word-break:normal;overflow-wrap:break-word;white-space:normal;height:auto;min-height:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1)}.message-text{display:block;width:100%}.message-author{font-size:var(--text-xs);display:inline-block;margin-left:var(--space-1);white-space:normal;word-break:normal;border-left:none;padding-left:0}.message-author:before{content:"— ";opacity:.7}}@media(max-width:480px){.birthday-message{font-size:var(--text-sm);padding:var(--space-3) var(--space-3);margin-left:var(--space-1);margin-right:var(--space-1);max-width:calc(100% - var(--space-2));line-height:var(--leading-snug);min-height:70px}.message-text{display:block;width:100%;margin-bottom:var(--space-1);text-align:center}.message-author{font-size:var(--text-xs);display:block;margin-top:var(--space-1);margin-left:0;text-align:center;width:100%}.message-author:before{content:""}}@media(max-width:320px){.birthday-message{font-size:var(--text-xs);padding:var(--space-2);line-height:var(--leading-normal);min-height:60px}.message-author{font-size:var(--text-xs);margin-top:var(--space-1)}}@keyframes birthday-pulse{0%,to{transform:scale(1);box-shadow:var(--shadow-md)}50%{transform:scale(1.02);box-shadow:var(--shadow-lg)}}.birthday-slider{display:flex;justify-content:center;align-items:center;gap:var(--space-6);flex-wrap:wrap;margin:var(--space-4) 0;width:100%}.birthday-slide{flex:0 1 auto;text-align:center;animation:slide-up var(--duration-normal) var(--ease-out);transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);border-radius:var(--radius-xl);padding:var(--space-2)}.birthday-slide:hover{transform:translateY(-5px);box-shadow:0 10px 25px var(--brand-glow)}[data-theme=dark] .birthday-slide:hover{box-shadow:0 10px 25px hsl(var(--hue-brand) 70% 60% / .15)}.birthday-link,.upcoming-item{text-decoration:none!important;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);transition:transform var(--duration-fast) var(--ease-out);width:100%;position:relative;z-index:1}.birthday-link:hover,.upcoming-item:hover{transform:scale(1.05);text-decoration:none!important}.birthday-link:hover *,.upcoming-item:hover *{text-decoration:none!important}.avatar-container{position:relative;display:flex;justify-content:center;align-items:center;width:min(200px,25vw);height:min(200px,25vw);margin:0 auto;border-radius:var(--radius-full);overflow:visible;z-index:1}.birthday-avatar-large{width:100%;height:100%;border-radius:var(--radius-full);border:5px solid var(--brand-primary);box-shadow:var(--shadow-sm);object-fit:cover;transition:all var(--duration-fast) var(--ease-out);display:block;aspect-ratio:1 / 1}.birthday-link:hover .birthday-avatar-large{box-shadow:0 0 20px var(--brand-glow);border-color:var(--brand-primary-hover);transform:scale(1.02)}.birthday-name{font-family:var(--font-brand);font-size:var(--text-xl);font-weight:var(--weight-semibold);margin:var(--space-2) 0;transition:color var(--duration-fast) var(--ease-out);color:var(--text-primary);text-align:center;max-width:100%;word-break:break-word;line-height:var(--leading-tight);text-decoration:none!important}@media(max-width:768px){.birthday-name{font-size:var(--text-lg)}}.live-dot{position:absolute!important;bottom:5px!important;right:5px!important;width:20px!important;height:20px!important;background-color:var(--live-color)!important;border-radius:var(--radius-full)!important;border:2px solid var(--bg-primary)!important;box-shadow:0 0 10px hsl(var(--hue-error) 80% 60% / .8)!important;z-index:10!important;display:block!important;opacity:1!important;pointer-events:none;animation:live-pulse var(--live-pulse)!important;text-decoration:none!important;transform:none!important;transition:none!important;box-sizing:content-box!important;line-height:1!important}.birthday-link:hover .live-dot{transform:none!important;animation:live-pulse var(--live-pulse)!important}.avatar-container-small{position:relative;width:50px;height:50px;border-radius:var(--radius-full);overflow:visible;z-index:1;flex-shrink:0}.live-dot-small{position:absolute!important;bottom:0!important;right:0!important;width:14px!important;height:14px!important;background-color:var(--live-color)!important;border-radius:var(--radius-full)!important;border:2px solid var(--bg-primary)!important;box-shadow:0 0 8px hsl(var(--hue-error) 80% 60% / .8)!important;z-index:10!important;display:block!important;opacity:1!important;pointer-events:none;animation:live-pulse var(--live-pulse)!important;text-decoration:none!important;transform:none!important;transition:none!important;box-sizing:content-box!important;line-height:1!important}.upcoming-item:hover .live-dot-small{transform:none!important;animation:live-pulse var(--live-pulse)!important}@keyframes live-pulse{0%{opacity:1;background-color:var(--live-color);box-shadow:0 0 5px hsl(var(--hue-error) 80% 60% / .8)}50%{opacity:.9;background-color:hsl(var(--hue-error) 100% 50%);box-shadow:0 0 15px hsl(var(--hue-error) 100% 50% / .9)}to{opacity:1;background-color:var(--live-color);box-shadow:0 0 5px hsl(var(--hue-error) 80% 60% / .8)}}.leap-year-badge{position:absolute;top:10px;right:10px;width:24px;height:24px;background:var(--leap-year);color:var(--text-inverse);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-weight:var(--weight-bold);font-size:var(--text-base);border:2px solid var(--bg-primary);box-shadow:0 2px 5px hsl(var(--shadow-color) / .2);z-index:2;text-decoration:none!important}.leap-year-badge-small{position:absolute;top:-2px;right:-2px;width:16px;height:16px;background:var(--leap-year);color:var(--text-inverse);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-weight:var(--weight-bold);font-size:var(--text-xs);border:2px solid var(--bg-primary);box-shadow:0 2px 5px hsl(var(--shadow-color) / .2);z-index:2;text-decoration:none!important}.leap-year-star{color:var(--leap-year);margin-left:3px;font-weight:var(--weight-bold);text-decoration:none!important}.upcoming-section{margin-top:var(--space-4);width:100%;display:flex;flex-direction:column;align-items:center}.upcoming-list{display:flex;flex-direction:row;flex-wrap:nowrap;gap:var(--space-3);max-width:100%;margin:var(--space-4) auto;width:100%;padding:0 var(--space-2) var(--space-2) var(--space-2);overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--brand-primary) var(--border-subtle);padding-bottom:var(--space-2);justify-content:center}.upcoming-list:not(.overflowing){justify-content:center}.upcoming-list.overflowing{justify-content:flex-start}.upcoming-list::-webkit-scrollbar{height:6px}.upcoming-list::-webkit-scrollbar-track{background:var(--border-subtle);border-radius:var(--radius-full)}.upcoming-list::-webkit-scrollbar-thumb{background:var(--brand-primary);border-radius:var(--radius-full)}.upcoming-list::-webkit-scrollbar-thumb:hover{background:var(--brand-primary-hover)}.upcoming-item{display:flex;align-items:center;gap:var(--space-4);background:var(--bg-primary);padding:var(--space-3) var(--space-5);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);text-decoration:none!important;color:var(--text-primary);transition:all var(--duration-fast) var(--ease-out);border:2px solid transparent;width:auto;min-width:200px;flex-shrink:0;box-sizing:border-box}.upcoming-item:hover{transform:translateY(-3px);box-shadow:0 8px 20px var(--brand-glow);border-color:var(--brand-primary);text-decoration:none!important}[data-theme=dark] .upcoming-item:hover{box-shadow:0 8px 20px hsl(var(--hue-brand) 70% 60% / .15)}.upcoming-item:hover *{text-decoration:none!important}.upcoming-avatar{width:100%;height:100%;border-radius:var(--radius-full);object-fit:cover;border:2px solid transparent;transition:border-color var(--duration-fast) var(--ease-out);aspect-ratio:1 / 1}.upcoming-item:hover .upcoming-avatar{border-color:var(--brand-primary)}.upcoming-name{font-weight:var(--weight-semibold);flex:0 1 auto;text-align:left;font-size:var(--text-base);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-left:0;line-height:var(--leading-normal);text-decoration:none!important;max-width:150px}@media(max-width:768px){.upcoming-name{font-size:var(--text-sm);max-width:120px}}.upcoming-date{color:var(--text-inverse);background:var(--brand-primary);padding:6px var(--space-4);border-radius:var(--radius-full);font-weight:var(--weight-semibold);font-size:var(--text-sm);white-space:nowrap;transition:all var(--duration-fast) var(--ease-out);border:1px solid hsl(0 0% 100% / .2);flex-shrink:0;line-height:var(--leading-normal);text-decoration:none!important}@media(max-width:768px){.upcoming-date{font-size:var(--text-xs);padding:4px var(--space-3)}}.upcoming-item:hover .upcoming-date{background:var(--brand-primary-hover)}@media(max-width:768px){.upcoming-list{flex-direction:column;overflow-x:visible;gap:var(--space-2);max-width:100%;padding:0 var(--space-2);justify-content:flex-start}.upcoming-item{width:100%;min-width:100%}.upcoming-name{max-width:none;flex:1}}@media(max-width:480px){.upcoming-item{padding:var(--space-2) var(--space-3);gap:var(--space-2)}.avatar-container-small{width:40px;height:40px}.upcoming-name{font-size:var(--text-sm)}.upcoming-date{font-size:var(--text-xs);padding:4px var(--space-2)}}@media(max-width:320px){.avatar-container-small{width:35px;height:35px}.upcoming-name{font-size:var(--text-xs)}.upcoming-date{font-size:var(--text-xs);padding:3px var(--space-2)}}.cta-button{font-size:var(--text-lg);font-weight:var(--weight-semibold);padding:var(--space-3) var(--space-8);background:var(--brand-gradient);color:var(--text-inverse);border-radius:var(--radius-full);text-decoration:none;display:inline-block;border:2px solid var(--bg-primary);transition:all var(--duration-fast) var(--ease-out);position:relative;z-index:5;box-shadow:var(--shadow-md);margin-top:var(--space-4);line-height:var(--leading-normal)}.cta-button:hover{transform:scale(1.05);box-shadow:var(--shadow-lg);color:var(--text-inverse)!important;text-decoration:none}.cta-button:active{transform:scale(.98)}.birthday-link:focus-visible,.upcoming-item:focus-visible{outline:3px solid var(--brand-primary);outline-offset:2px}@media(max-width:768px){.content-card{padding:var(--space-4)}.birthday-slider{gap:var(--space-4)}.avatar-container{width:min(150px,30vw);height:min(150px,30vw)}.birthday-avatar-large{border-width:4px}.upcoming-list{max-width:100%;padding:0 var(--space-2)}.upcoming-item{padding:var(--space-2) var(--space-4);gap:var(--space-2)}.avatar-container-small{width:45px;height:45px}.live-dot{width:16px!important;height:16px!important;bottom:3px!important;right:3px!important;border-width:2px!important}.leap-year-badge{width:20px;height:20px;font-size:var(--text-sm);border-width:2px}}@media(max-width:480px){.content-card{padding:var(--space-3);border-radius:var(--radius-lg)}.section-title,.section-title.no-birthday{font-size:var(--text-xl)}.upcoming-title{font-size:var(--text-lg)}.birthday-slider{gap:var(--space-2)}.avatar-container{width:min(120px,35vw);height:min(120px,35vw)}.birthday-avatar-large{border-width:3px}.birthday-name{font-size:var(--text-base)}.upcoming-list{gap:var(--space-2)}.upcoming-item{padding:var(--space-2) var(--space-3);gap:var(--space-2)}.avatar-container-small{width:40px;height:40px}.upcoming-name{font-size:var(--text-sm)}.upcoming-date{font-size:var(--text-xs);padding:4px var(--space-2)}.live-dot{width:14px!important;height:14px!important;border-width:1.5px!important}.live-dot-small{width:12px!important;height:12px!important;border-width:1.5px!important}.leap-year-badge{width:18px;height:18px;font-size:var(--text-xs);border-width:1.5px}.leap-year-badge-small{width:14px;height:14px;font-size:var(--text-xs);border-width:1.5px}.cta-button{font-size:var(--text-base);padding:var(--space-2) var(--space-6)}}@media(max-width:320px){.avatar-container{width:min(150px,70vw);height:min(150px,70vw)}.birthday-avatar-large{width:150px;height:150px}.live-dot{width:12px!important;height:12px!important}.avatar-container-small{width:35px;height:35px}.upcoming-name{font-size:var(--text-xs)}.upcoming-date{font-size:var(--text-xs);padding:3px var(--space-2)}.live-dot-small{width:10px!important;height:10px!important}}.content-card,.content-card.has-birthdays{position:relative;overflow:hidden}@keyframes firework{0%{transform:scale(0);opacity:1}30%{transform:scale(1.2);opacity:.9}60%{transform:scale(1.5);opacity:.6}to{transform:scale(2);opacity:0}}@keyframes firework-spark{0%{transform:translate(0) scale(1);opacity:1}50%{opacity:.8}to{transform:translate(var(--dx),var(--dy)) scale(0);opacity:0}}.firework{position:absolute;width:8px;height:8px;border-radius:50%;pointer-events:none;z-index:15;animation:firework 1s ease-out forwards;will-change:transform,opacity}.firework-spark{position:absolute;width:4px;height:4px;border-radius:50%;pointer-events:none;z-index:15;animation:firework-spark .7s ease-out forwards;will-change:transform,opacity}[data-theme=light] .content-card.has-birthdays:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(255,107,107,.1) 0%,transparent 60%);pointer-events:none;z-index:0;animation:gentle-pulse 8s ease-in-out infinite}[data-theme=light] .content-card.has-birthdays:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 70%,rgba(255,180,71,.1) 0%,transparent 60%);pointer-events:none;z-index:0;animation:gentle-pulse 8s ease-in-out infinite reverse}@keyframes gentle-pulse{0%,to{opacity:.5}50%{opacity:1}}[data-theme=light] .content-card.has-birthdays{background:linear-gradient(135deg,var(--bg-primary) 0%,rgba(255,107,107,.02) 50%,var(--bg-primary) 100%);transition:background .5s ease}.birthday-message-container,.birthday-message-text{display:none}a,a:hover,a:focus,a:active,.birthday-link,.birthday-link:hover,.upcoming-item,.upcoming-item:hover,.birthday-link *,.upcoming-item *{text-decoration:none!important}.live-dot,.live-dot-small{text-decoration:none!important;border:none!important;outline:none!important}.live-dot:before,.live-dot:after,.live-dot-small:before,.live-dot-small:after{display:none!important;content:none!important}@media(prefers-reduced-motion:reduce){.hero-content,.birthday-slide,.empty-illustration,.birthday-message,.live-dot,.live-dot-small{animation:none!important}.birthday-slide:hover,.upcoming-item:hover,.birthday-link:hover{transform:none}.birthday-avatar-large,.cta-button,.retry-button{transition:none}}.admin-login-container{min-height:80vh;display:flex;align-items:center;justify-content:center;padding:20px}.admin-login-card{background:#fff;padding:40px;border-radius:20px;box-shadow:0 10px 40px #0000001a;width:100%;max-width:400px}[data-theme=dark] .admin-login-card{background:var(--card-bg);color:var(--text-primary);border:1px solid var(--border-color)}.admin-login-card h2{text-align:center;color:var(--text-primary);margin-bottom:30px;font-size:var(--text-2xl);font-weight:var(--font-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.login-button{width:100%;padding:12px;background:var(--primary-gradient);color:#fff;border:none;border-radius:8px;font-size:var(--text-base);font-weight:var(--font-bold);cursor:pointer;transition:transform .3s;line-height:var(--leading-normal)}.login-button:hover:not(:disabled){transform:translateY(-2px)}.login-button:disabled{opacity:.7;cursor:not-allowed}.manage-congratulations{padding:var(--space-5)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);flex-wrap:wrap;gap:var(--space-4)}.section-header h2{font-family:var(--font-brand);font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--text-primary);margin:0}.header-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}.import-button{padding:var(--space-2) var(--space-5);background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-weight:var(--weight-medium);cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.import-button:hover{background:var(--border-strong)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.stat-card{background:var(--bg-primary);padding:var(--space-5);border-radius:var(--radius-lg);text-align:center;border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm)}.stat-value{font-family:var(--font-brand);font-size:var(--text-3xl);font-weight:var(--weight-bold);color:var(--brand-primary);line-height:var(--leading-tight);margin-bottom:var(--space-1)}.stat-label{font-size:var(--text-sm);color:var(--text-secondary)}.congratulations-list{display:flex;flex-direction:column;gap:var(--space-4)}.congratulation-card{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);transition:all var(--duration-fast) var(--ease-out);box-shadow:var(--shadow-sm)}.congratulation-card:hover{box-shadow:var(--shadow-md);border-color:var(--brand-primary)}.congratulation-card.inactive{opacity:.6;background:var(--bg-secondary)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);flex-wrap:wrap;gap:var(--space-3)}.card-title{display:flex;gap:var(--space-3);flex-wrap:wrap}.type-badge{padding:var(--space-1) var(--space-3);background:var(--brand-gradient);color:var(--text-inverse);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-bold)}.author-badge{padding:var(--space-1) var(--space-3);background:var(--bg-tertiary);color:var(--text-secondary);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-medium)}.weight-badge{padding:var(--space-1) var(--space-3);background:var(--state-info-bg);color:var(--state-info-text);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-medium)}.card-actions{display:flex;gap:var(--space-2)}.toggle-button{width:32px;height:32px;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--text-base);transition:all var(--duration-fast) var(--ease-out)}.toggle-button.active{background:var(--state-success-bg);color:var(--state-success-text)}.toggle-button.inactive{background:var(--state-error-bg);color:var(--state-error-text)}.toggle-button:hover{transform:scale(1.1)}.edit-button-small,.delete-button-small{width:32px;height:32px;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--text-base);transition:all var(--duration-fast) var(--ease-out)}.edit-button-small{background:var(--state-info-bg);color:var(--state-info-text)}.delete-button-small{background:var(--state-error-bg);color:var(--state-error-text)}.edit-button-small:hover,.delete-button-small:hover{transform:scale(1.1)}.card-content{margin-bottom:var(--space-4)}.message-ru,.message-en{padding:var(--space-3);border-radius:var(--radius-md);line-height:var(--leading-relaxed);font-size:var(--text-sm)}.message-ru{background:var(--bg-secondary);border-left:3px solid var(--brand-primary);margin-bottom:var(--space-2)}.message-en{background:var(--bg-tertiary);border-left:3px solid hsl(var(--hue-info) 80% 58%)}.card-footer{display:flex;justify-content:space-between;color:var(--text-tertiary);font-size:var(--text-xs);padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.used-count,.created-at{display:flex;align-items:center;gap:var(--space-1)}.modal-overlay{position:fixed;inset:0;background:hsl(var(--shadow-color) / .5);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-content.modal-lg{max-width:700px;width:90%;max-height:90vh;overflow-y:auto}.modal-form{display:flex;flex-direction:column;gap:var(--space-5);margin:var(--space-5) 0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.form-group.checkbox{flex-direction:row;align-items:center;gap:var(--space-2)}.form-group.checkbox label{display:flex;align-items:center;gap:var(--space-2);cursor:pointer}.hint{color:var(--text-tertiary);font-size:var(--text-xs);margin-top:var(--space-1);display:block}.modal-actions{display:flex;gap:var(--space-4);justify-content:flex-end;border-top:1px solid var(--border-subtle);padding-top:var(--space-5)}.cancel-button,.save-button{padding:var(--space-2) var(--space-6);border:none;border-radius:var(--radius-md);font-weight:var(--weight-bold);cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.cancel-button{background:var(--bg-tertiary);color:var(--text-secondary)}.save-button{background:var(--brand-gradient);color:var(--text-inverse)}.cancel-button:hover,.save-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}@media(max-width:768px){.section-header{flex-direction:column;align-items:flex-start}.header-actions,.import-button,.add-button{width:100%}.form-row{grid-template-columns:1fr}.card-header{flex-direction:column;align-items:flex-start}.card-actions{width:100%;justify-content:flex-end}}@media(prefers-reduced-motion:reduce){.congratulation-card,.toggle-button,.edit-button-small,.delete-button-small,.import-button,.cancel-button,.save-button{transition:none}.congratulation-card:hover,.toggle-button:hover,.edit-button-small:hover,.delete-button-small:hover{transform:none}}.admin-dashboard{padding:var(--space-5);max-width:var(--container-max);margin:0 auto}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);padding:var(--space-5) var(--space-6);background:var(--brand-gradient);border-radius:var(--radius-lg);color:var(--text-inverse);box-shadow:var(--shadow-lg),0 10px 30px var(--brand-glow)}.admin-header h1{margin:0;color:var(--text-inverse);font-family:var(--font-brand);font-size:var(--text-2xl);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);text-shadow:2px 2px 4px hsl(var(--shadow-color) / .2)}@media(min-width:768px){.admin-header h1{font-size:var(--text-3xl)}}.admin-info{display:flex;align-items:center;gap:var(--space-5)}.admin-info span{font-size:var(--text-base);font-weight:var(--weight-medium);line-height:var(--leading-normal)}.admin-info strong{color:gold;font-weight:var(--weight-bold)}.logout-button{padding:var(--space-2) var(--space-5);background:#fff3;border:2px solid var(--text-inverse);color:var(--text-inverse);border-radius:var(--radius-full);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);font-weight:var(--weight-bold);font-size:var(--text-sm);line-height:var(--leading-normal)}.logout-button:hover{background:var(--text-inverse);color:var(--brand-primary);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-5);margin-bottom:var(--space-6)}.stat-card{background:var(--bg-primary);padding:var(--space-6) var(--space-5);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-sm);transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);border-left:4px solid var(--brand-primary)}.stat-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}.stat-card.pending{border-left-color:var(--state-warning-solid)}.stat-card.approved{border-left-color:var(--state-success-solid)}.stat-card.rejected{border-left-color:var(--state-error-solid)}.stat-card.inactive{border-left-color:var(--text-tertiary)}.stat-value{font-family:var(--font-brand);font-size:var(--text-4xl);font-weight:var(--weight-bold);color:var(--text-primary);line-height:var(--leading-tight);margin-bottom:var(--space-1)}@media(max-width:768px){.stat-value{font-size:var(--text-3xl)}}.stat-label{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:var(--tracking-wide);line-height:var(--leading-normal)}.admin-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-6);background:var(--bg-primary);padding:var(--space-2);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-wrap:wrap}.tab{padding:var(--space-3) var(--space-5);border:none;background:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);transition:all var(--duration-fast) var(--ease-out);flex:1;min-width:120px;font-weight:var(--weight-medium);color:var(--text-secondary);line-height:var(--leading-normal)}@media(min-width:768px){.tab{font-size:var(--text-base)}}.tab:hover{background:var(--bg-tertiary);color:var(--text-primary)}.tab.active{background:var(--brand-gradient);color:var(--text-inverse);box-shadow:0 4px 10px var(--brand-glow);font-weight:var(--weight-semibold)}.admin-actions{display:flex;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap}.add-button{padding:var(--space-3) var(--space-7);background:linear-gradient(135deg,hsl(var(--hue-success) 65% 50%),hsl(var(--hue-success) 70% 45%));color:var(--text-inverse);border:none;border-radius:var(--radius-md);font-weight:var(--weight-bold);font-size:var(--text-base);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);flex:1;min-width:200px;box-shadow:0 4px 15px hsl(var(--hue-success) 65% 50% / .3);line-height:var(--leading-normal)}.add-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px hsl(var(--hue-success) 65% 50% / .4)}.sync-button{padding:var(--space-3) var(--space-7);background:linear-gradient(135deg,hsl(var(--hue-info) 80% 58%),hsl(var(--hue-info) 85% 52%));color:var(--text-inverse);border:none;border-radius:var(--radius-md);font-weight:var(--weight-bold);font-size:var(--text-base);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);flex:1;min-width:200px;box-shadow:0 4px 15px hsl(var(--hue-info) 80% 58% / .3);line-height:var(--leading-normal)}.sync-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px hsl(var(--hue-info) 80% 58% / .4)}.sync-button.success{background:linear-gradient(135deg,hsl(var(--hue-success) 65% 50%),hsl(var(--hue-success) 70% 45%))}.sync-button.error{background:linear-gradient(135deg,hsl(var(--hue-error) 80% 58%),hsl(var(--hue-error) 85% 52%))}.sync-button:disabled{opacity:.6;cursor:not-allowed}.live-update-button{padding:var(--space-3) var(--space-7);background:linear-gradient(135deg,hsl(var(--hue-error) 80% 58%),hsl(var(--hue-error) 85% 52%));color:var(--text-inverse);border:none;border-radius:var(--radius-md);font-weight:var(--weight-bold);font-size:var(--text-base);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);flex:1;min-width:200px;box-shadow:0 4px 15px hsl(var(--hue-error) 80% 58% / .3);line-height:var(--leading-normal)}.live-update-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px hsl(var(--hue-error) 80% 58% / .4)}.sync-details{margin-top:var(--space-5);margin-bottom:var(--space-5);padding:var(--space-5);background:var(--bg-secondary);border-radius:var(--radius-lg);border-left:4px solid var(--state-info-solid);max-height:250px;overflow-y:auto}.sync-details h4{margin-bottom:var(--space-4);color:var(--text-primary);font-family:var(--font-brand);font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:var(--leading-tight)}.sync-details ul{list-style:none;padding:0;margin:0}.sync-details li{padding:var(--space-2) var(--space-3);margin:var(--space-1) 0;border-radius:var(--radius-md);font-size:var(--text-sm);line-height:var(--leading-normal)}.sync-updated{background:var(--state-success-bg);color:var(--state-success-text);border-left:3px solid var(--state-success-border)}.sync-deactivated{background:var(--state-error-bg);color:var(--state-error-text);border-left:3px solid var(--state-error-border)}.sync-error{background:var(--state-warning-bg);color:var(--state-warning-text);border-left:3px solid var(--state-warning-border)}.search-section{margin-bottom:var(--space-6)}.search-input{width:100%;padding:var(--space-4) var(--space-5);border:2px solid var(--border-default);border-radius:var(--radius-lg);font-size:var(--text-base);font-family:var(--font-sans);transition:all var(--duration-fast) var(--ease-out);background:var(--input-bg);color:var(--input-text);line-height:var(--leading-normal)}.search-input:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-glow)}.search-input::placeholder{color:var(--text-tertiary);font-size:var(--text-base)}.content-list{display:flex;flex-direction:column;gap:var(--space-5)}.no-data{text-align:center;padding:var(--space-10) var(--space-5);color:var(--text-tertiary);font-size:var(--text-lg);font-weight:var(--weight-medium);background:var(--bg-primary);border-radius:var(--radius-lg);border:2px dashed var(--border-default);line-height:var(--leading-relaxed)}.item-card{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);border:1px solid var(--border-subtle);color:var(--text-primary)}.item-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--brand-primary)}.item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5);flex-wrap:wrap;gap:var(--space-4);color:var(--text-primary)}.item-title{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.item-avatar{width:50px;height:50px;border-radius:var(--radius-full);object-fit:cover;border:3px solid var(--brand-primary)}.item-header h3{color:var(--text-primary);margin:0;font-family:var(--font-brand);font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:var(--leading-tight)}@media(min-width:768px){.item-header h3{font-size:var(--text-xl)}}.status-badge{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-wide);line-height:var(--leading-normal)}.status-badge.pending{background:var(--state-warning-bg);color:var(--state-warning-text);border:1px solid var(--state-warning-border)}.status-badge.approved,.status-badge.active{background:var(--state-success-bg);color:var(--state-success-text);border:1px solid var(--state-success-border)}.status-badge.rejected{background:var(--state-error-bg);color:var(--state-error-text);border:1px solid var(--state-error-border)}.status-badge.inactive{background:hsl(var(--hue-brand) 10% 90%);color:var(--text-tertiary);border:1px solid var(--border-default)}.status-badge.new{background:var(--state-warning-bg);color:var(--state-warning-text);border:1px solid var(--state-warning-border)}.status-badge.read{background:var(--state-success-bg);color:var(--state-success-text);border:1px solid var(--state-success-border)}.status-badge.replied{background:var(--state-info-bg);color:var(--state-info-text);border:1px solid var(--state-info-border)}.live-badge{background:var(--live-color);color:var(--text-inverse);padding:4px var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-bold);animation:live-pulse var(--live-pulse);margin-left:var(--space-3);text-transform:uppercase;letter-spacing:var(--tracking-wide);line-height:var(--leading-normal)}@keyframes live-pulse{0%,to{opacity:1}50%{opacity:.6}}.item-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-4);margin-bottom:var(--space-5);padding:var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-md)}.item-details p{margin:var(--space-2) 0;color:var(--text-secondary);line-height:var(--leading-relaxed);font-size:var(--text-sm)}@media(min-width:768px){.item-details p{font-size:var(--text-base)}}.item-details strong{color:var(--text-primary);font-weight:var(--weight-semibold);margin-right:var(--space-2)}.item-details a{color:var(--brand-primary);text-decoration:none;transition:color var(--duration-fast) var(--ease-out);word-break:break-all;font-weight:var(--weight-medium)}.item-details a:hover{color:var(--brand-primary-hover);text-decoration:underline}.item-actions{display:flex;gap:var(--space-3);justify-content:flex-end;flex-wrap:wrap;border-top:1px solid var(--border-subtle);padding-top:var(--space-5)}.edit-button,.view-button,.read-button,.reply-button,.approve-button,.reject-button,.delete-button,.activate-button,.deactivate-button{padding:var(--space-2) var(--space-5);border:none;border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--weight-bold);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);min-width:120px;color:var(--text-inverse);line-height:var(--leading-normal)}.edit-button{background:hsl(var(--hue-info) 80% 58%)}.edit-button:hover{background:hsl(var(--hue-info) 85% 52%);transform:translateY(-2px);box-shadow:0 4px 12px hsl(var(--hue-info) 80% 58% / .3)}.view-button{background:hsl(var(--hue-brand) 60% 50%)}.view-button:hover{background:hsl(var(--hue-brand) 65% 45%);transform:translateY(-2px);box-shadow:0 4px 12px hsl(var(--hue-brand) 60% 50% / .3)}.read-button{background:hsl(var(--hue-success) 65% 50%)}.read-button:hover{background:hsl(var(--hue-success) 70% 45%);transform:translateY(-2px);box-shadow:0 4px 12px hsl(var(--hue-success) 65% 50% / .3)}.reply-button{background:hsl(var(--hue-warning) 90% 50%)}.reply-button:hover{background:hsl(var(--hue-warning) 95% 45%);transform:translateY(-2px);box-shadow:0 4px 12px hsl(var(--hue-warning) 90% 50% / .3)}.approve-button{background:hsl(var(--hue-success) 65% 50%)}.approve-button:hover{background:hsl(var(--hue-success) 70% 45%);transform:translateY(-2px);box-shadow:0 4px 12px hsl(var(--hue-success) 65% 50% / .3)}.reject-button{background:hsl(var(--hue-error) 80% 58%)}.reject-button:hover{background:hsl(var(--hue-error) 85% 52%);transform:translateY(-2px);box-shadow:0 4px 12px hsl(var(--hue-error) 80% 58% / .3)}.delete-button{background:hsl(var(--hue-warning) 90% 50%)}.delete-button:hover{background:hsl(var(--hue-warning) 95% 45%);transform:translateY(-2px);box-shadow:0 4px 12px hsl(var(--hue-warning) 90% 50% / .3)}.activate-button{background:hsl(var(--hue-success) 65% 50%)}.activate-button:hover{background:hsl(var(--hue-success) 70% 45%);transform:translateY(-2px);box-shadow:0 4px 12px hsl(var(--hue-success) 65% 50% / .3)}.deactivate-button{background:hsl(var(--hue-brand) 10% 64%)}.deactivate-button:hover{background:hsl(var(--hue-brand) 15% 54%);transform:translateY(-2px);box-shadow:0 4px 12px hsl(var(--hue-brand) 10% 64% / .3)}.modal-overlay{position:fixed;inset:0;background:hsl(var(--shadow-color) / .6);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fade-in var(--duration-fast) var(--ease-out)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--bg-primary);padding:var(--space-8);border-radius:var(--radius-xl);max-width:550px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);animation:slide-up var(--duration-fast) var(--ease-out);color:var(--text-primary)}.modal-content.modal-lg{max-width:700px}@keyframes slide-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-content h2{margin-bottom:var(--space-5);color:var(--text-primary);font-family:var(--font-brand);font-size:var(--text-2xl);font-weight:var(--weight-bold);text-align:center;background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.stat-card.platform{border-left-color:hsl(var(--hue-brand) 60% 50%);background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%)}.stat-card.platform .stat-label{font-size:var(--text-xs);display:flex;align-items:center;justify-content:center;gap:var(--space-1)}.modal-form{display:flex;flex-direction:column;gap:var(--space-5);margin-bottom:var(--space-6)}.modal-actions{display:flex;gap:var(--space-4);justify-content:flex-end;border-top:1px solid var(--border-subtle);padding-top:var(--space-6)}.cancel-button{padding:var(--space-3) var(--space-6);background:var(--bg-tertiary);color:var(--text-secondary);border:none;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--weight-bold);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);flex:1;line-height:var(--leading-normal)}.cancel-button:hover{background:var(--border-strong);color:var(--text-primary)}.save-button{padding:var(--space-3) var(--space-6);background:var(--brand-gradient);color:var(--text-inverse);border:none;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--weight-bold);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);flex:1;line-height:var(--leading-normal)}.save-button:hover{transform:translateY(-2px);box-shadow:var(--btn-primary-shadow)}.status-badge.hidden{background:var(--bg-tertiary);color:var(--text-tertiary);border:1px solid var(--border-default);opacity:.8}.item-card.hidden{opacity:.7;background:var(--bg-secondary)}.item-card.hidden:hover{opacity:.9;border-color:var(--border-strong)}.sync-status.syncing{background:var(--state-info-bg);color:var(--state-info-text);border-left:3px solid var(--state-info-border)}.sync-status.success{background:var(--state-success-bg);color:var(--state-success-text);border-left:3px solid var(--state-success-border)}.sync-status.error{background:var(--state-error-bg);color:var(--state-error-text);border-left:3px solid var(--state-error-border)}.sync-status.warning{background:var(--state-warning-bg);color:var(--state-warning-text);border-left:3px solid var(--state-warning-border)}.stat-card.platform.twitch{border-left-color:#9146ff}.stat-card.platform.youtube{border-left-color:red}.stat-card.platform.kick{border-left-color:#0f0}.stat-card.platform.custom{border-left-color:var(--text-tertiary)}.platform-filter-button:focus-visible,.sync-single-button:focus-visible,.edit-button:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}@media(prefers-contrast:high){.status-badge{border:2px solid currentColor}.stat-card.platform.twitch{border-left-color:currentColor}.sync-single-button:disabled{opacity:.8;border:1px dashed currentColor}}.feedback-details{display:flex;flex-direction:column;gap:var(--space-5);margin-bottom:var(--space-6)}.detail-group{display:flex;flex-direction:column;gap:var(--space-1)}.detail-group label{font-weight:var(--weight-semibold);color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-normal)}.detail-value{padding:var(--space-2) var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-subtle);color:var(--text-primary);line-height:var(--leading-relaxed);font-size:var(--text-base)}.detail-value.ticket-number{font-family:var(--font-mono);font-size:var(--text-base);font-weight:var(--weight-semibold);background:var(--state-info-bg);color:var(--state-info-text);border-color:var(--state-info-border)}.detail-value.small{font-size:var(--text-sm);word-break:break-all}.detail-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.message-content{padding:var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-subtle);max-height:200px;overflow-y:auto}.message-content p{margin:var(--space-1) 0;color:var(--text-primary);line-height:var(--leading-relaxed);font-size:var(--text-base)}.loading{text-align:center;padding:var(--space-10);color:var(--text-tertiary);font-size:var(--text-lg);font-weight:var(--weight-medium);background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin:var(--space-8) auto;max-width:400px;line-height:var(--leading-relaxed)}@media(max-width:1024px){.admin-dashboard{padding:var(--space-4)}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.admin-header{flex-direction:column;gap:var(--space-5);text-align:center;padding:var(--space-5)}.admin-header h1{font-size:var(--text-xl)}.admin-info{flex-direction:column;gap:var(--space-3)}.admin-info span{font-size:var(--text-sm)}.admin-tabs{flex-direction:column}.tab{width:100%;font-size:var(--text-sm)}.admin-actions{flex-direction:column}.add-button,.sync-button,.live-update-button{width:100%;min-width:auto;font-size:var(--text-sm)}.stats-grid{grid-template-columns:1fr;gap:var(--space-4)}.stat-value{font-size:var(--text-2xl)}.stat-label{font-size:var(--text-xs)}.item-header{flex-direction:column;align-items:flex-start}.item-title{width:100%}.item-header h3{font-size:var(--text-base)}.status-badge{align-self:flex-start;font-size:var(--text-xs)}.item-details{grid-template-columns:1fr}.item-details p{font-size:var(--text-sm)}.item-actions{flex-direction:column}.edit-button,.view-button,.read-button,.reply-button,.approve-button,.reject-button,.delete-button,.activate-button,.deactivate-button{width:100%;font-size:var(--text-sm)}.modal-content{padding:var(--space-5);width:95%}.modal-content h2{font-size:var(--text-xl)}.detail-row{grid-template-columns:1fr}.cancel-button,.save-button{font-size:var(--text-sm)}}@media(max-width:480px){.admin-header h1{font-size:var(--text-lg)}.stat-value{font-size:var(--text-xl)}.item-card{padding:var(--space-4)}.item-avatar{width:40px;height:40px}.item-header h3{font-size:var(--text-base)}.item-details p{font-size:var(--text-xs)}.modal-actions{flex-direction:column}.cancel-button,.save-button{width:100%}.detail-group label{font-size:var(--text-xs)}.detail-value,.detail-value.ticket-number,.message-content p{font-size:var(--text-sm)}}@media(min-width:1920px){.admin-dashboard{max-width:1600px}.stats-grid{grid-template-columns:repeat(5,1fr)}.item-details{grid-template-columns:repeat(3,1fr)}}.platform-filter{margin-bottom:var(--space-5);padding:var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-subtle)}.platform-filter-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-secondary);margin-bottom:var(--space-3);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.platform-filter-buttons{display:flex;flex-wrap:wrap;gap:var(--space-3)}.platform-filter-button{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-4);background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-secondary);cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.platform-filter-button:hover{background:var(--bg-tertiary);border-color:var(--brand-primary);color:var(--text-primary);transform:translateY(-2px)}.platform-filter-button.active{background:var(--brand-gradient);border-color:transparent;color:var(--text-inverse);box-shadow:0 4px 10px var(--brand-glow)}.platform-filter-button.active .platform-count{background:#fff3;color:var(--text-inverse)}.platform-icon{font-size:var(--text-base)}.platform-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 var(--space-1);background:var(--bg-tertiary);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--text-secondary);margin-left:var(--space-1)}.sync-manager-button{padding:var(--space-3) var(--space-7);background:linear-gradient(135deg,hsl(var(--hue-brand) 60% 50%),hsl(var(--hue-brand) 65% 45%));color:var(--text-inverse);border:none;border-radius:var(--radius-md);font-weight:var(--weight-bold);font-size:var(--text-sm);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);flex:1;min-width:200px;box-shadow:0 4px 15px hsl(var(--hue-brand) 60% 50% / .3);line-height:var(--leading-normal)}.sync-manager-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px hsl(var(--hue-brand) 60% 50% / .4)}.refresh-button{width:50px;height:50px;padding:0;background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--text-xl);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.refresh-button:hover{transform:rotate(180deg);background:var(--brand-gradient);color:var(--text-inverse);border-color:transparent}.sync-status-manager{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg-primary);padding:var(--space-6);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);z-index:var(--z-modal);max-width:800px;width:90%;max-height:80vh;overflow-y:auto}.sync-status-manager h3{font-family:var(--font-brand);font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--text-primary);margin-bottom:var(--space-5);padding-bottom:var(--space-3);border-bottom:2px solid var(--border-subtle)}.sync-table{width:100%;border-collapse:collapse;margin-bottom:var(--space-5)}.sync-table th{text-align:left;padding:var(--space-3);background:var(--bg-tertiary);color:var(--text-secondary);font-weight:var(--weight-semibold);font-size:var(--text-sm)}.sync-table td{padding:var(--space-3);border-bottom:1px solid var(--border-subtle);color:var(--text-primary);font-size:var(--text-sm)}.sync-table tr:hover{background:var(--bg-secondary)}.cancel-btn{padding:var(--space-1) var(--space-3);background:hsl(var(--hue-error) 80% 58%);color:var(--text-inverse);border:none;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--weight-bold);cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.cancel-btn:hover{background:hsl(var(--hue-error) 85% 52%);transform:translateY(-2px)}@media(max-width:768px){.platform-filter-buttons{flex-direction:column}.platform-filter-button{width:100%;justify-content:flex-start}}.admin-dashboard .item-card{background:var(--bg-primary);color:var(--text-primary)}.admin-dashboard .item-header,.admin-dashboard .item-header h3{color:var(--text-primary)}.admin-dashboard .item-details p,.admin-dashboard .item-details strong{color:var(--text-secondary)}.admin-dashboard .item-details strong{color:var(--text-primary);font-weight:var(--weight-semibold)}.admin-dashboard .item-details a{color:var(--brand-primary)}.admin-dashboard .item-details a:hover{color:var(--brand-primary-hover)}[data-theme=light] .admin-dashboard .item-card{background:#fff;color:#000}[data-theme=light] .admin-dashboard .item-header h3{color:#000}[data-theme=light] .admin-dashboard .item-details p,[data-theme=light] .admin-dashboard .item-details strong{color:#333}[data-theme=light] .admin-dashboard .item-details strong{color:#000}[data-theme=dark] .admin-dashboard .item-card{background:#2d2d44;color:#fff}[data-theme=dark] .admin-dashboard .item-header h3{color:#fff}[data-theme=dark] .admin-dashboard .item-details p,[data-theme=dark] .admin-dashboard .item-details strong{color:#e0e0e0}[data-theme=dark] .admin-dashboard .item-details strong{color:#fff}.sync-single-button{padding:var(--space-2) var(--space-5);background:linear-gradient(135deg,hsl(var(--hue-brand) 60% 50%),hsl(var(--hue-brand) 65% 45%));color:var(--text-inverse);border:none;border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--weight-bold);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);min-width:80px;line-height:var(--leading-normal)}.sync-single-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px hsl(var(--hue-brand) 60% 50% / .3)}.hidden-badge{background:var(--bg-tertiary);color:var(--text-secondary);padding:4px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);margin-left:var(--space-2);border:1px solid var(--border-default)}.sync-single-button:disabled{opacity:.5;cursor:not-allowed;background:hsl(var(--hue-brand) 10% 64%)}.sync-single-button:disabled:hover{transform:none;box-shadow:none}@media(prefers-reduced-motion:reduce){.stat-card,.item-card,.tab,.add-button,.sync-button,.live-update-button,.sync-manager-button,.edit-button,.view-button,.read-button,.reply-button,.approve-button,.reject-button,.delete-button,.activate-button,.deactivate-button,.cancel-button,.save-button,.platform-filter-button,.refresh-button,.cancel-btn,.sync-single-button{transition:none}.stat-card:hover,.item-card:hover,.platform-filter-button:hover{transform:none}.live-badge{animation:none}}.form-group{display:flex;flex-direction:column;gap:8px;width:100%;margin-bottom:4px}.form-group label{font-weight:var(--font-semibold);color:var(--text-secondary);font-size:var(--text-sm);letter-spacing:var(--tracking-wide);transition:color .2s ease}.form-group input,.form-group select,.form-group textarea{padding:12px 16px;border:2px solid var(--input-border);border-radius:10px;font-size:var(--text-base);width:100%;background:var(--input-bg);color:var(--input-text);transition:all .2s ease;font-family:var(--font-primary);line-height:var(--leading-normal)}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:var(--input-border-hover)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--input-border-focus);box-shadow:0 0 0 4px #667eea26}.form-group.day-error input{border-color:var(--error-color);background:var(--error-bg);animation:shake .3s ease-in-out}.form-group.day-error label{color:var(--error-color)}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.date-hint{color:var(--warning-color);font-size:var(--text-xs);margin-top:-2px;margin-bottom:4px;padding-left:4px;font-style:italic;display:flex;align-items:center;gap:4px}.date-hint:before{content:"⚠️";font-size:var(--text-sm)}.form-group input::placeholder,.form-group select::placeholder,.form-group textarea::placeholder{color:var(--input-placeholder);font-size:var(--text-base);opacity:.8}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:var(--error-color);background:var(--error-bg)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-md);width:100%;margin:4px 0}.radio-group{display:flex;gap:24px;flex-wrap:wrap;padding:8px 0;width:100%}.radio-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:var(--text-base);color:var(--text-secondary);padding:4px 8px;border-radius:6px;transition:background-color .2s ease}.radio-label:hover{background-color:#667eea0d}.radio-label input[type=radio]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary-start)}.input-with-check{position:relative;display:flex;align-items:center;width:100%}.input-with-check input{width:100%;padding-right:45px}.checking-spinner{position:absolute;right:12px;font-size:var(--text-lg);animation:spin 1s linear infinite}.check-ok{position:absolute;right:12px;font-size:var(--text-lg);color:var(--success-color)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.input-hint{color:var(--text-tertiary);font-size:var(--text-xs);margin-top:4px;padding-left:4px}.form-note{color:var(--text-tertiary);font-size:var(--text-xs);text-align:center;margin-top:12px;font-style:italic}.error-message{max-width:600px;margin:0 auto var(--spacing-md);padding:var(--spacing-md);background:var(--error-bg);color:var(--error-color);border:1px solid var(--error-border);border-radius:var(--border-radius);font-size:var(--text-base);line-height:var(--leading-relaxed);text-align:center}.warning-message{max-width:600px;margin:0 auto var(--spacing-md);padding:var(--spacing-md);background:var(--warning-bg);color:var(--warning-color);border:1px solid var(--warning-border);border-radius:var(--border-radius);text-align:center;font-size:var(--text-base);line-height:var(--leading-relaxed)}.success-message{max-width:600px;margin:0 auto var(--spacing-md);padding:var(--spacing-md);background:var(--success-bg);border:1px solid var(--success-border);border-radius:var(--border-radius);font-size:var(--text-base);line-height:var(--leading-relaxed);text-align:center}.submit-button{background:var(--button-primary-bg);color:#fff!important;border:none;padding:14px 24px;border-radius:10px;font-size:var(--text-lg);font-weight:var(--font-bold);cursor:pointer;transition:all .3s ease;width:100%;margin-top:16px;letter-spacing:var(--tracking-wide);text-transform:uppercase;line-height:var(--leading-normal)}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--button-primary-shadow);color:#fff!important}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{opacity:.6;cursor:not-allowed;background:linear-gradient(135deg,#a0a0a0,gray)}[data-theme=dark] .submit-button:disabled{background:linear-gradient(135deg,#4a5568,#2d3748);opacity:.5}.save-button,.search-button{background:var(--primary-gradient);color:#fff!important;border:none;padding:12px 25px;border-radius:10px;font-size:var(--text-base);font-weight:var(--font-bold);cursor:pointer;transition:all .3s;line-height:var(--leading-normal)}.save-button:hover:not(:disabled),.search-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--button-primary-shadow);color:#fff!important}.cancel-button{background:var(--bg-tertiary);color:var(--text-secondary);border:none;padding:12px 25px;border-radius:10px;font-size:var(--text-base);font-weight:var(--font-bold);cursor:pointer;transition:all .3s;line-height:var(--leading-normal)}.cancel-button:hover{background:var(--border-color-hover);color:var(--text-primary)}.rules-footer,.feedback-info,.info-note{text-align:center;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.rules-footer p,.feedback-info p,.info-note{margin:0 auto;max-width:100%}a{text-decoration:none;color:var(--primary-start);font-weight:var(--font-medium);transition:color .2s ease}a:hover{color:var(--primary-end);text-decoration:none}a.text-link:hover{text-decoration:underline}a img,a .emoji,a span[role=img],a .nav-link span,a .footer-link span,a .contact-link-icon,a .icon-image,a .x-icon-custom,a .live-indicator,a .leap-year-star{text-decoration:none!important;border-bottom:none!important}.birthday-link *,.upcoming-item *,.vtuber-link *,.mobile-vtuber-card *,.item-card a *{text-decoration:none!important}@media(max-width:768px){.form-row{gap:12px}.form-group label{font-size:var(--text-xs)}.form-group input,.form-group select,.form-group textarea{font-size:var(--text-sm);padding:10px 14px}.radio-label{font-size:var(--text-sm)}.submit-button,.save-button,.search-button{font-size:var(--text-base);padding:12px 20px}.date-hint{font-size:var(--text-xs)}}@media(max-width:480px){.form-row{grid-template-columns:1fr;gap:8px}.radio-group{flex-direction:column;gap:8px}.radio-label{width:100%;padding:8px;background:#00000005;font-size:var(--text-sm)}[data-theme=dark] .radio-label{background:#ffffff0d}.error-message,.warning-message,.success-message{padding:var(--spacing-sm);font-size:var(--text-sm)}.save-button,.cancel-button,.search-button{padding:10px 20px;font-size:var(--text-sm)}.date-hint{font-size:var(--text-xs);margin-bottom:2px}}.emoji,[class*=emoji],[role=img],span[role=img],.control-button span,.nav-link span,button span{text-decoration:none!important;border-bottom:none!important;text-decoration-color:transparent!important;text-decoration-line:none!important;text-decoration-style:none!important;text-decoration-thickness:0!important}a:hover span,a:focus span,a:active span,button:hover span,button:focus span,button:active span{text-decoration:none!important;border-bottom:none!important}a:-webkit-any-link{text-decoration:none!important}.navigation *,.navigation *:hover,.navigation *:focus,.navigation *:active{text-decoration:none!important;border-bottom:none!important}.legal-page{max-width:900px;margin:0 auto;padding:var(--space-8);background:var(--bg-primary);color:var(--text-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:all var(--duration-normal) var(--ease-out)}.legal-page .page-title{font-family:var(--font-brand);font-size:var(--text-3xl);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);text-align:center;margin-bottom:var(--space-6);color:var(--text-primary);border-bottom:2px solid var(--border-subtle);padding-bottom:var(--space-4)}@media(min-width:768px){.legal-page .page-title{font-size:var(--text-4xl)}}.legal-page .page-title.gradient{background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;border-bottom:none}.legal-content{line-height:var(--leading-relaxed)}.legal-content section{margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle);transition:border-color var(--duration-fast) var(--ease-out)}.legal-content section:last-child{border-bottom:none}.legal-content h2{color:var(--text-primary);font-family:var(--font-brand);font-size:var(--text-xl);font-weight:var(--weight-semibold);line-height:var(--leading-tight);margin-bottom:var(--space-3);position:relative;padding-left:var(--space-3)}@media(min-width:768px){.legal-content h2{font-size:var(--text-2xl)}}.legal-content h2:before{content:"";position:absolute;left:0;top:0;height:100%;width:4px;background:var(--brand-gradient);border-radius:var(--radius-sm)}.legal-content p{color:var(--text-secondary);font-size:var(--text-base);line-height:var(--leading-relaxed);margin-bottom:var(--space-3);max-width:65ch}@media(max-width:768px){.legal-content p{font-size:var(--text-sm)}}.legal-content ul{margin:var(--space-3) 0 var(--space-3) var(--space-6);color:var(--text-secondary);list-style-type:disc}.legal-content li{margin-bottom:var(--space-2);line-height:var(--leading-relaxed);font-size:var(--text-base);position:relative;padding-left:var(--space-2)}@media(max-width:768px){.legal-content li{font-size:var(--text-sm)}}.legal-content li::marker{color:var(--brand-primary)}.legal-content strong{color:var(--text-primary);font-weight:var(--weight-semibold)}.legal-note{margin-top:var(--space-6);padding:var(--space-4);background:var(--bg-secondary);border-left:4px solid var(--brand-primary);border-radius:var(--radius-md);color:var(--text-primary);font-style:italic;transition:all var(--duration-fast) var(--ease-out)}.legal-note p{color:var(--text-primary);font-size:var(--text-base);font-style:italic;margin:0}@media(max-width:768px){.legal-note p{font-size:var(--text-sm)}}[data-theme=dark] .legal-content li::marker{color:var(--brand-primary)}[data-theme=dark] .legal-note{background:var(--bg-secondary);border-left-color:var(--brand-primary)}@media(max-width:768px){.legal-page{padding:var(--space-4);margin:var(--space-3)}.legal-content h2{font-size:var(--text-lg);padding-left:var(--space-2)}.legal-content h2:before{width:3px}.legal-content ul{margin-left:var(--space-4)}.legal-content li{padding-left:var(--space-2)}.legal-note{padding:var(--space-3);margin-top:var(--space-4)}}@media(max-width:480px){.legal-page{padding:var(--space-3);border-radius:var(--radius-md)}.legal-page .page-title{font-size:var(--text-2xl);margin-bottom:var(--space-4);padding-bottom:var(--space-3)}.legal-content section{margin-bottom:var(--space-4);padding-bottom:var(--space-3)}.legal-content h2{font-size:var(--text-base);margin-bottom:var(--space-2)}.legal-content p,.legal-content li{font-size:var(--text-sm);line-height:var(--leading-normal)}.legal-note{padding:var(--space-2);border-left-width:3px}.legal-note p{font-size:var(--text-sm)}}@media(max-width:320px){.legal-page{padding:var(--space-2)}.legal-page .page-title{font-size:var(--text-xl)}.legal-content h2{font-size:var(--text-base)}.legal-content p,.legal-content li{font-size:var(--text-xs)}.legal-content ul{margin-left:var(--space-3)}}@media print{.legal-page{box-shadow:none;padding:0;background:#fff}.legal-content h2:before{background:#000}.legal-note{border-left-color:#000;background:#f5f5f5}}@media(prefers-reduced-motion:reduce){.legal-page,.legal-content section,.legal-note{transition:none}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:var(--bg-primary);min-height:100vh;padding:0;transition:background-color .3s ease,color .3s ease}.main-content{background:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}.toast-container{position:fixed;top:var(--space-4);right:var(--space-4);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-3);max-width:400px;width:calc(100% - var(--space-8));pointer-events:none}.toast{background:var(--bg-elevated);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),var(--shadow-glow);padding:var(--space-4) var(--space-5);display:flex;align-items:flex-start;gap:var(--space-3);animation:slide-in var(--duration-normal) var(--ease-out);border-left:4px solid;pointer-events:auto;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:all var(--duration-fast) var(--ease-out);color:var(--text-primary)}.toast:hover{transform:translate(-4px);box-shadow:var(--shadow-xl)}.toast.success{border-left-color:var(--state-success-solid);background:var(--state-success-bg)}.toast.error{border-left-color:var(--state-error-solid);background:var(--state-error-bg)}.toast.warning{border-left-color:var(--state-warning-solid);background:var(--state-warning-bg)}.toast.info{border-left-color:var(--state-info-solid);background:var(--state-info-bg)}[data-theme=dark] .toast.success{background:hsl(var(--hue-success) 30% 15% / .9)}[data-theme=dark] .toast.error{background:hsl(var(--hue-error) 30% 15% / .9)}[data-theme=dark] .toast.warning{background:hsl(var(--hue-warning) 30% 15% / .9)}[data-theme=dark] .toast.info{background:hsl(var(--hue-info) 30% 15% / .9)}.toast-content{flex:1;min-width:0}.toast-title{font-family:var(--font-brand);font-weight:var(--weight-semibold);font-size:var(--text-base);margin-bottom:var(--space-1);color:var(--text-primary);line-height:var(--leading-tight)}.toast-message{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);word-break:break-word}.toast-close{background:none;border:none;color:var(--text-tertiary);font-size:var(--text-xl);cursor:pointer;padding:var(--space-1);margin:calc(-1 * var(--space-1));flex-shrink:0;transition:color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out);line-height:1;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;width:32px;height:32px}.toast-close:hover{color:var(--text-primary);background:var(--bg-tertiary);transform:rotate(90deg)}.toast-close:focus-visible{outline:none;box-shadow:var(--focus-ring)}@keyframes slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slide-out{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.toast.removing{animation:slide-out var(--duration-fast) var(--ease-in) forwards;pointer-events:none}.toast-progress{position:absolute;bottom:0;left:0;height:3px;background:currentColor;opacity:.3;animation:progress linear forwards;border-bottom-left-radius:var(--radius-lg)}@keyframes progress{0%{width:100%}to{width:0%}}@media(max-width:480px){.toast-container{top:var(--space-2);right:var(--space-2);left:var(--space-2);max-width:none;width:auto}.toast{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md)}.toast-title{font-size:var(--text-sm)}.toast-message{font-size:var(--text-xs)}.toast-close{width:28px;height:28px;font-size:var(--text-lg)}}@media(prefers-reduced-motion:reduce){.toast{animation:none;opacity:1;transform:none}.toast.removing{animation:fade-out var(--duration-instant) linear forwards}@keyframes fade-out{to{opacity:0}}.toast-close:hover{transform:none}}@media(prefers-contrast:high){.toast{border:2px solid currentColor;-webkit-backdrop-filter:none;backdrop-filter:none}}:root{--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--bp-sm: 480px;--bp-md: 768px;--bp-lg: 1024px;--bp-xl: 1440px;--duration-instant: .15s;--duration-fast: .2s;--duration-normal: .3s;--duration-slow: .5s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-navigation: 1000;--z-drawer: 1100;--z-modal: 1200;--z-popover: 1300;--z-toast: 1400;--z-tooltip: 1500;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-color: 220 3% 15%;--shadow-xs: 0 1px 2px 0 hsl(var(--shadow-color) / .05);--shadow-sm: 0 1px 3px 0 hsl(var(--shadow-color) / .1), 0 1px 2px -1px hsl(var(--shadow-color) / .1);--shadow-md: 0 4px 6px -1px hsl(var(--shadow-color) / .1), 0 2px 4px -2px hsl(var(--shadow-color) / .1);--shadow-lg: 0 10px 15px -3px hsl(var(--shadow-color) / .1), 0 4px 6px -4px hsl(var(--shadow-color) / .1);--shadow-xl: 0 20px 25px -5px hsl(var(--shadow-color) / .1), 0 8px 10px -6px hsl(var(--shadow-color) / .1);--shadow-glow: 0 0 20px hsl(var(--shadow-color) / .15)}:root{--hue-brand: 250;--hue-success: 142;--hue-warning: 38;--hue-error: 4;--hue-info: 217;--brand-50: hsl(var(--hue-brand) 60% 97%);--brand-100: hsl(var(--hue-brand) 55% 92%);--brand-200: hsl(var(--hue-brand) 50% 85%);--brand-300: hsl(var(--hue-brand) 45% 75%);--brand-400: hsl(var(--hue-brand) 40% 65%);--brand-500: hsl(var(--hue-brand) 35% 55%);--brand-600: hsl(var(--hue-brand) 40% 50%);--brand-700: hsl(var(--hue-brand) 45% 45%);--brand-800: hsl(var(--hue-brand) 50% 40%);--brand-900: hsl(var(--hue-brand) 55% 35%);--gray-50: hsl(var(--hue-brand) 5% 98%);--gray-100: hsl(var(--hue-brand) 5% 94%);--gray-200: hsl(var(--hue-brand) 5% 88%);--gray-300: hsl(var(--hue-brand) 5% 78%);--gray-400: hsl(var(--hue-brand) 5% 64%);--gray-500: hsl(var(--hue-brand) 5% 46%);--gray-600: hsl(var(--hue-brand) 10% 34%);--gray-700: hsl(var(--hue-brand) 15% 24%);--gray-800: hsl(var(--hue-brand) 20% 16%);--gray-900: hsl(var(--hue-brand) 25% 10%);--success-50: hsl(var(--hue-success) 40% 96%);--success-500: hsl(var(--hue-success) 35% 45%);--success-600: hsl(var(--hue-success) 40% 40%);--success-700: hsl(var(--hue-success) 45% 35%);--warning-50: hsl(var(--hue-warning) 50% 95%);--warning-500: hsl(var(--hue-warning) 50% 45%);--warning-600: hsl(var(--hue-warning) 55% 40%);--warning-700: hsl(var(--hue-warning) 60% 35%);--error-50: hsl(var(--hue-error) 40% 96%);--error-500: hsl(var(--hue-error) 50% 50%);--error-600: hsl(var(--hue-error) 55% 45%);--error-700: hsl(var(--hue-error) 60% 40%);--info-50: hsl(210 30% 96%);--info-500: hsl(210 35% 45%);--info-600: hsl(210 40% 40%);--info-700: hsl(210 45% 35%)}:root{--bg-page: hsl(var(--hue-brand) 3% 99%);--bg-primary: hsl(var(--hue-brand) 3% 99%);--bg-secondary: hsl(var(--hue-brand) 5% 96%);--bg-tertiary: hsl(var(--hue-brand) 5% 92%);--bg-elevated: #ffffff;--bg-overlay: hsl(var(--hue-brand) 10% 10% / .4);--text-primary: var(--gray-800);--text-secondary: var(--gray-600);--text-tertiary: var(--gray-500);--text-disabled: var(--gray-400);--text-inverse: #ffffff;--border-subtle: hsl(var(--hue-brand) 10% 90%);--border-default: hsl(var(--hue-brand) 10% 85%);--border-strong: hsl(var(--hue-brand) 10% 75%);--border-focus: var(--brand-500);--border-color: var(--border-default);--border-color-hover: var(--border-strong);--brand-primary: var(--brand-600);--brand-primary-hover: var(--brand-700);--brand-secondary: var(--brand-100);--brand-gradient: linear-gradient(135deg, var(--brand-500) 0%, var(--brand-700) 100%);--brand-glow: hsl(var(--hue-brand) 40% 50% / .2);--state-success-bg: var(--success-50);--state-success-border: var(--success-200, hsl(var(--hue-success) 30% 82%));--state-success-text: var(--success-700);--state-success-solid: var(--success-600);--state-warning-bg: var(--warning-50);--state-warning-border: var(--warning-200, hsl(var(--hue-warning) 30% 82%));--state-warning-text: var(--warning-700);--state-warning-solid: var(--warning-600);--state-error-bg: var(--error-50);--state-error-border: var(--error-200, hsl(var(--hue-error) 30% 82%));--state-error-text: var(--error-700);--state-error-solid: var(--error-600);--state-info-bg: var(--info-50);--state-info-border: var(--info-200, hsl(210 30% 82%));--state-info-text: var(--info-700);--state-info-solid: var(--info-600);--live-color: hsl(var(--hue-error) 60% 55%);--gender-male: hsl(210 40% 50%);--gender-female: hsl(340 50% 55%);--gender-other: var(--warning-500);--leap-year: var(--warning-500);--input-bg: var(--bg-primary);--input-border: var(--border-default);--input-border-hover: var(--border-strong);--input-border-focus: var(--brand-primary);--input-text: var(--text-primary);--input-placeholder: var(--text-tertiary);--btn-primary-bg: var(--brand-gradient);--btn-primary-text: var(--text-inverse);--btn-primary-shadow: 0 4px 14px 0 hsl(var(--hue-brand) 35% 50% / .25);--btn-primary-shadow-hover: 0 6px 20px 0 hsl(var(--hue-brand) 35% 50% / .35);--btn-secondary-bg: var(--bg-secondary);--btn-secondary-text: var(--text-secondary);--btn-secondary-border: var(--border-default);--btn-ghost-bg: transparent;--btn-ghost-text: var(--text-secondary);--btn-ghost-hover: var(--bg-secondary);--btn-disabled-bg: var(--gray-200);--btn-disabled-text: var(--text-disabled);--container-max: 1400px;--container-padding: var(--space-4);--card-radius: var(--radius-lg);--card-bg: var(--bg-primary);--card-shadow: var(--shadow-sm);--card-shadow-hover: var(--shadow-md);--card-hover: var(--bg-secondary)}[data-theme=dark]{--bg-page: hsl(var(--hue-brand) 15% 10%);--bg-primary: hsl(var(--hue-brand) 15% 10%);--bg-secondary: hsl(var(--hue-brand) 15% 12%);--bg-tertiary: hsl(var(--hue-brand) 15% 16%);--bg-elevated: hsl(var(--hue-brand) 20% 14%);--bg-overlay: hsl(var(--hue-brand) 30% 5% / .7);--text-primary: hsl(var(--hue-brand) 10% 95%);--text-secondary: hsl(var(--hue-brand) 10% 75%);--text-tertiary: hsl(var(--hue-brand) 10% 60%);--text-disabled: hsl(var(--hue-brand) 10% 40%);--text-inverse: hsl(var(--hue-brand) 15% 10%);--border-subtle: hsl(var(--hue-brand) 15% 20%);--border-default: hsl(var(--hue-brand) 15% 25%);--border-strong: hsl(var(--hue-brand) 15% 35%);--border-focus: var(--brand-400);--border-color: var(--border-default);--border-color-hover: var(--border-strong);--brand-primary: var(--brand-400);--brand-primary-hover: var(--brand-300);--brand-secondary: hsl(var(--hue-brand) 30% 20%);--brand-gradient: linear-gradient(135deg, var(--brand-400) 0%, var(--brand-600) 100%);--brand-glow: hsl(var(--hue-brand) 50% 60% / .4);--state-success-bg: hsl(var(--hue-success) 30% 15% / .4);--state-success-border: hsl(var(--hue-success) 40% 40%);--state-success-text: hsl(var(--hue-success) 50% 75%);--state-success-solid: hsl(var(--hue-success) 45% 55%);--state-warning-bg: hsl(var(--hue-warning) 30% 15% / .4);--state-warning-border: hsl(var(--hue-warning) 45% 45%);--state-warning-text: hsl(var(--hue-warning) 60% 75%);--state-warning-solid: hsl(var(--hue-warning) 55% 60%);--state-error-bg: hsl(var(--hue-error) 30% 15% / .4);--state-error-border: hsl(var(--hue-error) 45% 45%);--state-error-text: hsl(var(--hue-error) 60% 80%);--state-error-solid: hsl(var(--hue-error) 55% 65%);--state-info-bg: hsl(210 30% 15% / .4);--state-info-border: hsl(210 40% 45%);--state-info-text: hsl(210 50% 80%);--state-info-solid: hsl(210 45% 65%);--live-color: hsl(var(--hue-error) 60% 70%);--gender-male: hsl(210 60% 70%);--gender-female: hsl(340 70% 80%);--gender-other: hsl(var(--hue-warning) 60% 70%);--leap-year: hsl(var(--hue-warning) 60% 70%);--input-bg: var(--bg-primary);--input-border: var(--border-default);--input-border-hover: var(--border-strong);--input-border-focus: var(--brand-primary);--input-text: var(--text-primary);--input-placeholder: var(--text-tertiary);--btn-primary-bg: var(--brand-gradient);--btn-primary-text: #ffffff;--btn-primary-shadow: 0 4px 14px 0 hsl(var(--hue-brand) 50% 40% / .4);--btn-primary-shadow-hover: 0 6px 20px 0 hsl(var(--hue-brand) 50% 50% / .5);--btn-secondary-bg: var(--bg-tertiary);--btn-secondary-text: var(--text-secondary);--btn-secondary-border: var(--border-default);--btn-ghost-bg: transparent;--btn-ghost-text: var(--text-secondary);--btn-ghost-hover: var(--bg-tertiary);--btn-disabled-bg: hsl(var(--hue-brand) 15% 20%);--btn-disabled-text: var(--text-disabled);--shadow-color: 220 30% 2%;--shadow-xs: 0 1px 2px 0 hsl(var(--shadow-color) / .4);--shadow-sm: 0 1px 3px 0 hsl(var(--shadow-color) / .5), 0 1px 2px -1px hsl(var(--shadow-color) / .5);--shadow-md: 0 4px 6px -1px hsl(var(--shadow-color) / .5), 0 2px 4px -2px hsl(var(--shadow-color) / .5);--shadow-lg: 0 10px 15px -3px hsl(var(--shadow-color) / .5), 0 4px 6px -4px hsl(var(--shadow-color) / .5);--card-bg: var(--bg-secondary);--card-shadow: var(--shadow-sm);--card-shadow-hover: var(--shadow-md);--card-hover: var(--bg-tertiary)}@media(prefers-reduced-motion:reduce){:root{--duration-instant: 0ms;--duration-fast: 0ms;--duration-normal: 0ms;--duration-slow: 0ms;--ease-out: linear;--ease-in-out: linear;--ease-spring: linear}}@media(prefers-contrast:high){:root{--border-default: currentColor;--border-strong: currentColor;--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--btn-primary-shadow: none;--btn-primary-shadow-hover: none}[data-theme=dark]{--bg-primary: #000000;--bg-secondary: #1a1a1a;--text-primary: #ffffff}}:root{--focus-ring: 0 0 0 3px var(--brand-glow);--focus-ring-offset: 0 0 0 2px var(--bg-primary), 0 0 0 4px var(--brand-primary)}:root{--primary-start: var(--brand-500);--primary-end: var(--brand-700);--primary-gradient: var(--brand-gradient);--success-color: var(--state-success-solid);--success-bg: var(--state-success-bg);--success-border: var(--state-success-border);--error-color: var(--state-error-solid);--error-bg: var(--state-error-bg);--error-border: var(--state-error-border);--warning-color: var(--state-warning-solid);--warning-bg: var(--state-warning-bg);--warning-border: var(--state-warning-border);--info-color: var(--state-info-solid);--info-bg: var(--state-info-bg);--info-border: var(--state-info-border);--leap-year-bg: var(--leap-year);--leap-year-star: var(--leap-year);--secondary-red: var(--error-600);--secondary-orange: var(--warning-600);--container-width: var(--container-max);--border-radius: var(--card-radius);--spacing-xs: var(--space-1);--spacing-sm: var(--space-2);--spacing-md: var(--space-4);--spacing-lg: var(--space-6);--spacing-xl: var(--space-10);--button-primary-bg: var(--btn-primary-bg);--button-primary-shadow: var(--btn-primary-shadow);--button-primary-hover: var(--btn-primary-shadow-hover);--button-disabled-bg: var(--btn-disabled-bg);--button-disabled-opacity: .6;--status-new-bg: var(--brand-50);--status-new-border: var(--brand-200)}:root [data-theme=dark]{--status-new-bg: hsl(var(--hue-brand) 30% 20% / .3);--status-new-border: var(--brand-700)}:root{--font-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-brand: "Playfair Display", "Inter", var(--font-primary);--font-heading: "Poppins", "Inter", var(--font-primary);--font-decorative: "Caveat", "Playfair Display", cursive;--font-mono: "JetBrains Mono", "Fira Code", Consolas, monospace;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--font-black: 900;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--tracking-tighter: -.05em;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .025em;--tracking-wider: .05em}html{font-family:var(--font-primary);font-size:16px;line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--text-secondary);background-color:var(--bg-primary);transition:background-color .3s ease,color .3s ease}.logo-text,.nav-logo a{font-family:var(--font-brand);font-weight:var(--font-black);font-size:var(--text-2xl);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);white-space:nowrap;display:inline-block;transition:transform .3s ease,filter .3s ease;background:linear-gradient(135deg,#fff,#f0f9ff,#e0f2fe);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))}[data-theme=light] .logo-text,[data-theme=light] .nav-logo a{background:linear-gradient(135deg,#667eea,#764ba2,#f093fb,#667eea,#764ba2);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:wave 3s ease-in-out infinite;text-shadow:none}[data-theme=light] .logo-text:hover,[data-theme=light] .nav-logo a:hover{animation:wave 1.5s ease-in-out infinite;transform:scale(1.02)}@keyframes wave{0%{background-position:0% center}50%{background-position:100% center}to{background-position:0% center}}[data-theme=dark] .logo-text,[data-theme=dark] .nav-logo a{background:linear-gradient(135deg,#c4b5fd,#a78bfa,#8b5cf6);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 15px rgba(139,92,246,.5))}.logo-text:hover,.nav-logo a:hover{transform:scale(1.05);filter:brightness(1.1)}@media(min-width:768px){.logo-text,.nav-logo a{font-size:var(--text-3xl);letter-spacing:var(--tracking-tighter)}}@media(min-width:1024px){.logo-text,.nav-logo a{font-size:var(--text-4xl)}}h1,h2,h3,h4,h5,h6,.page-title,.section-title,.subsection-title{font-family:var(--font-heading);color:var(--text-primary);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);margin-top:0;font-weight:var(--font-bold)}h1,.page-title,.title-hero{font-size:var(--text-3xl);margin-bottom:var(--spacing-lg)}@media(min-width:768px){h1,.page-title,.title-hero{font-size:var(--text-4xl)}}h2,.section-title{font-size:var(--text-2xl);margin-bottom:var(--spacing-md)}@media(min-width:768px){h2,.section-title{font-size:var(--text-3xl)}}h3,.subsection-title{font-size:var(--text-xl);font-weight:var(--font-semibold);margin-bottom:var(--spacing-sm)}@media(min-width:768px){h3,.subsection-title{font-size:var(--text-2xl)}}.text-gradient,.brand-title{background:linear-gradient(135deg,var(--primary-start) 0%,var(--primary-end) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:var(--font-extrabold);filter:drop-shadow(0 1px 1px rgba(0,0,0,.05))}[data-theme=dark] .text-gradient,[data-theme=dark] .brand-title{filter:drop-shadow(0 0 10px rgba(139,92,246,.3))}p,.text-body{font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.text-small,small{font-size:var(--text-sm);color:var(--text-tertiary)}.text-xs{font-size:var(--text-xs);color:var(--text-tertiary)}.text-lead{font-size:var(--text-lg);line-height:var(--leading-relaxed);color:var(--text-secondary)}.text-mono,code,pre{font-family:var(--font-mono);font-size:.9em;color:var(--text-secondary)}strong,.text-bold{font-weight:var(--font-bold);color:var(--text-primary)}em,.text-italic{font-style:italic}.birthday-message{font-family:var(--font-decorative);font-size:var(--text-2xl);font-weight:var(--font-semibold);letter-spacing:var(--tracking-normal)}a,.link{font-family:inherit;color:var(--primary-start);text-decoration:none;font-weight:var(--font-medium);transition:color .2s ease,text-decoration-color .2s ease}a:hover,.link:hover{color:var(--primary-end);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.2em}a:focus-visible,.link:focus-visible{outline:2px solid var(--primary-start);outline-offset:2px;border-radius:4px}ul,ol{margin-bottom:var(--spacing-md);padding-left:var(--spacing-lg)}li{margin-bottom:var(--spacing-xs);line-height:var(--leading-relaxed)}blockquote{border-left:4px solid var(--primary-start);padding-left:var(--spacing-md);margin:var(--spacing-lg) 0;font-style:italic;color:var(--text-secondary);background:var(--bg-secondary);padding:var(--spacing-md);border-radius:0 var(--radius-md) var(--radius-md) 0}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-uppercase{text-transform:uppercase}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}a img,a .emoji,a span[role=img],a .nav-link span,a .footer-link span,a .live-indicator,a .leap-year-star,.control-button span,button span,.birthday-link *,.upcoming-item *,.vtuber-link *,.mobile-vtuber-card *{text-decoration:none!important;border-bottom:none!important;text-decoration-thickness:0!important}.navigation *,.navigation *:hover,.navigation *:focus{text-decoration:none!important;border-bottom:none!important}@media(max-width:768px){html{font-size:15px}h1,.page-title{font-size:var(--text-2xl)}h2,.section-title{font-size:var(--text-xl)}h3,.subsection-title{font-size:var(--text-lg)}p,.text-body{font-size:var(--text-sm);line-height:var(--leading-normal)}.logo-text,.nav-logo a{font-size:var(--text-xl)}.birthday-message{font-size:var(--text-lg)}}@media(max-width:480px){html{font-size:14px}h1,.page-title{font-size:var(--text-xl)}h2,.section-title,.logo-text,.nav-logo a{font-size:var(--text-lg)}.birthday-message{font-size:var(--text-base)}}@media print{body{background:#fff;color:#000}.logo-text,.nav-logo a{background:none!important;color:#000!important;filter:none!important;animation:none!important}a{text-decoration:underline;color:#000}}[data-theme=light] .content-card.has-birthdays{position:relative;overflow:hidden}@keyframes firework{0%{transform:scale(0);opacity:1}50%{transform:scale(1);opacity:.8}to{transform:scale(1.5);opacity:0}}@keyframes firework-spark{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(0);opacity:0}}.firework{position:absolute;width:6px;height:6px;background:radial-gradient(circle,#ff6b6b,#ff8e8e,#ffb347);border-radius:50%;pointer-events:none;z-index:10;animation:firework 1s ease-out forwards}.firework-spark{position:absolute;width:3px;height:3px;background:radial-gradient(circle,#ffd966,#ffb347,#ff8c42);border-radius:50%;pointer-events:none;z-index:10;animation:firework-spark .8s ease-out forwards}[data-theme=light] .content-card.has-birthdays:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(255,107,107,.08) 0%,transparent 60%);pointer-events:none;z-index:0}[data-theme=light] .content-card.has-birthdays:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 70%,rgba(255,180,71,.08) 0%,transparent 60%);pointer-events:none;z-index:0}html{display:block}body{font-family:var(--font-primary);background:var(--bg-primary);min-height:100vh;padding:0;margin:0;line-height:var(--leading-normal);font-weight:var(--font-normal);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}[data-theme=dark] body{background:var(--bg-primary)}#root{min-height:100vh;display:flex;flex-direction:column}
