@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;600;800&family=JetBrains+Mono:wght@400;700&display=swap";.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hidden-input-accessible{display:none}:root{--bg:#000;--fg:#fff;--accents-1:#111;--accents-2:#222;--accents-3:#333;--accents-4:#444;--accents-5:#888;--accents-6:#aaa;--accents-7:#eaeaea;--accents-8:#fafafa;--error:#ff3b30;--success:#34c759;--border:var(--accents-2);--max-width:1200px;--glass:#000c;--selection:#fff3}[data-theme=light]{--bg:#fff;--fg:#000;--accents-1:#fafafa;--accents-2:#f0f0f0;--accents-3:#e0e0e0;--accents-4:#bbb;--accents-5:#666;--accents-6:#444;--accents-7:#222;--accents-8:#111;--border:var(--accents-3);--glass:#ffffffe6;--selection:#0000001a}*{box-sizing:border-box;margin:0;padding:0}::selection{background:var(--selection)}body{background-color:var(--bg);color:var(--fg);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;height:100vh;font-family:Inter,-apple-system,system-ui,sans-serif;line-height:1.5;overflow:hidden}#root,.app-container{width:100%;height:100%;position:relative}.mono{letter-spacing:-.02em;font-family:JetBrains Mono,monospace}.text-muted{color:var(--accents-5)}.small{font-size:.7rem}.font-10{font-size:10px}h1{letter-spacing:-.06em;text-transform:uppercase;font-size:clamp(2rem,8vw,3.5rem);font-weight:800;line-height:.85}h2{text-transform:uppercase;letter-spacing:.05em;font-size:1rem;font-weight:600}.btn{text-transform:uppercase;letter-spacing:.1em;cursor:pointer;white-space:nowrap;border:1px solid #0000;outline:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.75rem;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-primary{background:var(--fg);color:var(--bg);border-color:var(--fg)}.btn-primary:hover{background:var(--bg);color:var(--fg);transform:translateY(-1px)}.btn-secondary{background:var(--bg);color:var(--fg);border-color:var(--border)}.btn-secondary:hover{border-color:var(--fg)}.btn-ghost{color:var(--fg);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--accents-1)}.card{background:var(--bg);border:1px solid var(--border);padding:1.5rem;position:relative}.hidden-input{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.centered-fullscreen{justify-content:center;align-items:center;width:100vw;height:100vh;padding:1rem;display:flex}.theme-toggle,.signout-toggle{z-index:10001;background:var(--bg);border:1px solid var(--border);color:var(--fg);cursor:pointer;text-transform:uppercase;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.7rem;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:1.5rem;box-shadow:0 4px 12px #0000004d}.theme-toggle{right:1.5rem}.signout-toggle{left:1.5rem}.theme-toggle:hover{background:var(--fg);color:var(--bg);border-color:var(--fg)}.signout-toggle:hover{background:var(--error);color:#fff;border-color:var(--error)}.gate-card{width:100%;max-width:500px;padding:4rem;box-shadow:0 0 40px #00000080}.gate-header{align-items:center;gap:1rem;margin-bottom:3rem;display:flex}.gate-form{flex-direction:column;gap:2rem;display:flex}.input-group{width:100%;position:relative}.input{background:var(--bg);border:1px solid var(--border);color:var(--fg);outline:none;width:100%;padding:1rem 1.5rem;font-family:JetBrains Mono,monospace;font-size:1rem;transition:border-color .2s}.input:focus{border-color:var(--fg)}.gate-meta{border-top:1px solid var(--border);margin-top:2rem;padding-top:1.5rem}.gate-status{opacity:.5;margin-top:2rem}.upload-container{justify-content:center;width:100%;height:100vh;padding:clamp(2rem,5vh,4rem) 2rem;display:flex;overflow-y:auto}.upload-content{width:100%;max-width:var(--max-width)}.upload-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;margin-bottom:4rem;padding-bottom:2rem;display:flex}.gallery-section{min-height:50vh}.media-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.media-item{aspect-ratio:1;border:1px solid var(--border);background:var(--accents-1);transition:border-color .3s;position:relative;overflow:hidden}.media-item:hover{border-color:var(--fg)}.media-img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.16,1,.3,1)}.media-item:hover .media-img{transform:scale(1.04)}.media-info-overlay{opacity:0;background:linear-gradient(#0000,#000000d9);padding:1rem;transition:opacity .3s;position:absolute;bottom:0;left:0;right:0}.media-item:hover .media-info-overlay{opacity:1}.delete-btn{background:var(--bg);border:1px solid var(--border);color:var(--error);cursor:pointer;opacity:0;padding:.4rem;transition:all .2s;position:absolute;top:.75rem;right:.75rem;transform:translateY(-5px)}.media-item:hover .delete-btn{opacity:1;transform:translateY(0)}.delete-btn:hover{background:var(--error);color:#fff;border-color:var(--error)}.empty-state-large{border:2px dashed var(--border);background:var(--accents-1);cursor:pointer;justify-content:center;align-items:center;height:50vh;transition:all .3s;display:flex}.empty-state-large:hover{border-color:var(--fg);background:var(--accents-2)}.empty-content{text-align:center}.plus-icon-container{border:1px solid var(--border);justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex}.empty-state-large:hover .plus-icon-container{border-color:var(--fg);transform:rotate(90deg)}.modal-overlay{background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:50000;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.modal-card{flex-direction:column;width:100%;max-width:700px;max-height:85vh;display:flex}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.modal-body{flex:1;padding:2rem;overflow-y:auto}.preview-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.preview-item{aspect-ratio:1;border:1px solid var(--border);background:var(--accents-1);position:relative;overflow:hidden}.preview-img{object-fit:cover;width:100%;height:100%}.preview-remove-btn{background:var(--bg);color:var(--error);border:1px solid var(--border);cursor:pointer;z-index:10;padding:4px;transition:all .2s;position:absolute;top:.5rem;right:.5rem}.preview-remove-btn:hover{background:var(--error);color:#fff;border-color:var(--error)}.preview-add-more{border:1px dashed var(--border);cursor:pointer;opacity:.6;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;display:flex}.preview-add-more:hover{opacity:1;border-color:var(--fg);border-style:solid}.confirm-info{background:var(--accents-1);border:1px solid var(--border);align-items:center;gap:1rem;margin-bottom:2rem;padding:1.5rem;display:flex}.upload-actions-row{gap:1rem;display:flex}.loading-overlay{background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:60000;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.scanline{z-index:99999;pointer-events:none;opacity:.08;background:linear-gradient(#12101000 50%,#0000001a 50%) 0 0/100% 4px;width:100%;height:100%;position:fixed;top:0;left:0}@media (width<=768px){.upload-header{flex-direction:column;align-items:flex-start;gap:2rem}.theme-toggle{top:auto;bottom:1.5rem;right:1.5rem}.signout-toggle{top:auto;bottom:1.5rem;left:1.5rem}.empty-gallery-state{height:300px}.media-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.gate-card{padding:2rem}}.version-tag{opacity:.3;pointer-events:none;text-transform:uppercase;letter-spacing:.1em;z-index:10000;font-size:9px;position:fixed;bottom:1rem;right:1rem}.no-js-banner{color:#fff;z-index:999999;text-align:center;background:#000;justify-content:center;align-items:center;padding:2rem;font-family:monospace;display:flex;position:fixed;inset:0}.delay-200{animation-delay:.2s}.delay-100{animation-delay:.1s}.dashboard-header{border-bottom:1px solid var(--border);margin-bottom:4rem;padding-bottom:3rem;position:relative}.header-action-float{z-index:10;position:absolute;top:0;right:0}.preview-item-info{opacity:0;pointer-events:none;background:#0009;padding:4px;transition:opacity .2s;position:absolute;bottom:0;left:0;right:0}.preview-item:hover .preview-item-info{opacity:1}.animate-pulse-subtle{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse-subtle}@keyframes pulse-subtle{0%,to{opacity:.8}50%{opacity:1}}.media-card{aspect-ratio:1;border:1px solid var(--border);background:var(--accents-1);transition:all .4s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.media-card:hover{border-color:var(--fg);transform:translateY(-4px);box-shadow:0 10px 30px #00000080}.media-img-wrapper{width:100%;height:100%;overflow:hidden}.media-card:hover .media-img{transform:scale(1.08)}.media-card-overlay{opacity:0;background:linear-gradient(#0000 40%,#000000d9);flex-direction:column;justify-content:flex-end;padding:1.5rem;transition:opacity .3s;display:flex;position:absolute;inset:0}.media-card:hover .media-card-overlay{opacity:1}.media-actions{opacity:0;z-index:20;gap:.5rem;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:1rem;right:1rem;transform:translateY(-10px)}.media-card:hover .media-actions{opacity:1;transform:translateY(0)}.tool-btn{background:var(--bg);border:1px solid var(--border);width:32px;height:32px;color:var(--fg);cursor:pointer;justify-content:center;align-items:center;transition:all .2s;display:flex}.tool-btn:hover{background:var(--fg);color:var(--bg);border-color:var(--fg)}.tool-btn.danger:hover{background:var(--error);border-color:var(--error);color:#fff}.media-img{object-fit:cover;background-color:var(--accents-2);width:100%;height:100%;transition:transform .6s cubic-bezier(.16,1,.3,1);display:block}
