*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0a0a;--bg-secondary:#111;--bg-card:#0f0f0f;--border:#222;--border-light:#2a2a2a;--text:#fff;--text-secondary:#888;--text-muted:#555;--accent:#c8a96e;--accent-dim:#8a7045}body,html{background-color:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:300;line-height:1.6;min-height:100vh}a{color:inherit;text-decoration:none}button{cursor:pointer}button,input,select,textarea{font-family:inherit}img{max-width:100%;height:auto;display:block}.site-header{border-bottom:1px solid var(--border);padding:0 60px;display:flex;align-items:center;justify-content:space-between;height:72px;position:-webkit-sticky;position:sticky;top:0;background:var(--bg);z-index:100}.site-logo{font-family:Cormorant Garamond,serif;font-size:22px;font-weight:300;letter-spacing:.15em;text-transform:uppercase;color:var(--text)}.site-nav{display:flex;gap:40px;align-items:center}.site-nav a{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);transition:color .2s}.site-nav a:hover{color:var(--text)}.page-container{max-width:1400px;margin:0 auto;padding:80px 60px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px}.login-card{width:100%;max-width:400px;border:1px solid var(--border);padding:60px 50px;background:var(--bg-card)}.login-title{font-family:Cormorant Garamond,serif;font-size:32px;font-weight:300;letter-spacing:.05em;margin-bottom:8px;text-align:center}.login-subtitle{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);text-align:center;margin-bottom:48px}.form-group{margin-bottom:24px}.form-label{display:block;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:10px}.form-input{width:100%;background:transparent;border:1px solid var(--border);color:var(--text);padding:14px 16px;font-size:14px;outline:none;transition:border-color .2s}.form-input:focus{border-color:var(--accent-dim)}.form-textarea{width:100%;background:transparent;border:1px solid var(--border);color:var(--text);padding:14px 16px;font-size:14px;outline:none;transition:border-color .2s;resize:vertical;min-height:100px}.form-textarea:focus{border-color:var(--accent-dim)}.btn-primary{width:100%;background:var(--text);color:var(--bg);border:none;padding:15px 24px;font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:500;transition:opacity .2s}.btn-primary:hover{opacity:.85}.btn-secondary{background:transparent;color:var(--text);border:1px solid var(--border);padding:12px 24px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;transition:border-color .2s,color .2s}.btn-secondary:hover{border-color:var(--text)}.btn-danger{background:transparent;color:#c44;border:1px solid #411;padding:10px 20px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;transition:border-color .2s}.btn-danger:hover{border-color:#c44}.btn-ghost{background:transparent;color:var(--text-secondary);border:none;padding:10px 16px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;transition:color .2s}.btn-ghost:hover{color:var(--text)}.error-msg{color:#c44;font-size:13px;margin-top:12px;text-align:center}.gallery-header{margin-bottom:60px}.gallery-title{font-family:Cormorant Garamond,serif;font-size:14px;font-weight:300;letter-spacing:.2em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:16px}.gallery-count{font-size:12px;color:var(--text-muted);letter-spacing:.05em}.gallery-grid{column-count:3;column-gap:2px}@media (max-width:1100px){.gallery-grid{column-count:2}}@media (max-width:640px){.gallery-grid{column-count:1}.page-container{padding:40px 24px}.site-header{padding:0 24px}}.artwork-card{page-break-inside:avoid;break-inside:avoid;margin-bottom:2px;position:relative;overflow:hidden;cursor:pointer;display:block}.artwork-card:hover .artwork-overlay{opacity:1}.artwork-image-wrap{position:relative;width:100%;overflow:hidden;background:var(--bg-secondary)}.artwork-image-wrap img{width:100%;height:auto;display:block;transition:transform .6s cubic-bezier(.25,.46,.45,.94)}.artwork-card:hover .artwork-image-wrap img{transform:scale(1.03)}.artwork-placeholder{width:100%;aspect-ratio:3/4;background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:40px}.artwork-overlay{position:absolute;bottom:0;left:0;right:0;padding:40px 24px 24px;background:linear-gradient(0deg,rgba(0,0,0,.9) 0,transparent);opacity:0;transition:opacity .3s}.artwork-overlay-title{font-family:Cormorant Garamond,serif;font-size:20px;font-weight:400;margin-bottom:4px}.artwork-overlay-meta{font-size:11px;letter-spacing:.08em;color:var(--text-secondary);text-transform:uppercase}.artwork-info{padding:20px 0 4px}.artwork-info-title{font-family:Cormorant Garamond,serif;font-size:18px;font-weight:400;margin-bottom:4px}.artwork-info-meta{font-size:11px;letter-spacing:.08em;color:var(--text-secondary);text-transform:uppercase}.featured-badge{position:absolute;top:16px;right:16px;background:var(--accent);color:var(--bg);font-size:9px;letter-spacing:.15em;text-transform:uppercase;padding:4px 10px;font-weight:500}.artwork-detail{display:grid;grid-template-columns:1fr 420px;grid-gap:80px;gap:80px;align-items:start}@media (max-width:1000px){.artwork-detail{grid-template-columns:1fr;gap:48px}}.artwork-detail-image{position:-webkit-sticky;position:sticky;top:100px}.artwork-detail-image img{width:100%;height:auto;border:1px solid var(--border)}.artwork-detail-placeholder{width:100%;aspect-ratio:3/4;background:var(--bg-secondary);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:80px;color:var(--text-muted)}.artwork-detail-info{padding-top:20px}.artwork-detail-artist{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}.artwork-detail-title{font-family:Cormorant Garamond,serif;font-size:48px;font-weight:300;line-height:1.1;margin-bottom:8px}.artwork-detail-year{font-size:14px;color:var(--text-secondary);margin-bottom:48px}.detail-divider{border:none;border-top:1px solid var(--border);margin:32px 0}.detail-row{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--border);font-size:13px}.detail-row-label{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--text-secondary);flex-shrink:0;margin-right:16px}.detail-row-value{text-align:right;color:var(--text)}.detail-description{margin:32px 0;font-size:14px;line-height:1.8;color:var(--text-secondary)}.detail-tags{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.detail-tag{border:1px solid var(--border);padding:4px 12px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.detail-actions{display:flex;gap:12px;margin-top:40px;flex-wrap:wrap}.share-page{min-height:100vh;background:var(--bg)}.share-header{border-bottom:1px solid var(--border);padding:24px 60px;display:flex;align-items:center;justify-content:center}.share-logo{font-family:Cormorant Garamond,serif;font-size:20px;font-weight:300;letter-spacing:.2em;text-transform:uppercase}.share-content{max-width:1200px;margin:0 auto;padding:80px 60px;display:grid;grid-template-columns:1fr 380px;grid-gap:80px;gap:80px;align-items:start}@media (max-width:900px){.share-content{grid-template-columns:1fr;padding:40px 24px}}.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:60px}.admin-title{font-family:Cormorant Garamond,serif;font-size:36px;font-weight:300}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th{text-align:left;padding:12px 16px;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--text-secondary);font-weight:400}.admin-table td,.admin-table th{border-bottom:1px solid var(--border)}.admin-table td{padding:16px;vertical-align:middle}.admin-table tr:hover td{background:hsla(0,0%,100%,.02)}.admin-thumb{object-fit:cover}.admin-thumb,.admin-thumb-placeholder{width:48px;height:48px;border:1px solid var(--border)}.admin-thumb-placeholder{background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--text-muted)}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:200;display:flex;align-items:flex-start;justify-content:flex-end}.modal-panel{width:560px;max-width:100vw;height:100vh;background:var(--bg-secondary);border-left:1px solid var(--border);overflow-y:auto;padding:48px 40px}.modal-title{font-family:Cormorant Garamond,serif;font-size:28px;font-weight:300;margin-bottom:40px}.modal-footer{display:flex;gap:12px;margin-top:32px}.upload-area{border:1px dashed var(--border);padding:32px;text-align:center;cursor:pointer;transition:border-color .2s;margin-bottom:16px}.upload-area:hover{border-color:var(--text-secondary)}.upload-area-text{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary)}.upload-preview{max-height:200px;margin:12px auto 0;border:1px solid var(--border)}.toast{position:fixed;bottom:32px;right:32px;background:var(--text);color:var(--bg);padding:14px 24px;font-size:12px;letter-spacing:.08em;z-index:9999;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.back-link{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:60px;transition:color .2s}.back-link:hover{color:var(--text)}.loading{display:flex;align-items:center;justify-content:center;min-height:300px;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted)}.empty-state{text-align:center;padding:120px 40px}.empty-state-title{font-family:Cormorant Garamond,serif;font-size:32px;font-weight:300;color:var(--text-secondary);margin-bottom:16px}.empty-state-text{font-size:13px;color:var(--text-muted);margin-bottom:40px}.checkbox-label{display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.08em;cursor:pointer}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.form-grid .full-width{grid-column:1/-1}.section-heading{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin:32px 0 16px}