.gallery-page{z-index:1;max-width:1380px;margin:0 auto;padding:48px 24px 80px;position:relative}.gallery-hero{text-align:center;max-width:980px;margin:0 auto 48px}.hero-badge{color:var(--cyan);letter-spacing:.02em;background:#73e4ff14;border:1px solid #73e4ff40;border-radius:999px;align-items:center;gap:8px;margin-bottom:20px;padding:6px 14px;font-size:13px;font-weight:600;display:inline-flex}.gallery-title{color:var(--text-primary);letter-spacing:-.02em;margin-bottom:18px;font-size:clamp(34px,5vw,54px);font-weight:800;line-height:1.15}.gallery-title b{color:var(--cyan);background:linear-gradient(135deg, var(--cyan) 0%, var(--accent) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-weight:800}.gallery-subtitle{color:var(--text-secondary);max-width:780px;margin:0 auto 24px;font-size:clamp(16px,2vw,19px);line-height:1.6}.gallery-subtitle b{color:var(--text-primary)}.features-switcher-wrap{z-index:10;justify-content:center;margin-top:6px;margin-bottom:34px;display:flex;position:relative}.features-tab-switcher{-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);background:#121627b3;border-radius:12px;padding:4px;display:inline-flex;box-shadow:0 4px 20px #00000040}.features-tab-btn{color:var(--text-secondary);cursor:pointer;user-select:none;background:0 0;border:1px solid #0000;border-radius:9px;outline:none;align-items:center;gap:8px;padding:8px 24px;font-size:.95rem;font-weight:600;transition:all .25s;display:inline-flex}.features-tab-btn:hover{color:var(--text-primary)}.features-tab-btn.active{background:var(--accent);border-color:var(--accent);color:#080a13;font-weight:700;box-shadow:0 4px 12px #7aa2f759}.hero-stats{flex-wrap:wrap;justify-content:center;gap:16px;margin-bottom:40px;display:flex}.stat-pill{border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(16px);background:#12162780;border-radius:12px;align-items:center;gap:10px;padding:10px 18px;display:flex;box-shadow:0 4px 16px #0000004d}.stat-num{color:var(--cyan);font-family:monospace;font-size:16px;font-weight:700}.stat-lbl{color:var(--text-secondary);font-size:13px}.filter-controls-wrap{flex-direction:column;align-items:center;gap:20px;width:100%;margin-top:12px;display:flex}.search-box{align-items:center;width:100%;max-width:680px;display:flex;position:relative}.search-svg{color:var(--cyan);pointer-events:none;position:absolute;left:18px}.search-box input{width:100%;color:var(--text-primary);-webkit-backdrop-filter:blur(16px);background:#0f1220a6;border:1px solid #ffffff1f;border-radius:14px;outline:none;padding:14px 44px 14px 48px;font-size:15px;transition:all .25s;box-shadow:0 8px 24px #0006}.search-box input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #73e4ff33,0 8px 24px #0009}.clear-search-btn{color:var(--text-secondary);cursor:pointer;background:#ffffff14;border:none;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;transition:all .2s;display:flex;position:absolute;right:14px}.clear-search-btn:hover{color:#fff;background:#fff3}.category-chips{flex-wrap:wrap;justify-content:center;gap:8px;max-width:980px;display:flex}.filter-chip{border:1px solid var(--glass-border);color:var(--text-secondary);cursor:pointer;-webkit-backdrop-filter:blur(12px);background:#12162780;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.filter-chip:hover{color:var(--text-primary);background:#ffffff14;border-color:#fff3;transform:translateY(-1px)}.filter-chip.active{border-color:var(--cyan);color:#fff;background:#73e4ff26;box-shadow:0 0 16px #73e4ff33}.chip-count{color:var(--text-secondary);background:#ffffff14;border-radius:6px;padding:1px 6px;font-size:11px}.filter-chip.active .chip-count{color:var(--cyan);background:#73e4ff40}.gallery-grid-container{margin-top:40px}.plots-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}@media (width<=1140px){.plots-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=740px){.plots-grid{grid-template-columns:1fr}}.plot-bento-card{-webkit-backdrop-filter:blur(24px);background:#12162759;border:1px solid #ffffff14;border-radius:20px;flex-direction:column;justify-content:space-between;padding:24px;transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s,box-shadow .3s,background .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 40px #00000073,inset 0 1px #ffffff0d}.plot-bento-card:before{content:"";border-radius:inherit;background:radial-gradient(350px circle at var(--mouse-x,50%) var(--mouse-y,50%), #73e4ff1f, transparent 80%);opacity:0;z-index:0;pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.plot-bento-card:hover:before{opacity:1}.plot-bento-card>*{z-index:2;position:relative}.plot-bento-card:hover{background:#161c3273;border-color:#73e4ff59;transform:translateY(-4px)scale(1.008);box-shadow:0 18px 48px #0000008c,0 0 28px #73e4ff1f}.plot-bento-card.bento-reveal-tile{opacity:.75;will-change:opacity, transform;transition:opacity .45s cubic-bezier(.16,1,.3,1),transform .45s cubic-bezier(.16,1,.3,1),border-color .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1),background .3s;transform:translateY(16px)scale(.985)}.plot-bento-card.bento-reveal-tile.is-revealed{opacity:1;transform:translateY(0)scale(1)}.plot-bento-card.bento-reveal-tile.is-revealed:hover{background:#161c3273;border-color:#73e4ff59;transform:translateY(-4px)scale(1.008);box-shadow:0 18px 48px #0000008c,0 0 28px #73e4ff1f}.plot-bento-card.bento-reveal-tile.is-revealed:after{content:"";border-radius:inherit;opacity:0;pointer-events:none;z-index:1;border:1px solid #73e4ff59;animation:.9s cubic-bezier(.16,1,.3,1) forwards bento-settle-glow;position:absolute;inset:0}@keyframes bento-settle-glow{0%{opacity:.9;box-shadow:inset 0 0 15px #73e4ff33}to{opacity:0;box-shadow:inset 0 0 #0000}}@media (prefers-reduced-motion:reduce){.plot-bento-card.bento-reveal-tile{opacity:1!important;transition:none!important;transform:none!important}.plot-bento-card.bento-reveal-tile.is-revealed:after{display:none!important}}.card-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.header-left{align-items:center;gap:8px;display:flex}.plot-number{color:var(--cyan);background:#73e4ff1a;border:1px solid #73e4ff33;border-radius:6px;padding:3px 8px;font-family:monospace;font-size:13px;font-weight:700}.category-tag{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);background:#ffffff0f;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:600}.category-tag.tag-curves{color:var(--cyan);background:#73e4ff1a}.category-tag.tag-distributions{color:var(--purple);background:#bb9af71a}.category-tag.tag-density{color:#f59e0b;background:#f59e0b1a}.category-tag.tag-fields{color:var(--green);background:#9ece6a1a}.category-tag.tag-ranking{color:#38bdf8;background:#38bdf81a}.category-tag.tag-flows{color:#ec4899;background:#ec48991a}.category-tag.tag-specialized{color:#a78bfa;background:#a78bfa1a}.category-tag.tag-surfaces{color:var(--cyan);background:#73e4ff1a}.category-tag.tag-volumetric{color:#38bdf8;background:#38bdf81a}.category-tag.tag-scatter3d{color:#f59e0b;background:#f59e0b1a}.category-tag.tag-vectors{color:var(--green);background:#9ece6a1a}.status-pill{border-radius:6px;padding:2px 7px;font-size:11px;font-weight:500}.status-pill.ready-pill{color:var(--green);background:#9ece6a1f;border:1px solid #9ece6a40}.status-pill.placeholder-pill{color:#f59e0b;background:#f59e0b1f;border:1px solid #f59e0b40}.card-titles{margin-bottom:16px}.plot-name{color:var(--text-primary);margin-bottom:4px;font-size:19px;font-weight:700;line-height:1.25}.plot-sub{color:var(--accent);white-space:nowrap;text-overflow:ellipsis;font-size:13px;line-height:1.4;overflow:hidden}.preview-box{backdrop-filter:blur(8px);background:#080a1459;border:1px solid #ffffff12;border-radius:12px;width:100%;margin-bottom:18px;position:relative;overflow:hidden}.preview-img-container{aspect-ratio:16/10;cursor:zoom-in;background:#07091340;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.preview-img{object-fit:cover;width:100%;height:100%;transition:transform .4s cubic-bezier(.16,1,.3,1),filter .3s;display:block}.plot-bento-card:hover .preview-img{transform:scale(1.035)}.gallery-fullscreen-btn{backdrop-filter:blur(8px);color:#fff;cursor:pointer;z-index:5;opacity:.85;background:#080a13cc;border:1px solid #ffffff26;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex;position:absolute;top:10px;right:10px}.gallery-fullscreen-btn:hover{background:var(--cyan);color:#080a13;border-color:var(--cyan);opacity:1;transform:scale(1.08)}.hover-expand-hint{backdrop-filter:blur(8px);color:#ffffffd9;pointer-events:none;opacity:0;background:#080a13d9;border:1px solid #ffffff1f;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:500;transition:all .25s;display:flex;position:absolute;bottom:10px;right:10px;transform:translateY(4px)}.plot-bento-card:hover .hover-expand-hint{opacity:1;transform:translateY(0)}.placeholder-preview{aspect-ratio:16/10;text-align:center;user-select:none;-webkit-backdrop-filter:blur(12px);background:radial-gradient(circle,#12162740 0%,#090c1661 100%);border:1px dashed #ffffff24;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;width:100%;padding:24px;display:flex;position:relative}.placeholder-glow{filter:blur(20px);pointer-events:none;background:radial-gradient(circle,#f59e0b26 0%,#0000 70%);border-radius:50%;width:80px;height:80px;position:absolute}.placeholder-icon-wrap{color:#f59e0b;justify-content:center;align-items:center;margin-bottom:12px;animation:12s linear infinite placeholder-spin;display:flex}@keyframes placeholder-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.placeholder-title{color:#fcd34d;letter-spacing:.02em;margin-bottom:6px;font-size:14px;font-weight:600}.placeholder-desc{color:var(--text-secondary);max-width:270px;font-size:12px;line-height:1.4}.card-meta{flex-direction:column;gap:12px;display:flex}.plot-description{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.meta-tags-list{border-top:1px solid #ffffff0d;flex-direction:column;gap:6px;padding-top:12px;font-size:12px;display:flex}.meta-tag{justify-content:space-between;align-items:center;gap:8px;display:flex}.meta-label{color:var(--text-secondary);font-size:11.5px;font-weight:500}.meta-val{color:var(--text-primary);text-align:right;white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-family:Consolas,monospace;font-size:11.5px;overflow:hidden}.dataset-val{color:var(--cyan);background:#73e4ff14;border-radius:4px;padding:1px 6px}.no-results-card{text-align:center;background:var(--glass-bg);border:1px dashed var(--glass-border);backdrop-filter:var(--glass-blur);border-radius:20px;max-width:500px;margin:40px auto;padding:60px 20px}.no-results-icon{color:var(--text-secondary);margin-bottom:16px}.no-results-card h3{color:var(--text-primary);margin-bottom:8px;font-size:20px}.no-results-card p{color:var(--text-secondary);margin-bottom:20px;font-size:14px}.reset-btn{border:1px solid var(--cyan);color:var(--cyan);cursor:pointer;background:#73e4ff26;border-radius:8px;padding:8px 18px;font-weight:600;transition:all .2s}.reset-btn:hover{background:var(--cyan);color:#080a13}.gallery-cta-section{margin-top:80px}.gallery-cta-card{border:1px solid var(--glass-border);box-shadow:var(--card-shadow);background:linear-gradient(135deg,#121627d9 0%,#0c0f1cf2 100%);border-radius:24px;justify-content:space-between;align-items:center;gap:32px;padding:48px;display:flex;position:relative;overflow:hidden}@media (width<=860px){.gallery-cta-card{text-align:center;flex-direction:column;padding:32px 24px}}.cta-glow{pointer-events:none;filter:blur(40px);background:radial-gradient(circle,#73e4ff26 0%,#0000 70%);border-radius:50%;width:400px;height:400px;position:absolute;top:-50%;right:-20%}.cta-text{z-index:2;max-width:600px;position:relative}.cta-text h2{color:var(--text-primary);margin-bottom:10px;font-size:26px;font-weight:700}.cta-text p{color:var(--text-secondary);margin:0;font-size:14.5px;line-height:1.6}.cta-actions{z-index:2;flex-wrap:wrap;gap:12px;display:flex;position:relative}.plot-lightbox{z-index:1000;overscroll-behavior:contain;touch-action:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox-backdrop{-webkit-backdrop-filter:blur(18px);background:#060810f0;position:absolute;inset:0}.lightbox-shell{z-index:1010;background:#0e1220f5;border:1px solid #ffffff1f;border-radius:20px;flex-direction:column;width:95vw;max-width:1500px;height:92vh;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 70px #000000d9}.lightbox-header{background:#0a0d18cc;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.lb-title-group{align-items:center;gap:14px;display:flex}.lb-number-badge{color:var(--cyan);background:#73e4ff1f;border:1px solid #73e4ff40;border-radius:8px;padding:4px 10px;font-family:monospace;font-size:15px;font-weight:700}.lb-titles{flex-direction:column;display:flex}.lb-name{color:var(--text-primary);margin:0;font-size:18px;font-weight:700}.lb-sub{color:var(--accent);font-size:13px}.lb-actions{align-items:center;gap:10px;display:flex}.lb-btn{color:var(--text-primary);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex}.lb-btn:hover{background:#ffffff26;border-color:#ffffff40}.lb-close-btn{justify-content:center;width:36px;height:36px;padding:8px}.lb-close-btn:hover{border-color:var(--red);color:var(--red);background:#f7768e33}.lightbox-viewport{cursor:zoom-in;user-select:none;background:#060810;flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:auto}.lightbox-viewport.zoomed{cursor:zoom-out;justify-content:flex-start;align-items:flex-start}.lb-img-wrap{justify-content:center;align-items:center;width:100%;height:100%;padding:16px;transition:transform .2s cubic-bezier(.16,1,.3,1);display:flex}.lightbox-viewport.zoomed .lb-img-wrap{width:auto;min-width:100%;height:auto;min-height:100%;padding:40px}.lb-img{object-fit:contain;border-radius:8px;max-width:95%;max-height:95%;transition:max-width .25s,max-height .25s;box-shadow:0 12px 40px #000c}.lightbox-viewport.zoomed .lb-img{width:1600px;max-width:none;height:auto;max-height:none}.lb-nav-btn{color:#fff;cursor:pointer;backdrop-filter:blur(10px);z-index:20;opacity:.85;background:#0e1220bf;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:all .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lb-nav-btn:hover{background:var(--cyan);color:#080a13;border-color:var(--cyan);opacity:1;transform:translateY(-50%)scale(1.1)}.lb-prev-btn{left:24px}.lb-next-btn{right:24px}.lightbox-footer{color:var(--text-secondary);background:#0a0d18cc;border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:14px 24px;font-size:12.5px;display:flex}.lb-meta-col{align-items:center;gap:8px;display:flex}.lb-meta-label{color:#ffffff80}.lb-meta-text{color:var(--text-primary);font-family:Consolas,monospace}.lb-meta-tag{color:var(--cyan);background:#73e4ff1a;border-radius:6px;padding:2px 8px;font-family:monospace;font-weight:600}.lb-shortcuts-hint{color:#ffffff73;font-size:12px}.lb-shortcuts-hint b{color:var(--text-primary)}@media (width<=768px){.lightbox-footer{flex-direction:column;align-items:flex-start;gap:6px;padding:12px 16px}.lb-shortcuts-hint{display:none}.lb-prev-btn{width:40px;height:40px;left:10px}.lb-next-btn{width:40px;height:40px;right:10px}}
