:root{--bg:#fff;--bg-elev:#fafafa;--bg-elev-2:#f0f0f0;--panel:#fff;--border:#ddd;--border-soft:#ebebeb;--text:#1a1a1a;--text-dim:#555;--text-faint:#8a8a8a;--accent:#09c;--accent-dim:#07a;--danger:#b3261e;--ok:#2e7d32;--img-bg:#eaeaea;--radius:2px;--radius-lg:4px;--shadow:0 1px 6px #0000001a;--font-serif:"Spectral", "Georgia", "Times New Roman", serif;--font-sans:"Helvetica Neue", "Segoe UI", Arial, sans-serif;--font-mono:"Fira Code", ui-monospace, SFMono-Regular, monospace;--maxw:1200px}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:16px;line-height:1.6}a{color:var(--accent);text-decoration:none;transition:color .2s}a:hover{color:#b8780a}.site-nav,.gallery-card .card-type-tag,.artwork-detail .detail-year,.artwork-detail .spec-label,.artwork-detail .price-label,.artwork-detail .back-link,.blog-detail .back-link,.blog-article .blog-date,.stat-label,.form-group label,.contact-link .label,.admin-artwork-row .row-badge,.status-pill,.dash-card .lbl,.admin-sidebar .brand small{font-family:var(--font-serif)}img{max-width:100%;display:block}button,input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}.container{max-width:var(--maxw);margin:0 auto;padding:0 24px}.loading{min-height:60vh;color:var(--text-dim);justify-content:center;align-items:center;font-style:italic;display:flex}.site-header{border-bottom:1px solid var(--border-soft);padding:16px 0}.site-header .container{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:24px;display:flex}.site-title{font-family:var(--font-serif);letter-spacing:.04em;color:var(--text);font-size:1.5rem;font-weight:700}.site-nav{letter-spacing:.12em;text-transform:uppercase;gap:20px;font-size:.85rem;display:flex}.site-nav a{color:var(--text-dim)}.site-nav a:hover,.site-nav a.active{color:var(--accent)}.site-footer{border-top:1px solid var(--border-soft);color:var(--text-faint);text-align:center;margin-top:40px;padding:24px 0 32px;font-size:.85rem}.gallery-hero{text-align:center;padding:32px 0 20px}.gallery-hero h1{font-family:var(--font-serif);letter-spacing:.02em;color:var(--text);font-size:2rem;font-weight:700}.gallery-hero p{color:var(--text-dim);margin-top:12px;font-style:italic}.gallery-grid{columns:2;column-gap:16px}.front-layout{grid-template-columns:2fr 1fr;align-items:start;gap:32px;padding:12px 0 32px;display:grid}.front-blog{position:sticky;top:16px}.front-blog-heading{font-family:var(--font-serif);letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);border-bottom:1px solid var(--border-soft);margin:4px 0 14px;padding-bottom:10px;font-size:.82rem}.blog-preview-list{flex-direction:column;gap:10px;display:flex}.blog-preview{color:var(--text);padding:0;transition:color .2s,transform .2s;display:block}.blog-preview:hover{color:var(--text);transform:translate(3px)}.blog-preview-tag{font-family:var(--font-serif);text-transform:uppercase;letter-spacing:.12em;color:var(--accent-dim);border:1px solid var(--accent-dim);border-radius:2px;margin-bottom:8px;padding:1px 8px;font-size:.66rem;display:inline-block}.blog-preview-title{font-family:var(--font-serif);color:var(--text);font-size:.98rem;font-weight:500;line-height:1.35}.blog-preview-date{color:var(--text-faint);letter-spacing:.03em;margin-top:4px;font-size:.78rem}.blog-preview-excerpt{color:var(--text-dim);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:8px;font-size:.84rem;line-height:1.55;display:-webkit-box;overflow:hidden}.gallery-card{break-inside:avoid;flex-direction:column;margin-bottom:16px;transition:opacity .25s;display:flex}.gallery-card:hover{opacity:.9}.gallery-card .thumb-wrap{background:var(--img-bg);border-radius:4px;justify-content:center;align-items:center;display:flex;overflow:hidden}.gallery-card .thumb-wrap img{object-fit:cover;width:100%;height:100%}.gallery-card .blog-thumb{width:100%;height:100%;color:var(--accent-dim);flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.gallery-card .blog-thumb-label{font-family:var(--font-serif);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);font-size:.78rem}.gallery-card .card-body{text-align:center;padding:16px 0 0}.gallery-card .card-title{font-family:var(--font-serif);color:var(--text);margin-bottom:0;font-size:1rem;font-weight:500;line-height:1.35}.gallery-card .card-meta{color:var(--text-faint);letter-spacing:.05em;margin-top:6px;font-size:.8rem}.gallery-card .card-art-meta{flex-direction:column;gap:3px;display:flex}.gallery-card .card-art-row{justify-content:center;align-items:baseline;gap:8px;display:flex}.gallery-card .card-art-label{font-family:var(--font-serif);color:var(--text-faint);letter-spacing:.02em;font-size:.78rem;font-weight:700}.gallery-card .card-art-date{color:var(--text);white-space:nowrap;font-size:.85rem}.gallery-card .card-art-year{color:var(--text);text-align:right;white-space:nowrap;font-size:.95rem;font-weight:700}.gallery-card .card-art-year:hover{color:var(--accent)}.gallery-card .card-art-value{color:var(--text);text-align:right;white-space:nowrap;font-size:.85rem}.gallery-card .card-price{color:var(--accent);margin-top:10px;font-size:.9rem}.gallery-card .card-price.sold{color:var(--text-faint);font-style:italic}.gallery-card.blog-card .card-body{padding:20px 18px}.gallery-card .card-type-tag{text-transform:uppercase;letter-spacing:.12em;color:var(--accent-dim);border:1px solid var(--accent-dim);border-radius:2px;margin-bottom:12px;padding:2px 10px;font-size:.68rem;display:inline-block}.gallery-card .card-excerpt{color:var(--text-dim);margin-top:10px;font-size:.88rem;line-height:1.6}.empty-state{text-align:center;color:var(--text-dim);padding:80px 20px;font-style:italic}.gallery-filter-bar{color:var(--text-dim);justify-content:space-between;align-items:center;gap:16px;padding:4px 0 16px;font-size:.9rem;display:flex}.gallery-filter-bar strong{color:var(--text);font-family:var(--font-serif)}.gallery-toolbar{justify-content:flex-end;padding:0 0 16px;display:flex}.switch{cursor:pointer;color:var(--text-dim);-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:.9rem;display:inline-flex}.switch input{appearance:none;background:var(--bg-elev-2);border:1px solid var(--border);cursor:pointer;border-radius:999px;flex-shrink:0;width:44px;height:24px;transition:background .2s,border-color .2s;position:relative}.switch input:after{content:"";background:var(--text-faint);border-radius:50%;width:18px;height:18px;transition:transform .2s,background .2s;position:absolute;top:2px;left:2px}.switch input:checked{background:var(--accent);border-color:var(--accent)}.switch input:checked:after{background:var(--bg-elev);transform:translate(20px)}.year-links{flex-wrap:wrap;gap:8px;padding:0 0 16px;display:flex}.year-link{border:1px solid var(--border);color:var(--text-dim);border-radius:999px;align-items:center;padding:4px 12px;font-size:.85rem;text-decoration:none;transition:border-color .2s,color .2s,background .2s;display:inline-flex}.year-link:hover{border-color:var(--accent-dim);color:var(--accent)}.year-link.active{background:var(--accent);border-color:var(--accent);color:#1a0f0a;font-weight:700}.pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:20px 0 32px;display:flex}.page-btn,.page-ellipsis{border:1px solid var(--border);border-radius:var(--radius);min-width:34px;height:34px;color:var(--text-dim);justify-content:center;align-items:center;padding:0 10px;font-size:.85rem;text-decoration:none;transition:border-color .2s,color .2s,background .2s;display:inline-flex}a.page-btn:hover{border-color:var(--accent-dim);color:var(--accent)}.page-btn.current{background:var(--accent);border-color:var(--accent);color:#1a0f0a;font-weight:700}.page-btn.disabled{opacity:.4;cursor:not-allowed}.page-ellipsis{min-width:auto;color:var(--text-faint);border:none;padding:0 4px}.artwork-detail{padding:24px 0 32px}.artwork-detail .back-link{color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;margin-bottom:32px;font-size:.85rem;display:inline-block}.artwork-detail .detail-grid{grid-template-columns:1.2fr 1fr;align-items:start;gap:32px;display:grid}.artwork-detail .detail-image{background:var(--img-bg);border:1px solid var(--border-soft);border-radius:var(--radius-lg);overflow:hidden}.artwork-detail .detail-image img{width:100%;height:auto}.artwork-detail .detail-info h1{font-family:var(--font-serif);font-size:2rem;font-weight:600;line-height:1.2}.artwork-detail .detail-year{color:var(--text-faint);letter-spacing:.1em;margin-top:6px;font-size:.9rem}.artwork-detail .detail-description{color:var(--text);white-space:pre-wrap;margin-top:24px;line-height:1.8}.artwork-detail .detail-specs{border-top:1px solid var(--border-soft);grid-template-columns:1fr 1fr;gap:16px 24px;margin-top:32px;padding-top:24px;display:grid}.artwork-detail .spec{font-size:.9rem}.artwork-detail .spec-label{color:var(--text-faint);text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px;font-size:.72rem}.artwork-detail .spec-value{color:var(--text)}.artwork-detail .price-block{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);margin-top:24px;padding:18px}.artwork-detail .price-label{color:var(--text-faint);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}.artwork-detail .price-value{font-family:var(--font-serif);color:var(--accent);margin:4px 0 12px;font-size:1.6rem}.artwork-detail .price-value.sold{color:var(--text-faint);font-style:italic}.artwork-detail .price-link{border:1px solid var(--accent-dim);border-radius:var(--radius);color:var(--accent);letter-spacing:.08em;text-transform:uppercase;padding:10px 22px;font-size:.85rem;transition:background .2s,color .2s;display:inline-block}.artwork-detail .price-link:hover{background:var(--accent);color:#1a0f0a}.blog-detail{max-width:720px;padding:40px 0 60px}.blog-detail .back-link{color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;margin-bottom:32px;font-size:.85rem;display:inline-block}.blog-article h1{font-family:var(--font-serif);margin-bottom:8px;font-size:2rem;font-weight:600;line-height:1.2}.blog-article .blog-date{color:var(--text-faint);letter-spacing:.08em;margin-bottom:32px;font-size:.85rem}.blog-article .blog-content{color:var(--text);white-space:pre-wrap;font-size:1.05rem;line-height:1.9}.contact-page{max-width:640px;margin:0 auto;padding:32px 0}.contact-page h1{font-family:var(--font-serif);text-align:center;font-size:2rem;font-weight:600}.contact-page .contact-intro{text-align:center;color:var(--text-dim);margin:16px 0 40px;font-style:italic;line-height:1.7}.contact-links{flex-direction:column;gap:12px;display:flex}.contact-link{background:var(--bg-elev);border:1px solid var(--border-soft);border-radius:var(--radius);align-items:center;gap:14px;padding:14px 18px;transition:border-color .2s,transform .2s;display:flex}.contact-link:hover{border-color:var(--accent-dim);transform:translate(4px)}.contact-link .icon{background:var(--bg-elev-2);width:40px;height:40px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.contact-link .label{color:var(--text-faint);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem}.contact-link .value{color:var(--text);word-break:break-all;margin-top:2px;font-size:1rem}.auth-page{background:radial-gradient(at top,#fff8ee 0%,#f5e6d3 70%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:380px;box-shadow:var(--shadow);padding:40px 36px}.auth-card h1{font-family:var(--font-serif);text-align:center;margin-bottom:8px;font-size:1.8rem;font-weight:500}.auth-card .auth-sub{text-align:center;color:var(--text-dim);margin-bottom:28px;font-size:.85rem}.form-group{margin-bottom:14px}.form-group label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-size:.8rem;display:block}.form-group input,.form-group textarea,.form-group select{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);padding:10px 14px;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--accent-dim);outline:none}.form-group textarea{resize:vertical;min-height:100px;line-height:1.6}.form-group .hint{color:var(--text-faint);margin-top:6px;font-size:.78rem}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-row-3{grid-template-columns:1fr 1fr 1fr;gap:16px;display:grid}.checkbox-group{align-items:center;gap:10px;display:flex}.checkbox-group input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}.checkbox-group label{text-transform:none;letter-spacing:0;color:var(--text);margin:0;font-size:.95rem}.btn{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);color:var(--text);cursor:pointer;letter-spacing:.04em;justify-content:center;align-items:center;gap:8px;padding:8px 22px;font-size:.9rem;transition:background .2s,border-color .2s,color .2s,opacity .2s;display:inline-flex}.btn:hover{border-color:var(--accent-dim);color:var(--accent)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#1a0f0a}.btn-primary:hover{color:#1a0f0a;background:#b8780a;border-color:#b8780a}.btn-danger{border-color:var(--danger);color:var(--danger)}.btn-danger:hover{background:var(--danger);color:var(--bg)}.btn-sm{padding:6px 14px;font-size:.82rem}.btn-block{width:100%}.btn-row{flex-wrap:wrap;gap:12px;display:flex}.admin-layout{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.admin-sidebar{background:var(--bg-elev);border-right:1px solid var(--border);flex-direction:column;padding:24px 0;display:flex}.admin-sidebar .brand{font-family:var(--font-serif);border-bottom:1px solid var(--border-soft);color:var(--text);padding:0 24px 24px;font-size:1.3rem}.admin-sidebar .brand small{font-family:var(--font-serif);color:var(--text-faint);letter-spacing:.15em;text-transform:uppercase;margin-top:4px;font-size:.7rem;display:block}.admin-nav{flex-direction:column;flex:1;gap:2px;padding:20px 0;display:flex}.admin-nav a{color:var(--text-dim);align-items:center;gap:12px;padding:12px 24px;font-size:.9rem;transition:background .2s,color .2s;display:flex}.admin-nav a:hover{background:var(--bg-elev-2);color:var(--text)}.admin-nav a.active{color:var(--accent);background:var(--bg-elev-2);border-left:3px solid var(--accent);padding-left:21px}.admin-sidebar .sidebar-footer{border-top:1px solid var(--border-soft);padding:16px 24px}.admin-content{padding:24px;overflow-y:auto}.admin-content h1{font-family:var(--font-serif);margin-bottom:20px;font-size:1.5rem;font-weight:600}.dash-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;display:grid}.dash-card{background:var(--bg-elev);border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:18px}.dash-card .num{font-family:var(--font-serif);color:var(--accent);font-size:2.4rem}.dash-card .lbl{color:var(--text-faint);text-transform:uppercase;letter-spacing:.1em;margin-top:4px;font-size:.78rem}.admin-artworks-list{flex-direction:column;gap:12px;display:flex}.admin-artwork-row{background:var(--bg-elev);border:1px solid var(--border-soft);border-radius:var(--radius);grid-template-columns:240px 1fr auto auto;align-items:center;gap:14px;padding:10px 14px;transition:border-color .2s;display:grid}.admin-artwork-row:hover{border-color:var(--border)}.admin-artwork-row .row-thumb{object-fit:cover;border-radius:var(--radius);background:var(--img-bg);width:240px;height:240px}.admin-artwork-row .row-title{font-family:var(--font-serif);color:var(--text);font-size:1.15rem}.admin-artwork-row .row-meta{color:var(--text-faint);margin-top:2px;font-size:.82rem}.admin-artwork-row .row-badge{border:1px solid var(--border);color:var(--text-dim);border-radius:2px;padding:3px 10px;font-size:.72rem}.admin-artwork-row .row-badge.visible{color:var(--ok);border-color:var(--ok)}.admin-artwork-row .row-badge.hidden{color:var(--text-faint)}.row-badges{align-items:center;gap:8px;display:flex}.merge-target-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-bottom:16px;display:grid}.merge-target-card{background:var(--bg-elev);border:1px solid var(--border-soft);border-radius:var(--radius);cursor:pointer;text-align:left;color:var(--text);font:inherit;flex-direction:column;gap:8px;padding:8px;transition:border-color .2s,box-shadow .2s;display:flex}.merge-target-card:hover{border-color:var(--border)}.merge-target-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px #ca8a0440}.merge-target-card img{aspect-ratio:4/3;object-fit:cover;background:var(--img-bg);border-radius:2px;width:100%}.merge-target-noimg{aspect-ratio:4/3;background:var(--img-bg);width:100%;color:var(--text-faint);border-radius:2px;justify-content:center;align-items:center;display:flex}.merge-target-meta{min-width:0}.merge-target-title{font-family:var(--font-serif);white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;line-height:1.3;overflow:hidden}.merge-target-sub{color:var(--text-faint);margin-top:2px;font-size:.75rem}.artwork-edit-page{max-width:860px}.artwork-edit-page .page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.artwork-edit-page h1{margin:0}.section-card{background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--radius-lg);margin-bottom:16px;padding:20px}.section-card h2{font-family:var(--font-serif);color:var(--text);margin-bottom:16px;font-size:1.25rem;font-weight:600}.version-list{flex-direction:column;gap:16px;display:flex}.version-item{background:var(--bg-elev);border:1px solid var(--border-soft);border-radius:var(--radius);grid-template-columns:120px 1fr auto;align-items:start;gap:14px;padding:12px;display:grid}.version-item .v-thumb{object-fit:cover;border-radius:var(--radius);background:var(--img-bg);width:120px;height:120px}.version-item .v-fields{flex-direction:column;gap:10px;display:flex}.version-item .v-exif{color:var(--text-faint);font-size:.78rem}.version-item .v-actions{flex-direction:column;gap:8px;display:flex}.upload-zone{border:2px dashed var(--border);border-radius:var(--radius-lg);text-align:center;color:var(--text-dim);cursor:pointer;margin-top:16px;padding:24px;transition:border-color .2s,color .2s}.upload-zone:hover,.upload-zone.dragging{border-color:var(--accent-dim);color:var(--accent)}.upload-zone input{display:none}.upload-zone .uz-icon{margin-bottom:8px;font-size:2rem}.alert{border-radius:var(--radius);margin-bottom:14px;padding:10px 14px;font-size:.9rem}.alert-error{border:1px solid var(--danger);color:#991b1b;background:#991b1b14}.alert-success{border:1px solid var(--ok);color:#15803d;background:#22c55e1f}.alert-info{color:#581c87;background:#581c8714;border:1px solid #581c87}@media (width<=860px){.gallery-grid{columns:2;column-gap:16px}.gallery-card .card-body{padding:16px 8px 0}.front-layout{grid-template-columns:1fr}.front-blog{position:static}.artwork-detail .detail-grid,.admin-layout{grid-template-columns:1fr}.admin-sidebar{border-right:none;border-bottom:1px solid var(--border)}.admin-nav{flex-direction:row;padding:12px;overflow-x:auto}.admin-nav a{white-space:nowrap;padding:8px 14px}.admin-content{padding:24px 20px}.version-item{grid-template-columns:1fr}.version-item .v-thumb{width:100%;height:200px}.form-row,.form-row-3{grid-template-columns:1fr}.admin-artwork-row{grid-template-columns:160px 1fr}.admin-artwork-row .row-thumb{width:160px;height:160px}.admin-artwork-row .row-badges,.admin-artwork-row .btn-sm{grid-column:2}}@media (width<=600px){.gallery-grid{columns:2;column-gap:16px}.gallery-hero h1{font-size:2rem}.site-title{font-size:1.4rem}}.maintenance-screen{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:40px 20px;display:flex}.maintenance-content{text-align:center;max-width:480px}.maintenance-icon{margin-bottom:20px;font-size:3rem;display:block}.maintenance-title{font-family:var(--font-serif);color:var(--text);letter-spacing:.02em;margin:0 0 16px;font-size:2rem}.maintenance-message{color:var(--text-faint);margin:0;font-size:1rem;line-height:1.6}.maintenance-card{justify-content:space-between;align-items:center;gap:20px;display:flex}.import-page h1{margin-bottom:4px}.import-scan-bar{align-items:center;gap:10px;display:flex}.import-scan-bar input{background:var(--bg-elev);border:1px solid var(--border-soft);border-radius:var(--radius);color:var(--text);font-family:var(--font-mono,ui-monospace, monospace);padding:10px 14px;font-size:.9rem}.import-summary{color:var(--text-dim);flex-wrap:wrap;align-items:center;margin-top:18px;font-size:.9rem;display:flex}.import-summary code{background:var(--bg-elev);font-family:var(--font-mono);border-radius:4px;padding:2px 6px;font-size:.82rem}.import-list{flex-direction:column;gap:12px;margin-top:20px;display:flex}.import-row{background:var(--bg-elev);border:1px solid var(--border-soft);border-radius:var(--radius-lg);grid-template-columns:32px 84px 1fr auto;align-items:flex-start;gap:14px;padding:14px;display:grid}.import-row.st-imported{opacity:.6}.import-row.st-skip{opacity:.5}.import-row.st-err{border-color:var(--danger,#a35)}.import-num{color:var(--text-faint);padding-top:4px;font-size:.85rem}.import-thumb{border-radius:var(--radius);background:var(--bg-elev-2);flex-shrink:0;width:84px;height:84px;overflow:hidden}.import-thumb img{object-fit:cover;width:100%;height:100%}.import-main{min-width:0}.import-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.import-sub{color:var(--text-faint);margin-top:2px;font-size:.8rem}.import-sub strong{color:var(--text-dim)}.dup-badge{color:var(--text);background:#0000000f;border-radius:2px;margin-left:6px;padding:1px 7px;font-size:.72rem;display:inline-block}.import-controls{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.import-controls input,.import-controls select{background:var(--bg-elev-2);border:1px solid var(--border-soft);border-radius:var(--radius);color:var(--text);padding:7px 10px;font-size:.85rem}.import-title{flex:1;min-width:160px}.import-target{min-width:180px}.import-date{width:150px}.import-msg{color:var(--text-dim);margin-top:8px;font-size:.8rem}.import-actions{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.status-pill{text-transform:uppercase;letter-spacing:.05em;background:var(--bg-elev-2);color:var(--text-faint);border-radius:2px;padding:3px 9px;font-size:.72rem}.status-pill.st-ok{color:#15803d;background:#22c55e26}.status-pill.st-busy{color:#a16207;background:#ca8a0426}.status-pill.st-err{color:#991b1b;background:#991b1b1f}.status-pill.st-skip{background:var(--bg-elev-2)}.skip-toggle{color:var(--text-faint);cursor:pointer;align-items:center;gap:5px;font-size:.8rem;display:flex}.skip-toggle input{width:16px;height:16px;accent-color:var(--accent)}.stats-summary{grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0 8px;display:grid}.stats-summary-sm{margin:16px 0 12px}.stat-card{background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--radius-lg);text-align:center;padding:16px 12px}.stat-value{font-family:var(--font-serif);color:var(--accent);font-size:2.4rem;line-height:1.1}.stat-label{color:var(--text-dim);letter-spacing:.04em;margin-top:8px;font-size:.85rem}.stats-section{border-top:1px solid var(--border-soft);margin-top:32px;padding-top:24px}.stats-section h2{font-family:var(--font-serif);margin-bottom:16px;font-size:1.5rem;font-weight:600}.stats-bars{flex-direction:column;gap:12px;max-width:720px;display:flex}.stats-bar-row{grid-template-columns:72px 1fr 40px;align-items:center;gap:14px;display:grid}.stats-bar-label{color:var(--text-dim);text-align:right;font-size:.9rem}.stats-bar-track{background:var(--bg-elev);border-radius:6px;height:14px;overflow:hidden}.stats-bar-fill{background:var(--accent);border-radius:6px;min-width:2px;height:100%;transition:width .4s}.stats-bar-count{color:var(--text);font-size:.9rem;font-weight:500}.stats-empty,.stats-note{color:var(--text-dim);font-size:.9rem;font-style:italic}@media (width<=860px){.stats-summary{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.stats-summary{grid-template-columns:1fr 1fr;gap:12px}.stat-value{font-size:1.8rem}}.site-shell{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.site-sidebar{border-right:1px solid var(--border-soft);background:var(--bg);flex-direction:column;height:100vh;padding:40px 32px;display:flex;position:sticky;top:0;overflow-y:auto}.site-title{font-family:var(--font-serif);font-size:1.55rem;font-weight:600;line-height:1.1}.site-title a{color:var(--text)}.site-title a:hover{color:var(--accent)}.site-subtitle{letter-spacing:.28em;text-transform:uppercase;color:var(--text-faint);margin-top:6px;font-size:.72rem}.side-nav{flex-direction:column;flex:1;gap:30px;margin-top:44px;display:flex}.side-nav-group{flex-direction:column;gap:12px;display:flex}.side-link{color:var(--text-dim);font-size:.92rem;line-height:1.3;text-decoration:none;transition:color .2s}.side-link:hover{color:var(--accent)}.side-link.active{color:var(--text);font-weight:600}.side-nav-secondary .side-link{letter-spacing:.12em;text-transform:uppercase;font-size:.78rem}.side-footer{margin-top:20px}.side-link-admin{letter-spacing:.12em;text-transform:uppercase;font-size:.78rem}.side-caption{border-top:1px solid var(--border-soft);text-align:left;margin-top:28px;padding-top:18px}.side-caption-title{font-family:var(--font-serif);color:var(--text);font-size:.95rem;font-weight:600;line-height:1.3}.side-caption-meta{color:var(--text-dim);margin-top:4px;font-size:.78rem;line-height:1.5}.side-nav-links{gap:12px;margin-top:14px;display:flex}.side-text-link{cursor:pointer;font:inherit;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);background:0 0;border:none;padding:0;font-size:.78rem;transition:color .2s}.side-text-link:hover{color:var(--accent);text-decoration:underline}.site-main{min-width:0;padding:40px 48px}.page{max-width:760px}.page-title{font-family:var(--font-serif);margin-bottom:28px;font-size:1.9rem;font-weight:600}.slideshow-page{width:100%}.slideshow-toolbar{justify-content:flex-end;margin-bottom:16px;display:flex}.slideshow{max-width:none;margin:0}.slideshow-stage{cursor:pointer;background:var(--bg);justify-content:center;align-items:center;min-height:0;display:flex}.slideshow-stage img{object-fit:contain;max-width:100%;max-height:calc(100vh - 150px);display:block}.slideshow-meta{text-align:left;margin-top:16px}.slideshow-title{font-family:var(--font-serif);color:var(--text);font-size:1.05rem;font-weight:600}.slideshow-desc{color:var(--text-dim);margin-top:4px;font-size:.85rem}.slideshow-controls{justify-content:center;align-items:center;gap:20px;margin-top:20px;display:flex}.slideshow-btn{border:1px solid var(--border);background:var(--bg);width:40px;height:40px;color:var(--text-dim);cursor:pointer;border-radius:50%;font-size:1.1rem;transition:border-color .2s,color .2s}.slideshow-btn:hover{border-color:var(--accent);color:var(--accent)}.slideshow-count{color:var(--text-faint);font-size:.8rem}.blog-list{flex-direction:column;gap:36px;display:flex}.blog-entry-title{font-family:var(--font-serif);color:var(--text);font-size:1.3rem;font-weight:600;text-decoration:none}.blog-entry-title:hover{color:var(--accent)}.blog-entry-date{color:var(--text-faint);margin-top:4px;font-size:.8rem}.blog-entry-excerpt{color:var(--text-dim);margin-top:10px;font-size:.95rem;line-height:1.7}.about-layout{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:40px;display:grid}.about-text p{color:var(--text);margin-bottom:18px;line-height:1.8}.about-image img{border-radius:var(--radius);width:100%;display:block}@media (width<=860px){.site-shell{grid-template-columns:1fr}.site-sidebar{border-right:none;border-bottom:1px solid var(--border-soft);height:auto;padding:24px;position:static}.side-nav{flex-flow:wrap;gap:20px;margin-top:20px}.side-nav-group{flex-flow:wrap;gap:16px}.side-nav-secondary{gap:16px}.site-main{padding:28px 20px}.about-layout{grid-template-columns:1fr}}

/* export slideshow */
.slideshow-stage{display:block;cursor:pointer}
.slide{display:none}
.slide.active{display:block}
.slide img{max-width:100%;max-height:calc(100vh - 150px);object-fit:contain;display:block;margin:0 auto}
.slide .slideshow-meta{text-align:left;margin-top:16px}
