@font-face{font-display:swap;font-family:DM Sans;font-style:normal;font-weight:400;src:url(/static/media/dm-sans-latin-ext-400-normal.8bebaf7df5662fa430b5.woff2) format("woff2"),url(/static/media/dm-sans-latin-ext-400-normal.8db6f75ee1c79c494d2f.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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-display:swap;font-family:DM Sans;font-style:normal;font-weight:400;src:url(/static/media/dm-sans-latin-400-normal.96e96e69c87b0b5fb891.woff2) format("woff2"),url(/static/media/dm-sans-latin-400-normal.673619a102aaec9f3c70.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:IBM Plex Mono;font-style:normal;font-weight:400;src:url(/static/media/ibm-plex-mono-cyrillic-ext-400-normal.bbad4d1918b96229653b.woff2) format("woff2"),url(/static/media/ibm-plex-mono-cyrillic-ext-400-normal.18dd695e5b1103c22279.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:IBM Plex Mono;font-style:normal;font-weight:400;src:url(/static/media/ibm-plex-mono-cyrillic-400-normal.6ac19c59b273fe60dfcc.woff2) format("woff2"),url(/static/media/ibm-plex-mono-cyrillic-400-normal.c348deac43fa5748edea.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:IBM Plex Mono;font-style:normal;font-weight:400;src:url(/static/media/ibm-plex-mono-vietnamese-400-normal.530da8a08402532b9ded.woff2) format("woff2"),url(/static/media/ibm-plex-mono-vietnamese-400-normal.442fb799b2a313edbc10.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:IBM Plex Mono;font-style:normal;font-weight:400;src:url(/static/media/ibm-plex-mono-latin-ext-400-normal.4eb454f797fc14173977.woff2) format("woff2"),url(/static/media/ibm-plex-mono-latin-ext-400-normal.9e8e59cd24901250b690.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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-display:swap;font-family:IBM Plex Mono;font-style:normal;font-weight:400;src:url(/static/media/ibm-plex-mono-latin-400-normal.57685f70bce71bc2281d.woff2) format("woff2"),url(/static/media/ibm-plex-mono-latin-400-normal.a249eaef7f811a5b3ef8.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.skip-nav{background:#000;border-radius:4px;color:#fff;left:6px;padding:8px;position:absolute;text-decoration:none;top:-40px;transition:top .3s;z-index:9999}.skip-nav:focus{top:6px}.main-header{margin:32px 0 16px}.page-title{color:#2d2d2d;cursor:pointer;flex:1 1;font-family:DM Sans,sans-serif;font-size:2.5rem;text-align:left;transition:color .2s ease}.header-btn{flex-shrink:0}@media (max-width:900px){.page-title{font-size:2rem}}@media (max-width:768px){.page-title{font-size:1.8rem;text-align:center}.header-btn{max-width:200px;width:100%}}@media (max-width:600px){.page-title{font-size:1.5rem}}a:focus,button:focus,input:focus,textarea:focus{outline:3px solid #06c;outline-offset:2px}.theme-toggle-btn:focus{outline:2px solid #fff}.theme-toggle-btn:hover span{filter:brightness(1.2) drop-shadow(0 0 8px rgba(255,255,255,.3))}.visually-hidden{clip:rect(0,0,0,0)!important;border:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}@media (prefers-contrast:high){.artwork-card,.bookmark-btn,.clear-filters-btn,.filter-select,.load-more-btn,.nav-item,.search-input,.tag{background:#fff!important;border:2px solid #000!important;color:#000!important}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}:focus{outline:3px solid #666;outline-offset:2px}.skip-link{background:#000;border-radius:4px;color:#fff;left:6px;padding:8px;position:absolute;text-decoration:none;top:-40px;z-index:1000}.skip-link:focus{top:6px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#fff;color:#333;font-family:DM Sans,sans-serif}.App{min-height:100vh}.title{color:#333;font-size:14px;font-weight:500;letter-spacing:.5px}.filter-controls{background-color:#fafafa;border-bottom:1px solid #e0e0e0;padding:20px 40px}.search-bar{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.search-input{background-color:#fff;border:1px solid #ddd;border-radius:4px;flex:1 1;font-family:DM Sans,sans-serif;font-size:14px;min-width:300px;padding:12px 16px;transition:border-color .2s ease}.search-input:focus{border-color:#333;outline:none}.filter-dropdowns{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.filter-select{background-color:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-family:DM Sans,sans-serif;font-size:14px;min-width:180px;padding:12px 16px;transition:border-color .2s ease}.filter-select:focus{border-color:#333;outline:none}.clear-filters-btn{background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-family:DM Sans,sans-serif;font-size:14px;padding:12px 16px;transition:all .2s ease}.clear-filters-btn:hover{background-color:#333;border-color:#333;color:#fff}.results-info{color:#666;font-family:IBM Plex Mono,monospace;font-size:14px;padding:16px 40px}.load-more-container{display:flex;justify-content:center;padding:40px}.load-more-btn{background-color:#333;border:none;border-radius:4px;color:#fff;cursor:pointer;font-family:DM Sans,sans-serif;font-size:12px;min-width:100px;padding:12px 24px;transition:all .2s ease}.load-more-btn:hover:not(:disabled){background-color:#000;transform:translateY(-1px)}.load-more-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.gallery{grid-gap:30px;align-items:start;display:grid;gap:30px;grid-template-columns:repeat(5,1fr);margin:0 auto;max-width:1400px;padding:40px}.artwork-card{background:#fff;border-radius:6px;box-shadow:none;display:flex;flex-direction:column;height:auto;overflow:visible;padding:0;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}.artwork-image{align-items:center;background-color:silver;border-radius:4px;display:flex;flex-shrink:0;height:220px;justify-content:center;overflow:hidden;position:relative}.artwork-image img{height:100%;object-fit:cover;object-position:center;width:100%}.no-image{color:#666;font-family:IBM Plex Mono,monospace;font-size:12px}.bookmark-container{position:absolute;right:10px;top:10px;z-index:10}.bookmark-btn{align-items:center;background:#fffffff2;border:1px solid #0000001a;border-radius:50%;color:#333;cursor:pointer;display:flex;font-size:14px;font-weight:700;height:32px;justify-content:center;transition:all .2s ease;width:32px;z-index:1}.bookmark-btn:hover{background:#fff;border-color:#333;transform:scale(1.1)}.bookmark-btn:focus{outline:3px solid #666;outline-offset:2px}.artwork-info{display:flex;flex-direction:column;flex-grow:1;padding:16px 12px 12px}.artwork-title{color:#333;font-family:DM Sans,sans-serif;font-size:16px;font-weight:600;margin-bottom:6px}.artwork-title-link{color:inherit;text-decoration:none;transition:color .2s ease}.artwork-title-link:hover,.artwork-title-link:hover .artwork-title{color:#595959}.external-link-icon{font-size:14px;margin-left:4px;opacity:.7;transition:opacity .2s ease}.artwork-title-link:hover .external-link-icon{opacity:1}.artwork-meta{background-color:none;box-shadow:none;color:#555;font-family:IBM Plex Mono,monospace;font-size:12px;margin-bottom:12px}.artwork-tags{display:flex;flex-wrap:wrap;gap:8px}.tag{background-color:#f5f5f5;border:1px solid #ddd;border-radius:16px;color:#555;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:500;letter-spacing:.8px;padding:4px 12px;text-transform:uppercase}.tag.abstract,.tag.american-art,.tag.baroque,.tag.contemporary,.tag.european-painting,.tag.impressionist,.tag.landscape,.tag.modern,.tag.painting,.tag.period,.tag.photography,.tag.popular,.tag.portrait,.tag.prints-and-drawings,.tag.renaissance,.tag.sculpture,.tag.still-life{background-color:#f0f0f0;border:1px solid #ddd;color:#555}.no-results{align-items:center;background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#555;display:flex;flex-direction:column;font-family:DM Sans,sans-serif;justify-content:center;margin:20px auto;max-width:600px;padding:20px;text-align:center}.no-results p{color:#333;font-size:16px;line-height:1.5}@media (max-width:1400px){.gallery{gap:25px;grid-template-columns:repeat(4,1fr)}}@media (max-width:1100px){.gallery{gap:20px;grid-template-columns:repeat(3,1fr);padding:30px}}@media (max-width:900px){.gallery{grid-template-columns:repeat(3,1fr);padding:20px}.filter-controls{padding:15px 20px}.results-info{padding:12px 20px}.search-input{min-width:250px}.filter-select{min-width:140px}}@media (max-width:768px){.gallery{gap:15px;grid-template-columns:repeat(2,1fr);padding:20px}.search-bar{flex-wrap:wrap}.search-input{flex:1 1 auto;min-width:200px}.filter-select{flex:0 0 auto;min-width:120px}}@media (max-width:480px){.gallery{gap:20px;grid-template-columns:1fr;padding:15px}.header{padding:15px 20px}.search-bar{align-items:stretch;flex-direction:column;gap:8px}.filter-select,.search-input{min-width:0;min-width:auto;width:100%}.clear-filters-btn{width:100%}.no-results{font-size:14px;padding:15px}}@media (max-width:320px){.gallery{gap:15px;grid-template-columns:1fr;padding:10px}.header{flex-wrap:wrap;gap:10px}.nav-right{flex-wrap:wrap;gap:8px}.artwork-card{max-width:100%}}body.text-extra-small .artwork-meta,body.text-extra-small .artwork-title,body.text-extra-small .exhibit-title,body.text-extra-small button:not(.nav-item):not(.theme-toggle-btn):not(.text-size-btn),body.text-extra-small h1:not(.nav-item):not(.page-title),body.text-extra-small h2:not(.nav-item):not(.empty-state h2),body.text-extra-small h3:not(.nav-item),body.text-extra-small p{font-size:.75em}body.text-extra-small .artwork-meta,body.text-extra-small .tag{font-size:9px}body.text-small .artwork-meta,body.text-small .artwork-title,body.text-small .exhibit-title,body.text-small button:not(.nav-item):not(.theme-toggle-btn):not(.text-size-btn),body.text-small h1:not(.nav-item):not(.page-title),body.text-small h2:not(.nav-item):not(.empty-state h2),body.text-small h3:not(.nav-item),body.text-small p{font-size:.9em}body.text-small .tag{font-size:8px}body.text-small .artwork-meta{font-size:10px}body.text-large .artwork-meta,body.text-large .artwork-title,body.text-large .exhibit-title,body.text-large button:not(.nav-item):not(.theme-toggle-btn):not(.text-size-btn),body.text-large h1:not(.nav-item):not(.page-title),body.text-large h2:not(.nav-item):not(.empty-state h2),body.text-large h3:not(.nav-item),body.text-large p{font-size:1.1em}body.text-large .tag{font-size:12px}body.text-large .artwork-meta{font-size:13px}body.text-extra-large .artwork-meta,body.text-extra-large .artwork-title,body.text-extra-large .exhibit-title,body.text-extra-large button:not(.nav-item):not(.theme-toggle-btn):not(.text-size-btn),body.text-extra-large h1:not(.nav-item):not(.page-title),body.text-extra-large h2:not(.nav-item):not(.empty-state h2),body.text-extra-large h3:not(.nav-item),body.text-extra-large p{font-size:1.25em}body.text-extra-large .tag{font-size:13px}body.text-extra-large .artwork-meta{font-size:15px}.header{align-items:center;background-color:#fff;border-bottom:1px solid #e0e0e0;display:flex;padding:20px 40px;position:relative}.nav-left{display:flex;flex:1 1;justify-content:flex-start}.nav-center{left:50%;position:absolute;transform:translateX(-50%)}.nav-right{display:flex;flex:1 1;justify-content:flex-end}.nav-item{border-radius:4px;color:#333;cursor:pointer;display:inline-block;font-family:IBM Plex Mono,monospace;font-size:14px;font-weight:500;padding:8px 12px;text-decoration:none;transition:all .2s ease}.nav-item:hover{transform:translateY(-1px)}.nav-item:focus,.nav-item:hover{background-color:#f5f5f5;color:#000}.nav-item:focus{outline:3px solid #878787;outline-offset:2px}.nav-item.active{background-color:#f0f0f0;color:#000;font-weight:700}.nav-item.external-link:after{content:" ↗";font-size:12px;opacity:.7}@media (max-width:768px){.header{flex-wrap:wrap;padding:16px 24px}.nav-left,.nav-right{flex:0 0 auto}.nav-center{margin-bottom:12px;order:-1;position:static;text-align:center;transform:none;width:100%}.nav-item{font-size:13px;padding:6px 10px}}@media (max-width:600px){.header{align-items:stretch;flex-direction:column;gap:12px;padding:12px 20px}.nav-left,.nav-right{flex:none;justify-content:center}.nav-center{margin-bottom:0;order:0}.nav-item{font-size:12px;padding:8px 12px;text-align:center}.nav-left .nav-item{font-size:11px}}@media (max-width:480px){.header{padding:10px 16px}.nav-left .nav-item{font-size:10px;padding:6px 8px}.nav-center .nav-item,.nav-right .nav-item{font-size:11px}}.text-size-control{align-items:center;display:flex;gap:4px;margin-left:12px}.text-size-btn{align-items:center;background:#0000;border:1px solid #ddd;border-radius:4px;color:#333;cursor:pointer;display:flex;height:32px;justify-content:center;position:relative;transition:all .2s ease;width:32px}.text-size-btn:hover{background:#f5f5f5;border-color:#999;transform:translateY(-1px)}.text-size-btn:focus{outline:2px solid #666;outline-offset:2px}.text-size-btn:active{transform:translateY(0)}.text-size-btn:disabled{cursor:not-allowed;opacity:.3;transform:none}.text-size-btn:disabled:hover{background:#0000;border-color:#ddd;transform:none}.text-size-btn.decrease svg{opacity:.7}.text-size-btn.reset svg{opacity:.9}.text-size-btn.increase svg{opacity:1}@media (max-width:768px){.text-size-control{gap:2px;margin-left:8px}.text-size-btn{height:28px;width:28px}}.loading-screen{align-items:center;animation:fadeIn .5s ease-in;background:#fff;display:flex;justify-content:center;margin:2rem 0;min-height:60vh;position:relative;width:100%}.loading-container{background:#fff;max-width:500px;padding:40px;text-align:center;width:90%}.ascii-art{color:#666;display:inline-block;font-family:IBM Plex Mono,monospace;font-size:14px;line-height:1.2;margin:0 auto;text-align:left;white-space:pre}.loading-text{color:#666;font-family:DM Sans,sans-serif;font-size:18px;font-weight:600;margin:20px 0}.loading-dots{color:#999;display:inline-block;font-weight:700;min-width:20px}.progress-bar{background-color:#f0f0f0;border-radius:3px;height:6px;margin:20px 0;overflow:hidden;width:100%}.progress-fill{animation:progressMove 4s ease-in-out infinite;background:#999;border-radius:3px;height:100%}@keyframes progressMove{0%{transform:translateX(-100%)}80%{transform:translateX(80%)}to{transform:translateX(100%)}}.loading-subtitle{color:#888;font-family:IBM Plex Mono,monospace;font-size:14px;margin:15px 0 0;opacity:.8}@media (max-width:600px){.loading-container{margin:20px;padding:30px 20px}.ascii-art{font-size:12px}.loading-text{font-size:16px}}@media (max-width:400px){.ascii-art{font-size:10px}.loading-text{font-size:14px}.loading-subtitle{font-size:12px}}@media (prefers-contrast:high){.loading-screen{background:#fff}.loading-container{background:#fff;border:2px solid #000;box-shadow:none}.ascii-art{color:#000}.progress-fill{background:#000}.loading-dots,.loading-subtitle,.loading-text{color:#000}}@media (prefers-reduced-motion:reduce){.progress-fill{animation:none;background:#999}.loading-screen{animation:none}}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:8px;box-shadow:0 10px 30px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:20px;padding:20px}.modal-header h2{color:#333;font-family:DM Sans,sans-serif;font-size:20px;font-weight:600;margin:0}.modal-close-btn{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:5px;transition:all .2s ease;width:30px}.modal-close-btn:hover{background:#f5f5f5;color:#333}.modal-close-btn:focus{outline:3px solid #666;outline-offset:2px}.exhibit-form{padding:0 20px 20px}.form-group{margin-bottom:20px}.form-group label{color:#333;display:block;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;margin-bottom:8px}.form-group input,.form-group textarea{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-family:DM Sans,sans-serif;font-size:14px;padding:12px 16px;transition:border-color .2s ease;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#666;box-shadow:0 0 0 3px #6666661a;outline:none}.form-group input.error,.form-group textarea.error{border-color:#e74c3c}.form-group textarea{min-height:80px;resize:vertical}.error-message{color:#e74c3c;display:block}.char-count,.error-message{font-family:IBM Plex Mono,monospace;font-size:12px;margin-top:5px}.char-count{color:#666;text-align:right}.modal-actions{border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end;margin-top:30px;padding-top:20px}.btn-primary,.btn-secondary{border:none;border-radius:4px;cursor:pointer;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;min-width:100px;padding:12px 24px;transition:all .2s ease}.btn-primary{background:#333;color:#fff}.btn-primary:hover{background:#000;transform:translateY(-1px)}.btn-primary:focus{outline:3px solid #666;outline-offset:2px}.btn-secondary{background:#f5f5f5;border:1px solid #ddd;color:#333}.btn-secondary:hover{background:#e0e0e0;border-color:#ccc}.btn-secondary:focus{outline:3px solid #666;outline-offset:2px}@media (max-width:600px){.modal-overlay{padding:10px}.modal-content{max-height:95vh}.modal-header{padding:15px 15px 0}.exhibit-form{padding:0 15px 15px}.modal-actions{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%}}@media (prefers-contrast:high){.modal-overlay{background:#000c}.btn-primary,.form-group input,.form-group textarea,.modal-content{border:2px solid #000}.btn-primary{background:#000}.btn-secondary{background:#fff;border:2px solid #000;color:#000}}@media (prefers-reduced-motion:reduce){.modal-content{animation:none}.btn-primary:hover,.btn-secondary:hover{transform:none}}.exhibit-selector-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.exhibit-selector-modal{animation:slideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026;max-height:80vh;max-width:500px;min-width:400px;overflow:hidden}@keyframes slideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.exhibit-selector.position-left{left:0;right:auto}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.exhibit-selector-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:16px 20px}.exhibit-selector-header h3{color:#333;font-family:DM Sans,sans-serif;font-size:16px;font-weight:600;margin:0}.close-btn{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;font-size:20px;height:24px;justify-content:center;padding:4px;transition:all .2s ease;width:24px}.close-btn:hover{background:#f5f5f5;color:#333}.close-btn:focus{outline:2px solid #b4b4b4;outline-offset:1px}.exhibit-list{max-height:300px;overflow-y:auto;padding:8px 0}.exhibit-item{align-items:center;background:none;border:none;cursor:pointer;display:flex;font-family:DM Sans,sans-serif;justify-content:space-between;padding:12px 20px;text-align:left;transition:background-color .2s ease;width:100%}.exhibit-item:hover:not(:disabled){background:#f8f9fa}.exhibit-item:focus{background:#f8f9fa;outline:2px solid #b4b4b4;outline-offset:-2px}.exhibit-item.added{background:#f0f9ff;cursor:default}.exhibit-item:disabled{opacity:.7}.exhibit-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.exhibit-name{color:#333;font-size:14px;font-weight:500;line-height:1.3}.artwork-count{color:#666;font-family:IBM Plex Mono,monospace}.add-indicator{color:#666;font-size:18px;font-weight:700}.added-indicator{background:#d1fae5;border-radius:12px;color:#059669;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:500;padding:4px 8px}.no-exhibits{color:#666;padding:20px;text-align:center}.no-exhibits p{font-size:14px;font-style:italic;margin:0}.exhibit-selector-footer{border-top:1px solid #e0e0e0;padding:12px 20px}.create-exhibit-btn{background:#f8f9fa;border:1px dashed #ccc;border-radius:4px;color:#666;cursor:pointer;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s ease;width:100%}.create-exhibit-btn:hover{background:#e9ecef;border-color:#999;color:#333}.create-exhibit-btn:focus{outline:2px solid #666;outline-offset:2px}@media (max-width:600px){.exhibit-selector-modal{margin:20px;max-height:85vh;max-width:90vw;min-width:320px}.exhibit-list{max-height:250px}.exhibit-selector-header h3{font-size:18px}}@media (max-width:400px){.exhibit-selector-modal{margin:10px;max-width:95vw;min-width:280px}.exhibit-list{max-height:200px}}@media (prefers-contrast:high){.exhibit-selector-modal{border:2px solid #000}.exhibit-selector-overlay{background:#000c}.exhibit-item:focus{background:#f0f0f0;outline:3px solid #000}.create-exhibit-btn{background:#fff;border:2px solid #000;color:#000}.create-exhibit-btn:hover{background:#f0f0f0}}@media (prefers-reduced-motion:reduce){.exhibit-selector{animation:none}}.welcome-modal-overlay{align-items:center;animation:welcomeFadeIn .3s ease-out;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.welcome-modal-content{animation:welcomeSlideIn .4s ease-out;background:#fff;border:3px solid #f7f7fa;border-radius:16px;box-shadow:0 20px 40px #0003;max-height:80vh;max-width:650px;overflow:hidden;text-align:left;width:90%}@keyframes welcomeFadeIn{0%{opacity:0}to{opacity:1}}@keyframes welcomeSlideIn{0%{opacity:0;transform:translateY(-30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.welcome-modal-header{align-items:center;background:linear-gradient(135deg,#f7f7fa,#fff);display:flex;justify-content:space-between;padding:32px 32px 0}.welcome-modal-header h1{color:#2d2d2d;font-family:DM Sans,sans-serif;font-size:2.2rem;font-weight:600;margin:0}.welcome-modal-close-btn{align-items:center;background:none;border:none;border-radius:8px;color:#666;cursor:pointer;display:flex;font-size:28px;height:40px;justify-content:center;margin-left:16px;padding:8px;transition:all .2s ease;width:40px}.welcome-modal-close-btn:hover{background:#0000001a;color:#333;transform:scale(1.1)}.welcome-modal-close-btn:focus{outline:3px solid #666;outline-offset:2px}.welcome-modal-body{background:linear-gradient(135deg,#f7f7fa,#fff);padding:24px 32px 32px}.welcome-modal-body p{color:#444;font-family:DM Sans,sans-serif;font-size:1.3rem;line-height:1.6;margin:0 0 20px;text-align:left}@media (max-width:768px){.welcome-modal-content{margin:20px;width:95%}.welcome-modal-header{padding:24px 24px 0}.welcome-modal-header h1{font-size:1.8rem}.welcome-modal-body{padding:20px 24px 24px}.welcome-modal-body p{font-size:1.1rem}}@media (max-width:480px){.welcome-modal-header h1{font-size:1.6rem}.welcome-modal-body p{font-size:1rem}.welcome-modal-header{padding:20px 20px 0}.welcome-modal-body{padding:16px 20px 20px}}@media (prefers-contrast:high){.welcome-modal-overlay{background:#000c}.welcome-modal-content{border:3px solid #000}.welcome-modal-close-btn{border:2px solid #000}}@media (prefers-reduced-motion:reduce){.welcome-modal-content,.welcome-modal-overlay{animation:none}.welcome-modal-close-btn:hover{transform:none}}.page-header{background:#fff;border-bottom:1px solid #e5e5e5;padding:20px 40px}.header-content{align-items:center;display:flex;gap:20px;justify-content:space-between}.title-with-icon{align-items:center;display:flex;gap:12px}.page-title{color:#333;font-size:24px;font-weight:600;line-height:1.2;margin:0}.info-icon{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:4px;transition:all .2s ease;width:32px}.info-icon:hover{background-color:#f0f8ff;color:#656565;transform:scale(1.1)}.info-icon:focus{outline:2px solid #1c1c1c;outline-offset:2px}.info-icon-container{align-items:center;display:flex;position:relative}.tooltip{animation:fadeIn .2s ease;background:#fff;border:1px solid #e5e5e5;border-radius:8px;box-shadow:0 4px 12px #00000026;left:50%;margin-top:8px;padding:12px 16px;position:absolute;top:100%;width:600px;z-index:1000}.tooltip:before{border:6px solid;border-color:#0000 #0000 #fff}.tooltip:after,.tooltip:before{bottom:100%;content:"";left:50%;position:absolute;transform:translateX(-50%)}.tooltip:after{border:7px solid;border-color:#0000 #0000 #e5e5e5;margin-bottom:-1px}.tooltip p{color:#555;font-size:14px;line-height:1.4;margin:0}.header-btn{align-items:center;background:#333;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;justify-content:center;padding:12px 24px;white-space:nowrap}.header-btn:hover{background:#555}.header-btn:disabled{background:#ccc;cursor:not-allowed}.button-icon{align-items:center;display:inline-flex;margin-right:8px}.text-extra-small .page-title{font-size:18px}.text-extra-small .info-icon{height:24px;width:24px}.text-extra-small .tooltip{font-size:11px;max-width:200px}.text-extra-small .header-btn{font-size:.8rem;padding:8px 16px}.text-small .page-title{font-size:20px}.text-small .info-icon{height:28px;width:28px}.text-small .tooltip{font-size:12px;max-width:250px}.text-small .header-btn{font-size:.9rem;padding:10px 20px}.text-large .page-title{font-size:29px}.text-large .info-icon{height:36px;width:36px}.text-large .tooltip{font-size:16px;max-width:350px}.text-large .header-btn{font-size:1.1rem;padding:14px 28px}.text-extra-large .page-title{font-size:32px}.text-extra-large .info-icon{height:40px;width:40px}.text-extra-large .tooltip{font-size:18px;max-width:400px}.text-extra-large .header-btn{font-size:1.2rem;padding:16px 32px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:768px){.page-header{padding:16px 20px}.header-content{flex-direction:column;gap:20px;text-align:center}.title-with-icon{justify-content:center}.page-title{font-size:20px;text-align:center}.header-btn{max-width:200px;width:100%}.tooltip{left:50%;max-width:280px;transform:translateX(-50%);width:90vw}}@media (max-width:600px){.page-header{padding:12px 20px}.page-title{font-size:18px}.tooltip{max-width:250px;padding:10px 12px;width:85vw}}@media (max-width:480px){.page-header{padding:10px 16px}.page-title{font-size:16px}.tooltip{font-size:12px;max-width:220px;padding:8px 10px;width:90vw}}.my-exhibits{background-color:#fff;min-height:100vh}.exhibits-container{margin:0 auto;max-width:1400px;padding:40px}.exhibits-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:40px;padding-bottom:20px}.exhibits-header h1{color:#333;font-family:DM Sans,sans-serif;font-size:32px;font-weight:700;margin:0}.create-exhibit-btn.primary{background:#333;border:none;border-radius:4px;color:#fff;cursor:pointer;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s ease}.create-exhibit-btn.primary:hover{background:#000;transform:translateY(-1px)}.create-exhibit-btn.primary:focus{outline:3px solid #666;outline-offset:2px}.exhibits-content{min-height:400px}.exhibits-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));padding:20px 0}.exhibit-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;position:relative;transition:all .2s ease}.exhibit-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.exhibit-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.exhibit-title{color:#333;flex:1 1;font-family:DM Sans,sans-serif;font-size:18px;font-weight:600;margin:0 12px 0 0}.edit-icon-btn{align-items:center;background:none;border:none;border-radius:4px;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:background-color .2s ease}.edit-icon-btn:hover{background:#f5f5f5}.edit-icon-btn:focus{outline:2px solid #666;outline-offset:2px}.edit-icon{font-size:16px}.artwork-preview-area{min-height:200px;padding:20px}.add-artwork-btn,.artwork-preview-area{align-items:center;display:flex;justify-content:center}.add-artwork-btn{background:#fafafa;border:2px dashed #ddd;border-radius:8px;color:#666;cursor:pointer;flex-direction:column;height:160px;padding:12px;text-decoration:none;transition:all .2s ease;width:220px}.add-artwork-btn.empty{min-height:150px;min-width:200px;padding:40px 20px}.add-artwork-btn:hover{background:#f0f0f0;border-color:#bbb;color:#333;text-decoration:none}.add-artwork-btn:focus{outline:2px solid #666;outline-offset:2px;text-decoration:none}.add-artwork-icon{color:#ccc;font-size:24px;font-weight:300;margin-bottom:4px}.add-artwork-btn.empty .add-artwork-icon{font-size:48px;margin-bottom:12px}.add-artwork-btn:hover .add-artwork-icon{color:#999}.add-artwork-text{display:none;font-family:DM Sans,sans-serif;font-size:12px;font-weight:500;text-align:center}.add-artwork-btn.empty .add-artwork-text{display:block;font-size:14px}.empty-state{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:80px 20px;text-align:center}.empty-state .empty-icon{font-size:64px;margin-bottom:24px}.empty-state h2{color:#333;font-family:DM Sans,sans-serif;font-weight:600;margin-bottom:12px}.empty-state p{font-family:IBM Plex Mono,monospace;font-size:16px;line-height:1.5;margin-bottom:32px;max-width:400px}.cta-button{background:#333;border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:DM Sans,sans-serif;font-size:16px;font-weight:600;padding:16px 32px;transition:all .2s ease}.cta-button:hover{background:#000;transform:translateY(-2px)}.cta-button:focus{outline:3px solid #666;outline-offset:2px}@media (max-width:768px){.exhibits-container{padding:20px}.exhibits-header{align-items:flex-start;flex-direction:column;gap:20px}.exhibits-header h1{font-size:24px}.create-exhibit-btn.primary{text-align:center;width:100%}.exhibits-grid{gap:20px;grid-template-columns:1fr}.exhibit-card{padding:16px}.add-artwork-btn{min-height:120px;min-width:180px;padding:30px 15px}.add-artwork-icon{font-size:36px}.empty-state{min-height:300px;padding:40px 20px}.empty-state .empty-icon{font-size:48px}}@media (max-width:480px){.exhibits-grid{grid-template-columns:1fr}.add-artwork-btn{min-height:100px;min-width:150px;padding:20px 10px}.add-artwork-icon{font-size:28px}.exhibit-title{font-size:16px}}.artworks-list{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px}.artwork-thumbnail{border-radius:8px;display:flex;flex-direction:column;overflow:hidden;transition:transform .2s ease;width:220px}.artwork-image{display:block;height:160px;object-fit:cover;width:100%}.artwork-info{padding:8px}.exhibit-artwork-title{-webkit-line-clamp:2;line-clamp:2;color:#333;font-family:DM Sans,sans-serif;font-size:12px;font-weight:600;line-height:1.3;margin:0 0 4px}.artwork-artist,.exhibit-artwork-title{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.artwork-artist{-webkit-line-clamp:1;line-clamp:1;color:#666;font-family:IBM Plex Mono,monospace;font-size:10px;line-height:1.2;margin:0}.no-image{align-items:center;background:#f5f5f5;border-bottom:1px solid #eee;color:#999;display:flex;font-family:DM Sans,sans-serif;font-size:10px;justify-content:center;text-align:center}.hidden{display:none!important}.exhibit-card.expanded{grid-column:1/-1;max-width:none}.more-artworks-indicator{align-items:center;background:#f8f9fa;border-radius:4px;color:#666;display:flex;font-family:DM Sans,sans-serif;font-size:12px;justify-content:center;min-width:60px;padding:8px;text-align:center}.expanded-artworks{width:100%}.exhibit-description{background:#f8f9fa;border-radius:6px;margin-bottom:20px;padding:16px}.description-text{color:#555;font-size:14px;line-height:1.5;margin:0 0 8px}.artwork-count{color:#888;font-size:12px;font-weight:500;margin:0}.expanded-artworks-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:16px}.expanded-artwork-card{background:#fff;border-radius:6px;box-shadow:none;display:flex;flex-direction:column;height:auto;overflow:visible;padding:0}.expanded-artwork-image{align-items:center;background-color:silver;border-radius:4px;display:flex;flex-shrink:0;height:220px;justify-content:center;overflow:hidden;position:relative;width:100%}.expanded-artwork-image img{height:100%;object-fit:cover;object-position:center;width:100%}.expanded-artwork-info{display:flex;flex-direction:column;flex-grow:1;padding:16px 12px 12px}.expanded-artwork-title{color:#333;font-family:DM Sans,sans-serif;font-size:16px;font-weight:600;margin-bottom:6px}.expanded-artwork-meta{background-color:none;box-shadow:none;color:#555;font-family:IBM Plex Mono,monospace;font-size:12px;margin-bottom:12px}.expanded-artwork-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.expanded-artwork-tags .tag{background-color:#f5f5f5;border:1px solid #ddd;border-radius:16px;color:#555;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:500;letter-spacing:.8px;padding:4px 12px;text-transform:uppercase}.add-artwork-btn.expanded{align-items:center;background:#fafafa;border:2px dashed #ddd;border-radius:6px;color:#666;display:flex;flex-direction:column;justify-content:center;min-height:160px;padding:20px;text-decoration:none;transition:all .2s ease}.add-artwork-btn.expanded:hover{background:#f0f0f0;border-color:#bbb;color:#333}.add-artwork-btn.expanded .add-artwork-icon{font-size:24px;margin-bottom:8px}.add-artwork-btn.expanded .add-artwork-text{font-size:14px;font-weight:500}@media (max-width:768px){.expanded-artworks-grid{grid-template-columns:1fr}.exhibit-card.expanded{border-left:none;border-radius:0;border-right:none;margin:0 -20px}}.text-extra-small .empty-state h2{font-size:18px}.text-small .empty-state h2{font-size:20px}.text-large .empty-state h2{font-size:28px}.text-extra-large .empty-state h2{font-size:32px}body.text-extra-small .expanded-artwork-meta,body.text-extra-small .expanded-artwork-title{font-size:.75em}body.text-extra-small .expanded-artwork-meta{font-size:9px}body.text-small .expanded-artwork-meta,body.text-small .expanded-artwork-title{font-size:.9em}body.text-small .expanded-artwork-meta{font-size:10px}body.text-large .expanded-artwork-meta,body.text-large .expanded-artwork-title{font-size:1.1em}body.text-large .expanded-artwork-meta{font-size:13px}body.text-extra-large .expanded-artwork-meta,body.text-extra-large .expanded-artwork-title{font-size:1.25em}body.text-extra-large .expanded-artwork-meta{font-size:15px}
/*# sourceMappingURL=main.9a399f3d.css.map*/