*{box-sizing:border-box;margin:0;padding:0}:root{--bg-page:#f5efe6;--bg-warm:#ede4d3;--bg-card:#faf6ef;--bg-card-hover:#fff9f0;--border-card:#b4a0824d;--border-card-hover:#b4a08280;--text-primary:#4a3f35;--text-secondary:#8a7e72;--text-dim:#b5a99a;--accent-warm:#d4845a;--accent-rose:#c97878;--accent-gold:#c9a96e;--shadow-warm:#a082641f;--shelf-gradient:linear-gradient(180deg, #b4a08226 0%, transparent 100%);--card-radius:16px;--transition-smooth:.35s cubic-bezier(.4, 0, .2, 1)}html{color:var(--text-primary);background:var(--bg-page);-webkit-font-smoothing:antialiased;font-family:Georgia,Noto Serif SC,Segoe UI,serif}body,#root{width:100%;min-height:100vh}.gallery-page{background:radial-gradient(ellipse at 20% 0%, #d4845a14 0%, transparent 60%), radial-gradient(ellipse at 80% 100%, #c9a96e14 0%, transparent 60%), var(--bg-page);height:100dvh;position:relative;overflow:hidden auto}.bg-glow{filter:blur(100px);pointer-events:none;z-index:0;border-radius:50%;position:fixed}.bg-glow--1{background:#d4845a0f;width:500px;height:500px;top:-150px;left:-100px}.bg-glow--2{background:#c9a96e0f;width:400px;height:400px;bottom:-80px;right:-80px}.bg-grid{pointer-events:none;z-index:0;background-image:repeating-linear-gradient(0deg,#0000,#0000 39px,#b4a0820f 39px 40px);position:fixed;inset:0}.gallery-header{z-index:100;border-bottom:1px solid var(--border-card);background:#f5efe6f2;justify-content:space-between;align-items:center;height:64px;padding:0 40px;display:flex;position:sticky;top:0}.header-brand{align-items:center;gap:14px;display:flex}.header-logo{background:linear-gradient(135deg, var(--accent-warm), var(--accent-gold));letter-spacing:.5px;color:#fff;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:12px;font-weight:800;display:flex}.header-title{letter-spacing:.3px;font-family:Georgia,Noto Serif SC,serif;font-size:18px;font-weight:600}.header-nav{align-items:center;gap:20px;display:flex}.header-nav-item{color:var(--text-secondary);cursor:default;font-family:Segoe UI,sans-serif;font-size:13px}.header-nav-item--active{color:var(--text-primary)}.header-count{color:var(--text-secondary);border:1px solid var(--border-card);background:#b4a0821a;border-radius:999px;padding:3px 10px;font-family:Segoe UI,sans-serif;font-size:12px}.gallery-hero{text-align:center;z-index:1;padding:60px 20px 40px;position:relative}.gallery-hero-title{letter-spacing:1px;color:var(--text-primary);font-size:36px;font-weight:700}.hero-accent{color:var(--accent-warm);font-size:28px}.gallery-hero-desc{color:var(--text-secondary);letter-spacing:2px;margin-top:10px;font-family:Segoe UI,Noto Sans SC,sans-serif;font-size:15px}.gallery-main{z-index:1;max-width:1280px;margin:0 auto;padding:0 32px 80px;position:relative}.artist-section{border:1px solid var(--border-card);box-shadow:0 2px 16px var(--shadow-warm);background:#faf6ef73;border-radius:16px;margin-bottom:40px;padding:28px}.artist-section:last-child{margin-bottom:0}.artist-header{align-items:center;gap:10px;margin-bottom:24px;display:flex}.artist-name{color:var(--text-main);margin:0;font-family:Segoe UI,sans-serif;font-size:17px;font-weight:700}.artist-count{letter-spacing:.5px;color:var(--accent-gold);background:#c9a96e1f;border-radius:999px;padding:2px 8px;font-family:Segoe UI,sans-serif;font-size:11px;font-weight:600}@media (width<=768px){.artist-section{border-radius:12px;padding:16px}}.showcase-grid{grid-template-columns:repeat(3,1fr);gap:28px;display:grid;position:relative}@media (width<=1024px){.showcase-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.showcase-grid{grid-template-columns:1fr;gap:20px;max-width:400px;margin:0 auto}.gallery-header{padding:0 20px}.gallery-main{padding:0 16px 60px}.gallery-hero{padding:40px 16px 28px}.gallery-hero-title{font-size:26px}.bg-glow{display:none}}.showcase-card{aspect-ratio:3/4;border-radius:var(--card-radius);cursor:pointer;transition:transform var(--transition-smooth);position:relative;overflow:hidden}.showcase-cover-video{object-fit:cover;z-index:1;pointer-events:none;background:var(--bg-card);width:100%;height:100%;position:absolute;inset:0}.showcase-status-overlay{z-index:2;letter-spacing:.15em;color:#ffffffbf;text-shadow:0 2px 12px #0006;pointer-events:none;-webkit-text-stroke:1px #00000026;justify-content:center;align-items:center;font-size:2.5rem;font-weight:900;display:flex;position:absolute;inset:0;transform:rotate(-25deg)}.showcase-status--available{color:#ffffffd9;text-shadow:0 2px 16px #4caf5080,0 1px 6px #0000004d;-webkit-text-stroke:1px #4caf5033}.showcase-card:before{content:"";border-radius:inherit;box-shadow:0 16px 48px var(--shadow-warm), 0 4px 16px #d4845a14;opacity:0;transition:opacity var(--transition-smooth);pointer-events:none;z-index:-1;position:absolute;inset:0}.showcase-card:hover{transform:translateY(-6px)}.showcase-card:hover:before{opacity:1}.showcase-glass{background:linear-gradient(170deg, var(--bg-card) 0%, #f0e8d8 100%);border:1px solid var(--border-card);border-radius:var(--card-radius);transition:background var(--transition-smooth), border-color var(--transition-smooth), box-shadow var(--transition-smooth);z-index:0;box-shadow:0 2px 12px var(--shadow-warm);position:absolute;inset:0}.showcase-card:hover .showcase-glass{background:linear-gradient(170deg, var(--bg-card-hover) 0%, #f5eddc 100%);border-color:var(--border-card-hover)}.showcase-model-area{border-radius:var(--card-radius);z-index:1;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:1px;overflow:hidden}.thumbnail-img{object-fit:contain;width:100%;height:100%}.thumbnail-loading{width:100%;height:100%;color:var(--text-dim);letter-spacing:1px;justify-content:center;align-items:center;font-family:Segoe UI,sans-serif;font-size:13px;display:flex}.showcase-preview{border-radius:var(--card-radius);z-index:1;background:radial-gradient(at 50% 40%,#d4845a0a 0%,#0000 70%);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:absolute;inset:1px}.showcase-preview-icon{color:var(--text-dim);transition:color var(--transition-smooth), transform var(--transition-smooth)}.showcase-card:hover .showcase-preview-icon{color:var(--accent-warm);transform:scale(1.08)}.showcase-preview-label{letter-spacing:1px;color:var(--text-primary);font-size:22px;font-weight:700}.showcase-preview-action{color:var(--text-dim);letter-spacing:1.5px;border:1px solid var(--border-card);transition:border-color var(--transition-smooth), color var(--transition-smooth);border-radius:999px;padding:5px 14px;font-family:Segoe UI,sans-serif;font-size:12px}.showcase-card:hover .showcase-preview-action{border-color:var(--accent-warm);color:var(--accent-warm)}.showcase-info{z-index:2;border-radius:0 0 var(--card-radius) var(--card-radius);background:linear-gradient(#0000,#f5efe6b3 30%,#f0e8d8f2);justify-content:space-between;align-items:center;padding:16px 20px;display:flex;position:absolute;bottom:0;left:0;right:0}.showcase-name{letter-spacing:.5px;color:var(--text-primary);font-size:16px;font-weight:600}.showcase-badge{text-transform:uppercase;letter-spacing:1.5px;color:var(--accent-warm);background:#d4845a1f;border:1px solid #d4845a40;border-radius:999px;padding:3px 10px;font-family:Segoe UI,sans-serif;font-size:10px;font-weight:600}.showcase-shelf{background:var(--shelf-gradient);border-radius:0 0 var(--card-radius) var(--card-radius);z-index:3;height:3px;position:absolute;bottom:0;left:0;right:0}.showcase-hover-hint{z-index:3;color:var(--text-dim);opacity:0;align-items:center;gap:6px;font-family:Segoe UI,sans-serif;font-size:11px;transition:opacity .25s,transform .25s;display:flex;position:absolute;top:14px;right:14px;transform:translateY(-4px)}.showcase-card:hover .showcase-hover-hint{opacity:1;transform:translateY(0)}.showcase-card--empty{cursor:default}.showcase-card--empty:hover{box-shadow:none;transform:none}.showcase-card--empty .showcase-glass{box-shadow:none;border-style:dashed}.showcase-empty-content{z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;inset:0}.showcase-empty-icon{color:var(--text-dim)}.showcase-empty-label{color:var(--text-dim);letter-spacing:2px;text-transform:uppercase;font-family:Segoe UI,sans-serif;font-size:13px;font-weight:500}.detail-overlay{z-index:1000;touch-action:none;overscroll-behavior:contain;background:#4a3f3599;justify-content:center;align-items:center;animation:.25s fadeIn;display:flex;position:fixed;inset:0}.detail-panel{background:var(--bg-card);border:1px solid var(--border-card-hover);border-radius:20px;width:90vw;max-width:900px;height:88vh;animation:.3s cubic-bezier(.16,1,.3,1) scaleIn;position:relative;overflow:hidden;box-shadow:0 40px 100px #64503c40}.detail-close{z-index:10;border:1px solid var(--border-card);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;background:#f5efe6cc;border-radius:12px;justify-content:center;align-items:center;transition:background .2s,color .2s;display:flex;position:absolute;top:16px;right:16px}.detail-close:hover{color:var(--text-primary);background:#f5efe6}.detail-viewer{touch-action:none;will-change:contents;width:100%;height:calc(100% - 72px)}.detail-info{border-top:1px solid var(--border-card);background:#f0e8d899;align-items:center;gap:14px;padding:16px 28px;display:flex}.detail-name{color:var(--text-primary);font-size:20px;font-weight:700}.detail-badge{letter-spacing:1px;text-transform:uppercase;color:var(--accent-gold);background:#c9a96e26;border:1px solid #c9a96e4d;border-radius:999px;padding:3px 10px;font-family:Segoe UI,sans-serif;font-size:10px;font-weight:600}.detail-record-btn{letter-spacing:.5px;color:var(--accent-gold);cursor:pointer;background:#c9a96e1a;border:1px solid #c9a96e40;border-radius:999px;align-items:center;gap:6px;padding:4px 14px;font-family:Segoe UI,sans-serif;font-size:11px;font-weight:600;transition:all .2s;display:inline-flex}.detail-record-btn:hover{background:#c9a96e33;border-color:#c9a96e66}.record-dot{background:var(--accent-gold);border-radius:50%;flex-shrink:0;width:8px;height:8px}.detail-record-btn--recording{color:#e05555;background:#dc3c3c1f;border-color:#dc3c3c4d}.detail-record-btn--recording:hover{background:#dc3c3c33;border-color:#dc3c3c73}.detail-record-btn--recording .record-dot{background:#e05555;animation:1s ease-in-out infinite record-blink}@keyframes record-blink{0%,to{opacity:1}50%{opacity:.3}}.detail-hint{color:var(--text-dim);margin-left:auto;font-family:Segoe UI,sans-serif;font-size:12px}.gallery-footer{z-index:1;color:var(--text-dim);border-top:1px solid var(--border-card);justify-content:center;align-items:center;gap:12px;padding:24px;font-size:12px;display:flex;position:relative}.footer-dot{background:var(--text-dim);border-radius:50%;width:3px;height:3px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
