@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.8e0177b5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.b97b3418.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.853070df.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist","Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.c1fdd6c2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.799d8ef8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.dbea232f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
:root{--bg-color:#0d0d0d;--text-color:#f5f5f5;--text-secondary:#a3a3a3;--accent-color:#fff;--card-bg:#1a1a1a;--border-color:#333;--font-main:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif;--spacing-unit:8px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-main);-webkit-font-smoothing:antialiased;line-height:1.5}a{color:inherit;text-decoration:none}h1,h2,h3{letter-spacing:-.02em;font-weight:500}.container{max-width:1400px;margin:0 auto;padding:0 20px}.text-secondary{color:var(--text-secondary)}.mt-4{margin-top:1rem}.mb-4{margin-bottom:1rem}.text-center{text-align:center}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;padding-bottom:40px;display:grid}.gallery-item{background:var(--card-bg);aspect-ratio:3/2;border-radius:4px;position:relative;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .3s;display:block}.gallery-item:hover img{transform:scale(1.02)}.admin-container{max-width:1100px;margin:0 auto;padding:32px 24px}.admin-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:24px;display:flex}.admin-header h1{letter-spacing:-.02em;font-size:1.75rem;font-weight:600}.admin-nav{align-items:center;gap:12px;display:flex}.admin-btn{border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-color);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:10px 18px;font-size:.875rem;font-weight:500;transition:all .15s;display:inline-flex}.admin-btn:hover{background:#252525;border-color:#444}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn-primary{color:#0d0d0d;background:#fff;border-color:#fff}.admin-btn-primary:hover{background:#e5e5e5;border-color:#e5e5e5}.admin-btn-danger{color:#f87171;border-color:#7f1d1d}.admin-btn-danger:hover{background:#450a0a;border-color:#991b1b}.admin-btn-sm{padding:6px 12px;font-size:.8125rem}.admin-link{color:var(--text-secondary);border-radius:6px;padding:8px 12px;font-size:.875rem;transition:all .15s}.admin-link:hover{color:var(--text-color);background:var(--card-bg)}.admin-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;margin-bottom:24px;padding:24px}.admin-card-header{color:var(--text-color);margin-bottom:16px;font-size:1rem;font-weight:600}.admin-input{border:1px solid var(--border-color);background:var(--bg-color);width:100%;color:var(--text-color);border-radius:8px;padding:12px 16px;font-size:.9375rem;transition:border-color .15s}.admin-input:focus{border-color:#555;outline:none}.admin-input::placeholder{color:var(--text-secondary)}.admin-select{border:1px solid var(--border-color);background:var(--bg-color);width:100%;color:var(--text-color);cursor:pointer;border-radius:8px;padding:12px 16px;font-size:.9375rem}.admin-label{margin-bottom:20px;display:block}.admin-label-text{color:var(--text-secondary);margin-bottom:8px;font-size:.875rem;font-weight:500;display:block}.admin-table{border-collapse:collapse;width:100%}.admin-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border-bottom:1px solid var(--border-color);padding:12px 16px;font-size:.75rem;font-weight:600}.admin-table td{border-bottom:1px solid var(--border-color);padding:16px;font-size:.9375rem}.admin-table tbody tr:hover{background:var(--card-bg)}.admin-table code{background:var(--bg-color);color:var(--text-secondary);border-radius:4px;padding:3px 6px;font-size:.8125rem}.admin-badge{text-transform:capitalize;border-radius:9999px;padding:4px 10px;font-size:.75rem;font-weight:500;display:inline-flex}.admin-badge-public{color:#86efac;background:#14532d}.admin-badge-unlisted{color:#fcd34d;background:#713f12}.admin-badge-private{color:#fca5a5;background:#7f1d1d}.admin-badge-ready{color:#86efac;background:#14532d}.admin-badge-processing{color:#93c5fd;background:#1e3a5f}.admin-badge-uploaded{color:#fcd34d;background:#713f12}.admin-error{color:#fca5a5;background:#450a0a;border:1px solid #7f1d1d;border-radius:8px;margin-bottom:20px;padding:12px 16px;font-size:.875rem}.admin-empty{text-align:center;color:var(--text-secondary);padding:48px 24px}.admin-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-upload-zone{border:2px dashed var(--border-color);text-align:center;cursor:pointer;border-radius:12px;margin-bottom:24px;padding:32px;transition:all .15s}.admin-upload-zone:hover{background:var(--card-bg);border-color:#555}.admin-upload-zone input[type=file]{display:none}.admin-upload-item{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:12px 16px;font-size:.875rem;display:flex}.admin-upload-item-name{text-overflow:ellipsis;white-space:nowrap;max-width:60%;overflow:hidden}.admin-checkbox-label{cursor:pointer;align-items:center;gap:8px;font-size:.875rem;display:inline-flex}.admin-checkbox-label input[type=checkbox]{accent-color:#fff;width:18px;height:18px}.admin-inline-form{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.admin-copy-input{border:1px solid var(--border-color);background:var(--bg-color);width:100%;color:var(--text-color);border-radius:8px;margin-top:12px;padding:12px 16px;font-family:monospace;font-size:.875rem}.admin-status-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}@media (max-width:900px){.admin-status-grid{grid-template-columns:1fr}}.admin-status-item{border:1px solid var(--border-color);background:var(--bg-color);border-radius:10px;align-items:flex-start;gap:12px;padding:12px;display:flex}.admin-status-dot{background:#525252;border-radius:9999px;width:10px;height:10px;margin-top:6px}.admin-status-dot.ok{background:#22c55e}.admin-status-dot.bad{background:#ef4444}.admin-status-sub{color:var(--text-secondary);word-break:break-word;margin-top:4px;font-size:.8125rem}.admin-section{margin-top:32px}.admin-section-title{color:var(--text-color);margin-bottom:16px;font-size:1rem;font-weight:600}
