body{font-family:'Plus Jakarta Sans',sans-serif}.font-mono{font-family:'JetBrains Mono',monospace}.glass{background:rgba(255,255,255,0.03);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,0.08)}.dark .glass-dark{background:rgba(24,24,27,0.85);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,0.06)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(161,161,170,0.3);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:rgba(161,161,170,0.5)}@keyframes shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}.animate-shake{animation:shake 0.4s cubic-bezier(.36,.07,.19,.97) both}button,.transition{transition-timing-function:cubic-bezier(0.4,0,0.2,1)!important;transition-duration:200ms!important}button:active{transform:scale(0.96)}button:disabled:active{transform:none}#modal{transition:opacity 200ms cubic-bezier(0.4,0,0.2,1);opacity:0}#modal.modal-visible{opacity:1}#modal-box{transition:transform 200ms cubic-bezier(0.4,0,0.2,1),opacity 200ms cubic-bezier(0.4,0,0.2,1);transform:scale(0.95) translateY(6px);opacity:0}#modal.modal-visible #modal-box{transform:scale(1) translateY(0);opacity:1}[id$="-menu"]{transition:opacity 150ms cubic-bezier(0.4,0,0.2,1),transform 150ms cubic-bezier(0.4,0,0.2,1);transform-origin:top;opacity:0;transform:translateY(-6px) scale(0.98)}[id$="-menu"].menu-visible{opacity:1;transform:translateY(0) scale(1)}html{-webkit-text-size-adjust:100%;overflow-x:hidden;background-color:#fafafa}html.dark{background-color:#09090b}body{overflow-x:hidden;padding-bottom:env(safe-area-inset-bottom);-webkit-tap-highlight-color:transparent}header{padding-top:env(safe-area-inset-top)}button,[onclick],select,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}@media(max-width:640px){input,textarea,select{font-size:16px!important}}[id$="-menu"] > div{min-height:40px;display:flex;align-items:center}aside{scrollbar-width:none;-ms-overflow-style:none}aside::-webkit-scrollbar{display:none}*{scrollbar-width:thin;scrollbar-color:rgba(161,161,170,0.3) transparent}#script-grid{min-width:0}.grid,.flex{min-width:0}img{max-width:100%}
:root{--accent:99 102 241;--accent-dark:129 140 248}
.accent-text{color:rgb(var(--accent))}
.dark .accent-text{color:rgb(var(--accent-dark))}
.accent-bg{background-color:rgb(var(--accent))}
.dark .accent-bg{background-color:rgb(var(--accent-dark))}
.accent-ring:focus-visible{outline:2px solid rgb(var(--accent));outline-offset:2px}
button:focus-visible,[tabindex]:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid rgb(var(--accent));outline-offset:2px;border-radius:6px}
.script-card{transition:transform 200ms cubic-bezier(0.4,0,0.2,1),box-shadow 200ms cubic-bezier(0.4,0,0.2,1),border-color 200ms cubic-bezier(0.4,0,0.2,1)!important}
.script-card:hover{transform:translateY(-5px) scale(1.012);box-shadow:0 14px 32px -12px rgba(0,0,0,0.25)}
.dark .script-card:hover{box-shadow:0 14px 32px -12px rgba(0,0,0,0.6)}
#toast-container{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);z-index:70;display:flex;flex-direction:column;gap:8px;align-items:center;width:calc(100% - 24px);max-width:360px;pointer-events:none}
.toast{pointer-events:auto;display:flex;align-items:center;gap:8px;background:rgb(24 24 27);color:#fff;font-size:12px;font-weight:600;padding:10px 14px;border-radius:12px;box-shadow:0 8px 24px -6px rgba(0,0,0,0.4);opacity:0;transform:translateY(8px) scale(0.98);transition:opacity 200ms cubic-bezier(0.4,0,0.2,1),transform 200ms cubic-bezier(0.4,0,0.2,1);max-width:100%}
.toast.toast-visible{opacity:1;transform:translateY(0) scale(1)}
.toast.toast-error{background:rgb(159 18 57)}
.toast.toast-success i{color:#4ade80}
.toast.toast-error i{color:#fda4af}
@keyframes spin{to{transform:rotate(360deg)}}
.btn-spinner{display:inline-block;width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin 0.6s linear infinite}
.btn-loading{opacity:0.75;pointer-events:none}
#search-input-clear{transition:opacity 150ms ease}
.dropdown-item-active{background-color:rgba(99,102,241,0.1)!important;color:rgb(var(--accent))!important}
.dark .dropdown-item-active{color:rgb(var(--accent-dark))!important}
#modal-box{outline:none}
@keyframes fadeInUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes popIn{0%{opacity:0;transform:scale(0.85)}70%{transform:scale(1.03)}100%{opacity:1;transform:scale(1)}}
@keyframes shimmer{0%{background-position:-400px 0}100%{background-position:400px 0}}
@keyframes softPulse{0%,100%{opacity:1}50%{opacity:0.55}}
.script-card{animation:fadeInUp 420ms cubic-bezier(0.16,1,0.3,1) both}
.script-card img{transition:transform 500ms cubic-bezier(0.16,1,0.3,1)}
.script-card:hover img{transform:scale(1.06)}
.tab-panel{animation:fadeInUp 300ms cubic-bezier(0.16,1,0.3,1) both}
#modal-box{animation:none}
#modal-box.animate-shake{animation:shake 0.4s cubic-bezier(.36,.07,.19,.97) both!important}
.view-count-pop{animation:popIn 350ms cubic-bezier(0.34,1.56,0.64,1) both}
.accent-btn{position:relative;overflow:hidden}
.accent-btn:hover{box-shadow:0 6px 20px -4px rgba(79,70,229,0.5);transform:translateY(-1px)}
.dark .accent-btn:hover{box-shadow:0 6px 20px -4px rgba(129,140,248,0.45)}
.accent-btn:active{transform:translateY(0) scale(0.97)}
.skeleton-shimmer{background:linear-gradient(90deg,rgba(161,161,170,0.08) 25%,rgba(161,161,170,0.18) 37%,rgba(161,161,170,0.08) 63%);background-size:800px 100%;animation:shimmer 1.6s linear infinite}
.badge-pulse{animation:softPulse 2.2s ease-in-out infinite}
[id$="-menu"]{transform-origin:top}
#usercard-menu{transform-origin:bottom;transform:translateY(6px) scale(0.98)}
#usercard-menu.menu-visible{transform:translateY(0) scale(1)}
body{animation:fadeIn 350ms ease both}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:0.001ms!important;animation-iteration-count:1!important;transition-duration:0.001ms!important}}
.accent-btn{background-color:rgb(79 70 229)!important;color:#fff!important}
.accent-btn:hover{background-color:rgb(67 56 202)!important}
.dark .accent-btn{background-color:rgb(99 102 241)!important;color:#fff!important}
.dark .accent-btn:hover{background-color:rgb(129 140 248)!important}
.spoiler-tag{background-color:#1c1c1e;color:transparent;border-radius:3px;cursor:pointer;padding:0 2px;transition:background-color 150ms}
.spoiler-tag *{visibility:hidden}
.spoiler-tag.spoiler-revealed{background-color:rgba(161,161,170,0.15);color:inherit;cursor:text}
.spoiler-tag.spoiler-revealed *{visibility:visible}
html[data-theme="galaxy"]{
background:
radial-gradient(ellipse 140% 90% at 15% -15%, rgba(167,139,250,0.30), transparent 55%),
radial-gradient(ellipse 120% 80% at 105% 10%, rgba(56,189,248,0.20), transparent 55%),
radial-gradient(ellipse 100% 70% at 50% 120%, rgba(217,70,239,0.14), transparent 60%),
radial-gradient(1.5px 1.5px at 12% 22%, #fff, transparent),
radial-gradient(1px 1px at 78% 38%, #fff, transparent),
radial-gradient(1px 1px at 42% 68%, #fff, transparent),
radial-gradient(1.5px 1.5px at 62% 14%, #fff, transparent),
radial-gradient(1px 1px at 88% 78%, #fff, transparent),
radial-gradient(1px 1px at 24% 84%, #fff, transparent),
radial-gradient(1px 1px at 95% 55%, #fff, transparent),
radial-gradient(1.5px 1.5px at 5% 60%, #fff, transparent),
linear-gradient(180deg, #0b0620 0%, #150a30 45%, #05030c 100%);
background-color:#05030c;
background-size:cover;
}
html[data-theme="galaxy"] .glass-dark{background:rgba(20,10,40,0.55)!important;border-color:rgba(167,139,250,0.18)!important}
html[data-theme="galaxy"] .dark\:bg-zinc-900{background-color:rgba(24,16,45,0.75)!important}
html[data-theme="galaxy"] .dark\:bg-zinc-950{background-color:transparent!important}
@keyframes galaxyDrift{0%{background-position:0% 0%,100% 0%,50% 100%,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0}100%{background-position:3% 2%,97% 3%,52% 98%,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0}}
html[data-theme="galaxy"]{animation:fadeIn 350ms ease both,galaxyDrift 40s ease-in-out infinite alternate}
@media (prefers-reduced-motion: reduce){html[data-theme="galaxy"]{animation:fadeIn 350ms ease both}}