:root{background:var(--bg-gradient-1),var(--bg-gradient-2),var(--bg-gradient-base);font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg: #0f0f23;--bg-alt: #16213e;--surface: #1a1a2e;--surface-border: rgba(255, 255, 255, .08);--text: rgba(255, 255, 255, .92);--muted-text: rgba(255, 255, 255, .64);--primary: #8b5cf6;--primary-2: #a855f7;--ring: 0 0 0 3px rgba(139, 92, 246, .15);--glow: 0 8px 32px rgba(139, 92, 246, .18);--error: #f87171;--overlay: rgba(0, 0, 0, .7);--bg-gradient-1: radial-gradient(1200px 800px at 20% -10%, rgba(168, 85, 247, .16), transparent 40%);--bg-gradient-2: radial-gradient(1000px 700px at 80% 110%, rgba(139, 92, 246, .12), transparent 40%);--bg-gradient-base: linear-gradient(180deg, var(--bg), var(--bg-alt));--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--safe-top: env(safe-area-inset-top);--safe-right: env(safe-area-inset-right);--safe-bottom: env(safe-area-inset-bottom);--safe-left: env(safe-area-inset-left)}a{font-weight:500;color:var(--primary);text-decoration:inherit}a:hover{color:var(--primary-2)}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;color:var(--text);background:var(--bg-gradient-1),var(--bg-gradient-2),var(--bg-gradient-base);padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left)}h1{font-size:clamp(24px,4vw,48px);line-height:1.1}button{border-radius:var(--radius-sm);border:1px solid var(--surface-border);padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--surface);color:var(--text);cursor:pointer;transition:border-color .25s,box-shadow .25s,transform .06s ease}button:hover{border-color:var(--primary);box-shadow:var(--ring)}button:active{transform:translateY(1px)}button:focus,button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.hover-ring:hover{box-shadow:var(--ring)}.glow{box-shadow:var(--glow)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.fade-in{animation:fadeIn .3s ease both}.slide-up{animation:slideUp .35s ease both}#root{max-width:1200px;margin:0 auto;padding:24px}@media(max-width:640px){#root{padding:16px;max-width:100%}}.header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-bottom:16px}.title{margin:0;text-align:center}.clickable-title{cursor:pointer;transition:color .2s ease,opacity .2s ease;-webkit-user-select:none;user-select:none}.clickable-title:hover{color:var(--primary);opacity:.8}.clickable-title:active{opacity:.6}.text-error{color:var(--error)}.back-btn{justify-self:start;background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-sm);padding:8px 12px;color:var(--text);cursor:pointer}.back-btn:hover{border-color:var(--primary);box-shadow:var(--ring)}.folders{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}@media(min-width:1024px){.folders{grid-template-columns:repeat(6,minmax(0,1fr))}}.folder-card{display:grid;grid-template-rows:1fr auto auto;place-items:center;padding:16px;border:1px solid var(--surface-border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);cursor:pointer;transition:box-shadow .2s ease,transform .06s ease,border-color .2s ease;min-height:140px}.folder-card:hover{border-color:var(--primary);box-shadow:var(--glow)}.folder-card:active{transform:translateY(1px)}.folder-icon{font-size:48px}.folder-title{font-weight:600;margin-top:8px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.folder-meta{color:var(--muted-text);font-size:12px}@media(max-width:640px){.folder-icon{font-size:40px}.folder-card{padding:12px;min-height:120px}}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}@media(max-width:480px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1024px){.gallery-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}}.thumb{width:100%;height:160px;object-fit:cover;border-radius:10px;border:1px solid var(--surface-border)}@media(max-width:640px){.thumb{height:140px;border-radius:8px}}@media(min-width:1024px){.thumb{height:240px}}.thumb:hover{box-shadow:var(--ring)}.thumb-wrap{position:relative;overflow:hidden;border-radius:10px;border:1px solid var(--surface-border);cursor:pointer;width:100%;height:160px;background:var(--surface)}@media(max-width:640px){.thumb-wrap{height:140px;border-radius:8px}}@media(min-width:1024px){.thumb-wrap{height:240px}}.thumb-wrap .thumb{display:block;width:100%;height:100%;object-fit:cover}.thumb-wrap:hover{box-shadow:var(--ring)}.thumb-play-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:48px;color:#ffffffe6;text-shadow:0 2px 8px rgba(0,0,0,.6)}.list-fade-in>*{animation:fadeIn .3s ease both}.list-slide-up>*{animation:slideUp .35s ease both}.list-stagger>*{animation-delay:calc(var(--i, 0) * 40ms)}.lightbox-overlay{position:fixed;inset:0;background:var(--overlay);display:grid;place-items:center;z-index:50}.lightbox-content{position:relative;max-width:100vw;max-height:96vh}.lightbox-image,.lightbox-video{max-width:100vw;max-height:80vh;border-radius:12px;border:1px solid var(--surface-border);object-fit:contain}.lightbox-video{display:block}.lightbox-close{position:absolute;top:-8px;right:-8px;width:40px;height:40px;border-radius:18px;border:1px solid var(--surface-border);background:var(--surface);color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:24px;line-height:1;padding:0;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.lightbox-close:hover{border-color:var(--primary);box-shadow:var(--ring)}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:56px;border:1px solid var(--surface-border);background:var(--surface);color:var(--text);border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:28px;line-height:1;padding:0;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.lightbox-nav:hover{border-color:var(--primary);box-shadow:var(--ring)}.lightbox-nav.prev{left:-48px}.lightbox-nav.next{right:-48px}.lightbox-counter{position:absolute;bottom:-28px;left:50%;transform:translate(-50%);color:var(--muted-text)}@media(max-width:640px){.lightbox-nav.prev{left:1px}.lightbox-nav.next{right:1px}.lightbox-counter{bottom:-20px;font-size:12px}}.password-gate{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg-gradient-1),var(--bg-gradient-2),var(--bg-gradient-base);position:relative;overflow:hidden}.password-gate:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(139,92,246,.15),transparent),radial-gradient(ellipse 60% 40% at 100% 100%,rgba(168,85,247,.08),transparent);pointer-events:none}.password-gate__form{display:flex;flex-direction:column;gap:1.25rem;padding:2.5rem;width:100%;max-width:360px;background:#1a1a2e99;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--surface-border);border-radius:var(--radius-lg);box-shadow:var(--glow),0 24px 48px #0000004d;animation:passwordGateFadeIn .4s ease-out}@keyframes passwordGateFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.password-gate__title{margin:0;font-size:1.5rem;font-weight:600;letter-spacing:-.02em;color:var(--text);text-align:center}.password-gate__input{padding:.875rem 1rem;border:1px solid var(--surface-border);border-radius:var(--radius-sm);background:#0f0f2380;color:var(--text);font-size:1rem;font-family:inherit;transition:border-color .2s,box-shadow .2s}.password-gate__input::placeholder{color:var(--muted-text)}.password-gate__input:hover{border-color:#ffffff1f}.password-gate__input:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.password-gate__error{margin:0;padding:.5rem 0;font-size:.875rem;color:var(--error);animation:passwordGateShake .3s ease}@keyframes passwordGateShake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.password-gate__btn{padding:.875rem 1.5rem;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-2) 100%);color:#fff;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;font-family:inherit;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease}.password-gate__btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 24px #8b5cf659}.password-gate__btn:active:not(:disabled){transform:translateY(0)}.password-gate__btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.uploads-page{max-width:480px}.uploads-form{margin-top:24px;display:flex;flex-direction:column;gap:1.25rem}.uploads-field{display:flex;flex-direction:column;gap:.5rem}.uploads-field label{font-size:.875rem;color:var(--muted-text)}.uploads-field input{padding:.75rem 1rem;border:1px solid var(--surface-border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:1rem;font-family:inherit}.uploads-field input::placeholder{color:var(--muted-text)}.uploads-field input:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.uploads-error{margin:0;color:var(--error);font-size:.875rem}.uploads-success{margin:0;color:#34d399;font-size:.875rem}.uploads-btn{margin-top:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-2) 100%);color:#fff;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;cursor:pointer}.uploads-btn:hover:not(:disabled){opacity:.9}.uploads-btn:disabled{opacity:.6;cursor:not-allowed}
