@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Syne:wght@600;700;800&display=swap";*{box-sizing:border-box;margin:0;padding:0}body{color:#111;background-color:#fff;width:100vw;height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;overflow-x:hidden}#root{background-color:#fff;width:100%;height:100%;position:relative}.category-filter-bar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:20;background:#ffffffe6;border:1px solid #00000014;border-radius:40px;gap:.5rem;padding:.4rem .6rem;display:flex;position:absolute;bottom:2rem;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0000000f}.filter-pill{color:#666;cursor:pointer;background:0 0;border:none;border-radius:30px;padding:.55rem 1.1rem;font-size:.85rem;font-weight:500;transition:all .25s cubic-bezier(.16,1,.3,1)}.filter-pill:hover{color:#111;background:#0000000a}.filter-pill.active{color:#fff;background:#111;font-weight:600;box-shadow:0 4px 12px #00000026}.canvas-container{z-index:1;background-color:#fff;width:100%;height:100%;position:absolute;top:0;left:0}.modal-backdrop{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:100;background:#ffffffe0;justify-content:center;align-items:center;width:100vw;height:100vh;padding:2rem;animation:.3s fadeIn;display:flex;position:fixed;top:0;left:0}.modal-content{background:#fff;border:1px solid #0000001a;border-radius:16px;width:100%;max-width:1050px;max-height:88vh;position:relative;overflow:hidden;box-shadow:0 25px 50px #0000001a}.modal-close{color:#111;cursor:pointer;z-index:10;background:#0000000d;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex;position:absolute;top:1.25rem;right:1.25rem}.modal-close:hover{color:#fff;background:#111}.modal-grid{grid-template-columns:1.25fr 1fr;height:100%;max-height:85vh;display:grid}.modal-gallery{background:#fafafa;flex-direction:column;justify-content:space-between;gap:1rem;padding:2rem;display:flex}.main-image-container{justify-content:center;align-items:center;width:100%;height:100%;min-height:400px;display:flex;overflow:hidden}.main-image{object-fit:contain;max-width:100%;max-height:500px;box-shadow:0 10px 30px #00000014}.thumbnail-strip{justify-content:center;gap:.75rem;display:flex}.thumb-btn{cursor:pointer;opacity:.5;background:0 0;border:2px solid #0000;border-radius:4px;width:55px;height:55px;padding:0;transition:all .2s;overflow:hidden}.thumb-btn.active{opacity:1;border-color:#111}.thumb-btn img{object-fit:cover;width:100%;height:100%}.modal-details{flex-direction:column;padding:3rem 2.5rem;display:flex;overflow-y:auto}.badge-group{gap:.6rem;margin-bottom:1rem;display:flex}.category-badge{color:#111;background:#0000000f;border-radius:20px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.portfolio-badge{color:#fff;background:#111;border-radius:20px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.project-title{color:#111;margin-bottom:.4rem;font-family:Syne,sans-serif;font-size:2rem;font-weight:700;line-height:1.15}.artist-name{color:#666;margin-bottom:1.25rem;font-size:1.1rem;font-weight:400}.meta-info{gap:1.25rem;margin-bottom:1.25rem;display:flex}.meta-item{color:#777;align-items:center;gap:.4rem;font-size:.85rem;display:flex}.short-desc{color:#333;margin-bottom:1.25rem;font-size:1rem;line-height:1.5}.divider{background:#00000014;height:1px;margin-bottom:1.25rem}.bio-section h3{text-transform:uppercase;letter-spacing:.05em;color:#888;margin-bottom:.5rem;font-size:.85rem}.bio-section p{color:#444;margin-bottom:2rem;font-size:.9rem;line-height:1.6}.action-row{gap:.75rem;margin-top:auto;display:flex}.share-btn,.explore-more-btn{cursor:pointer;border-radius:6px;align-items:center;gap:.4rem;padding:.75rem 1.25rem;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.share-btn{color:#111;background:0 0;border:1px solid #00000026}.share-btn:hover{background:#0000000a}.explore-more-btn{color:#fff;background:#111;border:none}.explore-more-btn:hover{background:#222}@keyframes fadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}
