*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f0f11;--surface: #1a1a1e;--surface2: #242428;--border: #2e2e34;--text: #e8e8ec;--muted: #888890;--accent: #6c63ff;--accent-hover: #7c74ff;--danger: #e05252;--success: #52c077;--radius: 8px}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;line-height:1.5;min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}button{cursor:pointer;font-family:inherit;font-size:.9rem;border:none;border-radius:var(--radius);padding:.5rem 1.1rem;transition:opacity .15s,background .15s}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){opacity:.85}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.btn-ghost:hover:not(:disabled){background:var(--surface2)}input,textarea{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:inherit;font-size:.9rem;padding:.5rem .75rem;width:100%;outline:none;transition:border-color .15s}input:focus,textarea:focus{border-color:var(--accent)}input::placeholder{color:var(--muted)}.container{max-width:1100px;margin:0 auto;padding:0 1.5rem}.page{padding:2rem 0 4rem}nav{background:var(--surface);border-bottom:1px solid var(--border);padding:.9rem 0}nav .inner{display:flex;align-items:center;gap:1.5rem}nav .brand{font-weight:700;font-size:1.1rem;color:var(--text)}nav .brand:hover{color:var(--accent)}.alert{padding:.75rem 1rem;border-radius:var(--radius);margin-bottom:1rem;font-size:.9rem}.alert-error{background:#e0525226;border:1px solid var(--danger);color:#ff8080}.alert-success{background:#52c07726;border:1px solid var(--success);color:#80ffa8}._grid_1ma0i_1{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px}._cell_1ma0i_7{background:var(--surface2);border:none;padding:0;aspect-ratio:1;overflow:hidden;cursor:pointer;border-radius:4px}._cell_1ma0i_7:hover ._thumb_1ma0i_17{transform:scale(1.04)}._thumb_1ma0i_17{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}._overlay_1140o_1{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000eb;z-index:1000;display:flex;align-items:center;justify-content:center}._imgWrap_1140o_11{max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:.5rem}._img_1140o_11{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:4px}._caption_1140o_27{color:#ffffff80;font-size:.8rem}._close_1140o_32{position:fixed;top:1.25rem;right:1.25rem;background:#ffffff1a;color:#fff;border:none;width:36px;height:36px;border-radius:50%;font-size:1rem;display:flex;align-items:center;justify-content:center;padding:0;z-index:1001}._close_1140o_32:hover{background:#fff3}._nav_1140o_51{position:fixed;top:50%;transform:translateY(-50%);background:#ffffff14;color:#fff;border:none;width:48px;height:80px;font-size:2rem;display:flex;align-items:center;justify-content:center;padding:0;border-radius:4px;z-index:1001}._nav_1140o_51:hover{background:#ffffff29}._navLeft_1140o_69{left:1rem}._navRight_1140o_70{right:1rem}._grid_vfogr_1{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px;margin-top:1rem}._cell_vfogr_8{position:relative;aspect-ratio:1;border-radius:4px;overflow:hidden;background:var(--surface2)}._cell_vfogr_8._busy_vfogr_16{opacity:.6}._thumb_vfogr_20{width:100%;height:100%;object-fit:cover;display:block}._overlay_vfogr_27{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000;display:flex;align-items:center;justify-content:center;gap:4px;opacity:0;transition:opacity .15s,background .15s}._cell_vfogr_8:hover ._overlay_vfogr_27{opacity:1;background:#0000008c}._iconBtn_vfogr_44{background:#ffffff26;border:none;color:#fff;width:32px;height:32px;border-radius:50%;font-size:1rem;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:background .15s}._iconBtn_vfogr_44:hover:not(:disabled){background:#ffffff4d}._iconBtn_vfogr_44:disabled{opacity:.4;cursor:not-allowed}._deleteBtn_vfogr_69:hover:not(:disabled){background:#e05252b3}._spinner_vfogr_73{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}._spinner_vfogr_73:after{content:"";width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:_spin_vfogr_73 .7s linear infinite}@keyframes _spin_vfogr_73{to{transform:rotate(360deg)}}._section_1krz0_1{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;margin-bottom:2rem}._section_1krz0_1 h2{font-size:1.1rem;margin-bottom:1.25rem;color:var(--text)}._uploadForm_1krz0_15{display:flex;flex-direction:column;gap:1rem}._row_1krz0_21{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 600px){._row_1krz0_21{grid-template-columns:1fr}}._field_1krz0_31{display:flex;flex-direction:column;gap:.4rem}._field_1krz0_31 label{font-size:.85rem;color:var(--muted)}._progress_1krz0_42{display:flex;align-items:center;gap:.75rem;background:var(--surface2);border-radius:var(--radius);height:28px;padding:0 .75rem;overflow:hidden;position:relative}._progressBar_1krz0_54{position:absolute;left:0;top:0;bottom:0;background:var(--accent);opacity:.3;transition:width .2s}._progress_1krz0_42 span{position:relative;font-size:.85rem}._galleryList_1krz0_69{display:flex;flex-direction:column;gap:.75rem}._galleryCard_1krz0_75{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem;display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap;flex-direction:row}._galleryInfo_1krz0_87{flex:1;display:flex;flex-direction:column;gap:.2rem;min-width:180px}._meta_1krz0_95{font-size:.8rem;color:var(--muted)}._galleryActions_1krz0_100{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}._passwordEdit_1krz0_107{display:flex;align-items:center;gap:.5rem}._passwordEdit_1krz0_107 input{width:200px}._photoPanel_1krz0_117{width:100%;border-top:1px solid var(--border);padding-top:.75rem;margin-top:.75rem}
