:root{font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,sans-serif;color:#111827;background:#f3f4f6;font-synthesis:none;--primary: #667eea;--primary-dark: #764ba2;--text-muted: #6b7280;--line: #e5e7eb;--card: #fff;--shadow: 0 4px 12px rgba(0, 0, 0, .1);--shadow-hover: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--ease-out: cubic-bezier(.22, 1, .36, 1);--layout-max: 1280px}*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,body::-webkit-scrollbar{width:0;height:0;display:none}body{margin:0;min-width:320px;min-height:100vh;background:#f3f4f6}body.modal-open{overflow:hidden}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}img,video{display:block;max-width:100%}.app-shell{min-height:100vh;display:flex;flex-direction:column}.page-shell{position:relative;flex:1;overflow:clip}.view{min-height:40vh}.content-width{width:min(calc(var(--layout-max) - 48px),calc(100% - 48px));margin-inline:auto}.site-header{position:sticky;top:0;z-index:40;height:80px;background:#fff;box-shadow:0 2px 12px #00000014}.header-inner{width:min(calc(var(--layout-max) - 48px),calc(100% - 48px));height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;min-width:0;gap:13px}.brand-icon{position:relative;flex:0 0 auto;width:48px;height:48px;border-radius:13px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#6674ef,#c743ea);box-shadow:0 7px 16px #6f56e047;transition:transform .35s var(--ease-out),box-shadow .35s}.brand-icon:after{content:"";position:absolute;inset:4px;border:1px solid rgba(255,255,255,.34);border-radius:10px;pointer-events:none}.brand:hover .brand-icon{transform:rotate(-4deg) scale(1.05);box-shadow:0 11px 24px #6f56e05c}.brand-icon svg{width:29px;fill:currentColor}.brand strong{display:block;color:#6545df;background:linear-gradient(90deg,#4f46e5,#7c3aed);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-size:28px;line-height:1.12;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand small{display:block;margin-top:4px;color:#677184;font-size:12px}.main-nav{display:flex;align-items:center;gap:16px}.main-nav a{min-width:0;padding:8px 16px;border:1px solid transparent;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:8px;color:#4b5563;font-size:14px;font-style:normal;transition:color .22s,background-color .22s,border-color .22s,transform .22s var(--ease-out)}.main-nav a:hover{color:var(--primary);border-color:#667eea33;background:#667eea1a;transform:translateY(-1px)}.main-nav svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.main-nav em{font-style:normal}.banner{position:relative;isolation:isolate;width:min(calc(var(--layout-max) - 32px),calc(100% - 32px));height:360px;margin:48px auto 0;overflow:hidden;border-radius:16px;background:#d8dbe4;box-shadow:0 8px 24px #0000001f}.banner-image{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.banner:hover .banner-image{transform:scale(1.05)}.banner-image-current{opacity:1;transition:opacity .46s ease,transform .4s ease}.banner-image-current.is-manual-entering{opacity:0}.banner-image-current.is-manual-entering.is-visible{opacity:1}.banner-image-next{opacity:0;transition:opacity .42s ease,transform .4s ease}.banner-image-next.active{opacity:1}.banner-shade{position:absolute;z-index:1;right:0;bottom:0;left:0;height:clamp(126px,26%,170px);background:linear-gradient(0deg,rgba(0,0,0,.68),rgba(0,0,0,.32) 58%,transparent);pointer-events:none}.banner-preview-hitarea{position:absolute;z-index:1;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.banner-preview-hitarea:focus-visible{outline:3px solid rgba(255,255,255,.92);outline-offset:-6px;border-radius:16px}.banner-copy{position:absolute;z-index:2;left:48px;right:90px;bottom:48px;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.5);pointer-events:none}.banner-copy{animation:copy-in .65s .08s both var(--ease-out)}@keyframes copy-in{0%{opacity:0;transform:translateY(18px)}}.banner-kicker{display:inline-flex;margin-bottom:13px;padding:6px 10px;border:1px solid rgba(255,255,255,.3);border-radius:99px;background:#161b275c;font-size:11px;font-weight:800;letter-spacing:.16em;text-shadow:none}.banner-copy h1{margin:0 0 8px;font-size:clamp(28px,3vw,40px)}.banner-copy p{margin:0;color:#ffffffe6;font-size:20px}.banner-arrow{position:absolute;z-index:2;top:50%;width:48px;height:48px;margin-top:-24px;padding:0;border:0;border-radius:50%;display:grid;place-items:center;background:#ffffff40;color:#fff;box-shadow:0 4px 12px #0000004d;cursor:pointer;transition:transform .15s ease,background-color .2s ease,box-shadow .2s ease}.banner-arrow svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.banner-arrow:hover{background:#fff6;transform:scale(1.05)}.banner-arrow:active{transform:scale(.95)}.banner-arrow.prev{left:24px}.banner-arrow.next{right:24px}.banner-dots{position:absolute;z-index:2;bottom:24px;left:50%;display:flex;gap:8px;transform:translate(-50%)}.banner-dots button{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:#ffffff80;cursor:pointer;transition:transform .2s ease,background-color .2s ease}.banner-dots button.active{background:#fff;transform:scale(1.2)}.banner-counter{position:absolute;z-index:2;right:42px;bottom:31px;display:flex;align-items:center;gap:8px;color:#ffffffad;font-size:10px;letter-spacing:.12em}.banner-counter strong{color:#fff;font-size:14px}.banner-counter span{width:28px;height:1px;background:#ffffff73}.album-section{padding-block:48px 76px}.section-heading{margin-bottom:32px;display:flex;align-items:center}.eyebrow,.detail-kicker{display:block;margin-bottom:7px;color:#7465e5;font-size:10px;font-weight:800;letter-spacing:.18em}.section-title{display:flex;align-items:center;gap:12px;margin:0 0 26px;color:#111827;font-size:20px;line-height:1.5}.section-heading .section-title{margin-bottom:0}.section-title svg{width:24px;height:24px;fill:#111827}.filter-pills,.detail-filters{display:flex;flex-wrap:wrap;gap:12px}.filter-pills{margin-bottom:48px}.filter-pills button,.detail-filters button,.tag-cloud button{border:1px solid #e0e3eb;border-radius:999px;background:#fff;color:#3d485b;cursor:pointer;transition:color .2s,border-color .2s,background-color .2s,box-shadow .2s,transform .2s var(--ease-out)}.filter-pills button{min-width:106px;padding:10px 22px;font-weight:500;line-height:24px}.filter-pills button:hover,.filter-pills button.active,.detail-filters button.active,.tag-cloud button.active{border-color:transparent;color:#fff;background:linear-gradient(100deg,#6678ef,#8149bd);box-shadow:0 6px 14px #6051ca38}.filter-pills button:hover,.detail-filters button:hover,.tag-cloud button:hover{transform:translateY(-2px)}.album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.album-card{position:relative;min-width:0;overflow:hidden;border:1px solid #e5e7eb;border-radius:12px;display:flex;flex-direction:column;background:#fff;box-shadow:0 2px 8px #0000000f;transition:transform .25s ease-out,box-shadow .25s ease-out;contain:layout paint style}.album-card:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 8px 24px #0000001f}.album-cover{position:relative;flex:0 0 auto;aspect-ratio:16 / 9;overflow:hidden;background:#eef0f5}.album-cover:after{content:none}.album-cover img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease-out)}.album-cover-image{position:absolute;inset:0}.album-cover-image-current{animation:album-cover-fade .42s ease both}.album-cover-image-previous{opacity:1}.album-card:hover .album-cover img{transform:scale(1.045)}@keyframes album-cover-fade{0%{opacity:0}to{opacity:1}}@keyframes fade-in{0%{opacity:.25}}.cover-placeholder{height:100%;display:grid;place-items:center;color:#9299a7}.year-pill,.lock-pill,.media-type{position:absolute;top:12px;border-radius:999px;background:#ffffffe8;box-shadow:0 3px 9px #00000024;font-weight:700}.year-pill{left:12px;padding:7px 12px;color:#5c6575;font-size:13px}.lock-pill{z-index:2;right:12px;width:36px;height:36px;display:grid;place-items:center;color:#4b5666}.lock-pill svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.lock-pill.is-unlocked{color:#657080}.album-cover-dots{position:absolute;z-index:3;left:50%;bottom:10px;padding:4px 6px;display:flex;align-items:center;gap:6px;border-radius:999px;background:#11182747;backdrop-filter:blur(3px);transform:translate(-50%)}.album-cover-dots button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:#ffffff8c;box-shadow:0 1px 3px #0000003d;cursor:pointer;transition:background-color .2s ease,transform .2s ease}.album-cover-dots button:hover{background:#ffffffd9;transform:scale(1.18)}.album-cover-dots button.active{background:#fff;transform:scale(1.22)}.album-card-body{flex:1;padding:16px;display:flex;flex-direction:column}.album-card h3{margin:0 0 8px;overflow:hidden;font-size:20px;line-height:30px;text-overflow:ellipsis;white-space:nowrap}.album-card p{height:auto;margin:0 0 12px;overflow:hidden;color:#6b7280;display:-webkit-box;font-size:.9rem;line-height:1.6;-webkit-box-orient:vertical;-webkit-line-clamp:2}.gradient-button{position:relative;min-height:43px;padding:10px 20px;border:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:9px;overflow:hidden;color:#fff;background:linear-gradient(100deg,#6678ef,#8149bd);box-shadow:0 5px 12px #5e4dc538;cursor:pointer;font-weight:700;transition:box-shadow .25s,transform .25s var(--ease-out)}.gradient-button:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.18) 45%,transparent 70%);transform:translate(-110%);transition:transform .55s var(--ease-out)}.gradient-button:hover{transform:translateY(-1px);box-shadow:0 10px 22px #5e4dc547}.gradient-button:hover:before{transform:translate(110%)}.gradient-button>span,.gradient-button>b{position:relative}.gradient-button>b{transition:transform .25s var(--ease-out)}.gradient-button:hover>b{transform:translate(4px)}.album-card .gradient-button{width:100%;min-height:42px;margin-top:auto;padding:10px 24px;font-size:.9rem;font-weight:500}.gradient-button:disabled{opacity:.55;cursor:wait}.album-detail-header{padding:24px 20px 8px;text-align:center;background:#fff}.album-detail-header h1{margin:0 0 8px;color:#1f2937;font-size:36px;line-height:40px;letter-spacing:-.025em}.album-summary{display:flex;justify-content:center;gap:24px;color:#6b7280;font-size:14px;line-height:1.5}.album-summary span{display:inline-flex;align-items:center;gap:6px}.album-summary svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.album-detail-header>p{max-width:800px;margin:8px auto 0;color:#4b5563;font-size:17px;line-height:28px}.album-filter-bar{position:sticky;top:80px;z-index:30;min-height:64px;padding:12px 20px;background:#fffffff7;box-shadow:0 1px #eef0f3}.detail-filters{justify-content:center;gap:8px}.detail-filters button{padding:4px 14px;border:0;border-radius:4px;background:#f3f4f6;font-size:12px;font-weight:500;line-height:21px;box-shadow:none}.detail-filters button:hover,.detail-filters button.active{border-color:transparent;color:#fff;background:#374151;box-shadow:none;transform:none}.media-section{padding-block:32px 72px}.album-results-title h2{position:relative;padding-left:17px}.album-results-title h2:before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:4px;border-radius:99px;background:linear-gradient(#6674ef,#c743ea)}.virtual-grid{position:relative;width:100%;contain:layout style}.virtual-grid-row{position:absolute;inset:0 0 auto;display:grid;gap:32px;will-change:transform}.media-card{height:100%;min-width:0;overflow:hidden;border-radius:8px;display:flex;flex-direction:column;background:#fff;box-shadow:0 2px 8px #0000001a;cursor:pointer;contain:layout paint style;transition:transform .2s ease,box-shadow .2s ease}.media-card:hover,.media-card:focus-visible{outline:none;transform:translateY(-4px);box-shadow:0 8px 20px #00000026}.media-thumb{position:relative;width:100%;aspect-ratio:4 / 3;overflow:hidden;border-radius:8px 8px 0 0;background:#f5f5f5}.media-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .55s var(--ease-out)}.media-card:hover .media-thumb img,.media-card:focus-visible .media-thumb img{transform:scale(1.04)}.media-type{top:10px;left:10px;padding:6px 10px;border-radius:4px;display:inline-flex;align-items:center;gap:4px;color:#fff;background:#4a7de8;box-shadow:none;font-size:12px}.media-type svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.media-type.video{background:#df670e}.play-button{position:absolute;top:50%;left:50%;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;color:#263140;background:#ffffffde;transform:translate(-50%,-50%)}.media-body{flex:1;padding:12px}.media-meta{display:flex;justify-content:space-between;gap:10px;color:#7b8390;font-size:11px;white-space:nowrap}.media-body h3{height:20px;margin:7px 0;overflow:hidden;color:#333;font-size:14px;font-weight:500;line-height:20px;text-overflow:ellipsis;white-space:nowrap}.tag-row{min-height:20px;display:flex;flex-wrap:wrap;gap:6px;overflow:hidden}.tag-row span{max-width:95px;padding:2px 8px;overflow:hidden;border-radius:4px;background:#f5f5f5;color:#666;font-size:11px;line-height:16px;white-space:nowrap;text-overflow:ellipsis}.explore-header{padding:24px 0 16px;text-align:center;background:#fff}.search-box{width:min(600px,100%);height:50px;margin:0 auto 32px;padding:0 24px;display:flex;align-items:center;border:1px solid #e5e7eb;border-radius:25px;background:#fff;box-shadow:0 2px 4px #0000000d;transition:border-color .25s,box-shadow .25s}.search-box>span{display:none}.search-box:focus-within{border-color:var(--primary);box-shadow:0 4px 8px #3b82f61a}.search-box input{width:100%;border:0;outline:0;color:#273246;background:transparent}.tag-cloud{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.tag-cloud button{padding:8px 16px;border:0;border-radius:4px;font-size:16px;font-weight:500;line-height:24px;box-shadow:none;contain:layout style paint}.tag-cloud button.active{outline:2px solid var(--primary);outline-offset:2px;color:inherit;background:inherit;box-shadow:none}.tag-cloud .tag-tone-1{background:#e0f2fe;color:#0284c7}.tag-cloud .tag-tone-2{background:#dbeafe;color:#1e40af}.tag-cloud .tag-tone-3{background:#ede9fe;color:#6d28d9}.tag-cloud .tag-tone-4{background:#fce7f3;color:#be185d}.tag-cloud .tag-tone-5{background:#fee2e2;color:#b91c1c}.tag-cloud .tag-tone-6{background:#fed7aa;color:#c2410c}.tag-cloud .tag-tone-7{background:#fef3c7;color:#d97706}.tag-cloud .tag-tone-8{background:#dcfce7;color:#059669}.tag-cloud .tag-tone-9{background:#e0e7ff;color:#4f46e5}.tag-cloud .tag-tone-10{background:#f3e8ff;color:#7e22ce}.tag-cloud .tag-tone-11{background:#fef2f2;color:#dc2626}.tag-cloud .tag-tone-12{background:#fefce8;color:#ca8a04}.tag-cloud .tag-tone-13{background:#ecfccb;color:#65a30d}.tag-cloud .tag-tone-14{background:#dbeafe;color:#1d4ed8}.tag-cloud .tag-tone-15{background:#ede9fe;color:#7c3aed}.results-title{margin-bottom:24px;display:flex;align-items:baseline;justify-content:space-between}.results-title h2{margin:0}.results-title span{color:var(--text-muted)}.explore-results-bar{position:sticky;top:80px;z-index:20;padding:12px 0 20px;background:#fffffff7}.explore-results-title{align-items:center;gap:18px;margin-bottom:0}.explore-results-title h2{font-size:20px;line-height:28px}.explore-view>.media-section{padding-top:32px}.explore-view .media-card{border-radius:16px;box-shadow:0 4px 6px -1px #0000001a}.explore-view .media-thumb{border-radius:16px 16px 0 0}.explore-view .media-body{padding:20px}.explore-results-title>div:first-child{display:flex;align-items:baseline;gap:12px;white-space:nowrap}.result-filter-actions,.type-filter-pills{display:flex;align-items:center;gap:7px}.type-filter-pills{display:flex;gap:7px}.type-filter-pills button,.filter-reset{padding:6.4px 12px;border:1px solid #e0e3eb;border-radius:999px;color:#596376;background:#fff;cursor:pointer;font-size:.85rem;font-weight:500;line-height:1;transition:color .2s,border-color .2s,background-color .2s}.type-filter-pills button.active{border-color:#3b82f6;color:#fff;background:#3b82f6;box-shadow:none}.filter-reset{border:1px solid #dfe2e9;background:#fff}.filter-reset:hover{color:var(--primary);border-color:#6674ef66}.password-modal{position:fixed;z-index:1000;inset:0;padding:24px;display:grid;place-items:center;overflow:hidden;background:#000000b3;backdrop-filter:blur(4px)}.password-panel{width:min(400px,100%);margin:0;padding:24px;border:0;border-radius:12px;background:#fff;box-shadow:0 8px 32px #0000004d;text-align:center}.error-panel,.empty-state,.state-panel{width:min(560px,calc(100% - 40px));margin:80px auto;padding:46px;border:1px solid #e2e5eb;border-radius:18px;background:#fff;box-shadow:var(--shadow);text-align:center}.password-icon{width:64px;height:64px;margin:0 auto 16px;display:grid;place-items:center;border-radius:50%;color:#3b82f6;background:#e6f0ff}.password-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.password-panel h1{margin:0 0 16px;font-size:20px;line-height:28px}.error-panel p,.empty-state p,.state-panel p{color:var(--text-muted)}.password-panel form{margin:0}.password-panel input{width:100%;padding:10px 16px;border:1px solid #d1d5db;border-radius:8px;outline:none;font-size:16px}.password-panel input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f624}.password-actions{margin-top:16px;display:flex;gap:12px}.password-actions a,.password-actions button{min-width:0;flex:1;padding:10px;border-radius:8px;font-size:16px;font-weight:500;line-height:24px;text-align:center;cursor:pointer}.password-actions a{border:1px solid #d1d5db;color:#374151;background:#fff}.password-actions button{border:0;color:#fff;background:#3b82f6}.password-actions button:disabled{cursor:wait;opacity:.65}.form-error{display:block;margin:10px 0 -4px;color:#d33c56;font-size:13px}.error-panel button:not(.gradient-button){padding:9px 18px;border:0;border-radius:8px;color:#fff;background:var(--primary);cursor:pointer}.error-panel.compact{margin-block:20px;padding:20px;box-shadow:none}.page-error>span{font-size:58px}.page-error h1{font-size:30px}.empty-state>span{font-size:42px;color:#9aa1ae}.empty-state h3{margin-bottom:6px}.state-panel{border:0;box-shadow:none;background:transparent}.home-loading{width:100%;min-height:calc(100vh - 80px);margin:0;display:grid;place-content:center}.spinner{position:relative;width:38px;height:38px;margin:auto;display:block;border:3px solid #dedff0;border-top-color:#7164df;border-radius:50%;animation:spin .8s linear infinite}.spinner i{position:absolute;top:-3px;left:50%;width:6px;height:6px;border-radius:50%;background:#7164df;transform:translate(-50%)}@keyframes spin{to{transform:rotate(360deg)}}.lightbox{position:fixed;inset:0;z-index:100;padding:5vh 2.5vw;display:grid;place-items:center;background:#080a0ed6}.lightbox-content{position:relative;width:95vw;height:90vh;display:grid;grid-template-columns:minmax(0,1fr) 350px;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:#1a1a1af5;box-shadow:0 20px 60px #00000080;contain:layout paint style}.lightbox-content.is-compact{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.lightbox-content.is-compact .lightbox-stage{border-right:0}.lightbox-content.is-compact .lightbox-close{top:18px;right:18px;width:40px;height:40px}.lightbox-content.is-compact .lightbox-stage-tools{top:18px;right:70px}.lightbox-stage{position:relative;min-width:0;min-height:0;overflow:hidden;border-right:1px solid #e5e7eb;background:#171717}.lightbox-photo,.lightbox-video{position:absolute;inset:0;min-width:0;min-height:0;padding:60px 20px;display:flex;align-items:center;justify-content:center;overflow:hidden}.lightbox-photo{cursor:grab;touch-action:none;overscroll-behavior:contain}.lightbox-photo.dragging{cursor:grabbing}.lightbox-photo img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;transform-origin:center center;user-select:none;pointer-events:none;will-change:transform;transition:transform .12s ease-out}.lightbox-photo.dragging img{transition:none}.lightbox-video{padding:40px 64px;touch-action:auto}.lightbox-video video{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;background:#000}.lightbox-stage-tools{position:absolute;z-index:9;top:20px;right:20px;display:flex;align-items:center;gap:12px}.lightbox-tool{position:relative;flex:0 0 auto;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#1a1a1ae6;transition:transform .2s ease,background-color .2s ease}.lightbox-tool:hover{color:#fff;background:#fff3;transform:scale(1.1)}.lightbox-tool svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.lightbox-tool span{position:absolute;top:calc(100% + 8px);right:50%;max-width:min(260px,calc(100vw - 32px));padding:6px 10px;overflow:hidden;border-radius:6px;color:#fff;background:#000000d9;font-size:12px;line-height:1;text-overflow:ellipsis;white-space:nowrap;opacity:0;visibility:hidden;transform:translate(50%) translateY(-3px);transition:opacity .2s,visibility .2s,transform .2s;pointer-events:none}.lightbox-tool:hover span,.lightbox-tool:focus-visible span{opacity:1;visibility:visible;transform:translate(50%)}.lightbox-album-link span{right:0;transform:translateY(-3px)}.lightbox-album-link:hover span,.lightbox-album-link:focus-visible span{transform:none}.lightbox-nav{position:absolute;z-index:8;top:50%;width:40px;height:40px;margin-top:-20px;padding:0;border:0;border-radius:50%;display:grid;place-items:center;color:#ffffffb3;background:#1a1a1a66;cursor:pointer;transition:background-color .2s,color .2s,transform .2s ease}.lightbox-nav.previous{left:20px}.lightbox-nav.next{right:20px}.lightbox-nav:hover{color:#fff;background:#fff3;transform:scale(1.1)}.lightbox-nav svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}.lightbox-close{position:absolute;z-index:12;top:8px;right:8px;width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:50%;color:#555;background:#fffffff0;box-shadow:0 2px 9px #00000024;cursor:pointer;font-size:22px;line-height:1;transition:transform .2s ease,background-color .2s,color .2s}.lightbox-close:hover{color:#222;background:#fff;transform:scale(1.1)}.lightbox-zoom-controls{position:absolute;z-index:9;left:50%;bottom:20px;padding:5px;display:flex;align-items:center;gap:3px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:#131313d1;box-shadow:0 6px 20px #00000047;transform:translate(-50%)}.lightbox-zoom-controls button{min-width:36px;height:32px;padding:0 10px;border:0;border-radius:999px;color:#fff;background:transparent;cursor:pointer;font-size:18px}.lightbox-zoom-controls button:hover{background:#ffffff26}.lightbox-zoom-controls .zoom-reset{min-width:64px;color:#d8d8df;font-size:12px}.lightbox-gesture-hint{position:absolute;z-index:7;left:20px;bottom:26px;color:#ffffff85;font-size:11px;pointer-events:none}.lightbox-info{padding:24px;overflow-y:auto;color:#333;background:#f5f5f5;contain:layout paint style}.lightbox-info-card{margin-bottom:18px;padding:14px 16px;border:1px solid #e8e8e8;border-radius:8px;background:#fff;box-shadow:0 1px 4px #00000012}.lightbox-info-card:last-child{margin-bottom:0}.lightbox-position{margin-bottom:12px;color:#8a8f99;font-size:11px;letter-spacing:.08em}.lightbox-file-card p{margin:0;display:grid;grid-template-columns:88px minmax(0,1fr);gap:8px;font-size:14px;line-height:1.8}.lightbox-file-card p+p{margin-top:3px}.lightbox-file-card span{color:#666}.lightbox-file-card strong{min-width:0;overflow:hidden;color:#333;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.lightbox-info-card h2{margin:0 0 13px;padding-bottom:10px;border-bottom:1px solid #e1e3e8;color:#333;font-size:16px}.lightbox-description{margin:0;color:#444;font-size:14px;line-height:1.7;white-space:pre-wrap}.lightbox-info-card dl{margin:0;display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px 10px;font-size:14px;line-height:1.45}.lightbox-info-card dt{color:#858a95}.lightbox-info-card dd{margin:0;color:#343946;overflow-wrap:anywhere}.lightbox-info .tag-row{min-height:0;gap:12px}.lightbox-info .tag-row span{max-width:none;padding:0;border-radius:0;background:transparent;color:#333;font-size:14px;line-height:1.6}.site-footer{padding:4px 0;border-top:1px solid #e5e7eb;background:#fff}.footer-inner{width:min(calc(var(--layout-max) - 32px),calc(100% - 32px));min-height:48px;margin:auto;display:flex;align-items:center;justify-content:space-between}.footer-message{display:flex;align-items:center;gap:12px}.footer-logo{flex:0 0 auto;width:48px;height:48px;display:grid;place-items:center;color:#5168ed}.footer-logo svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.footer-message strong,.footer-message small{display:block}.footer-message strong{font-size:18px}.footer-message small{margin-top:2px;color:#6b7280;font-size:14px}.footer-email{position:relative;width:38px;height:38px;padding:0;border:0;border-radius:8px;display:grid;place-items:center;color:#4b5563;background:transparent;cursor:pointer;transition:color .2s,background-color .2s}.footer-email:hover{color:var(--primary);background:#667eea14}.footer-email svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.footer-email span{position:absolute;right:0;bottom:calc(100% + 7px);padding:5px 8px;border-radius:5px;color:#fff;background:#374151;opacity:0;visibility:hidden;white-space:nowrap;transform:translateY(3px);transition:opacity .2s,visibility .2s,transform .2s}.footer-email:hover span,.footer-email.copied span{opacity:1;visibility:visible;transform:none}.site-footer>p{margin:8px 0 0;padding:8px 16px 4px;border-top:1px solid #f0f1f3;color:#6b7280;text-align:center;font-size:12px}.site-footer>p span{margin-inline:3px}.site-footer>p a{transition:color .2s}.site-footer>p a:hover{color:var(--primary)}.reveal-on-scroll{opacity:0;transform:translate3d(0,var(--reveal-distance,18px),0);transition:opacity .65s var(--ease-out) var(--reveal-delay,0ms),transform .65s var(--ease-out) var(--reveal-delay,0ms)}.reveal-on-scroll.is-revealed{opacity:1;transform:none}.page-enter-active,.page-leave-active{transition:opacity .22s ease,transform .22s var(--ease-out)}.page-enter-from{opacity:0;transform:translateY(8px)}.page-leave-to{opacity:0;transform:translateY(-4px)}.modal-enter-active,.modal-leave-active{transition:opacity .22s ease}.modal-enter-active .lightbox-content,.modal-leave-active .lightbox-content{transition:transform .3s var(--ease-out),opacity .22s ease}.modal-enter-from,.modal-leave-to{opacity:0}.modal-enter-from .lightbox-content,.modal-leave-to .lightbox-content{opacity:0;transform:translateY(12px) scale(.985)}button:focus-visible,a:focus-visible{outline:3px solid rgba(102,116,239,.34);outline-offset:3px}@media(min-width:768px){.banner{height:450px}}@media(min-width:1280px){.banner{height:500px}}@media(min-width:1536px){:root{--layout-max: 1400px}.banner{height:540px}}@media(min-width:1920px){:root{--layout-max: 1760px}.banner{height:580px}}@media(min-width:2560px){:root{--layout-max: 2240px}.banner{height:650px}}@media(min-width:3840px){:root{--layout-max: 3072px}.banner{height:750px}}@media(max-width:900px){.banner{margin-top:28px}.explore-results-title{align-items:flex-start;flex-direction:column}.result-filter-actions{width:100%;justify-content:space-between}.lightbox{padding:0}.lightbox-content{width:100%;height:100%;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) minmax(150px,34vh);border:0;border-radius:0}.lightbox-stage{border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}.lightbox-info{padding:16px}.lightbox-info-card{margin-bottom:12px}.lightbox-photo{padding:54px 18px}.lightbox-video{padding:36px 18px}.lightbox-nav.previous{left:6px}.lightbox-nav.next{right:6px}.lightbox-close{top:10px;right:auto;left:10px}.lightbox-stage-tools{top:16px;right:16px}}@media(max-width:768px){.site-header{height:118px}.header-inner{width:calc(100% - 32px);flex-direction:column;justify-content:center;gap:8px}.brand{gap:8px}.brand-icon{width:48px;height:48px}.brand strong{font-size:20px}.brand small{display:block;margin-top:2px}.main-nav{gap:8px}.main-nav a{padding:5px 12px;font-size:14px}.main-nav em{display:inline}.banner{height:300px;margin-top:48px;border-radius:16px}.banner-copy{left:48px;right:32px;bottom:48px}.banner-copy h1{font-size:28px}.banner-copy p{font-size:16px}.banner-arrow{width:52px;height:52px;margin-top:-26px}.banner-arrow.prev{left:24px}.banner-arrow.next{right:24px}.banner-counter{display:none}.album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.album-filter-bar{top:118px}.explore-results-bar{position:relative;top:auto}.footer-inner{flex-direction:column;gap:4px;padding-block:4px}.lightbox-content{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr)}.lightbox-stage{border:0}.lightbox-info{display:none}.lightbox-photo{padding:50px 15px}.lightbox-nav.previous{left:15px}.lightbox-nav.next{right:15px}.lightbox-close,.lightbox-content.is-compact .lightbox-close{top:15px;right:auto;left:15px;width:36px;height:36px}.lightbox-content.is-compact .lightbox-stage-tools{top:20px;right:20px}}@media(max-width:600px){.content-width{width:calc(100% - 48px)}.banner{width:calc(100% - 32px)}.site-header{height:118px}.header-inner{width:calc(100% - 32px);flex-direction:column;justify-content:center;gap:8px}.brand{gap:8px}.brand-icon{width:48px;height:48px}.brand strong{font-size:20px}.brand small{display:block;margin-top:2px}.main-nav{gap:8px}.main-nav a{padding:5px 12px;font-size:14px}.main-nav em{display:inline}.banner{height:300px;margin-top:48px;border-radius:16px}.banner-copy{left:48px;right:32px;bottom:48px}.banner-copy h1{font-size:28px}.banner-copy p{font-size:16px}.banner-arrow{width:52px;height:52px;margin-top:-26px}.banner-arrow.prev{left:24px}.banner-arrow.next{right:24px}.banner-counter{display:none}.album-section{padding-block:48px 56px}.section-heading{align-items:center;margin-bottom:32px}.section-title{font-size:20px}.filter-pills{display:grid;grid-template-columns:repeat(2,minmax(0,112px));justify-content:center;gap:12px;margin-bottom:48px}.filter-pills button{min-width:0;min-height:46px;width:100%;padding:10px 12px;font-size:14px}.album-grid{grid-template-columns:1fr;gap:20px}.album-detail-header h1{font-size:28px;line-height:40px}.album-detail-header>p{font-size:17px;line-height:28px}.album-summary{flex-direction:column;align-items:center;gap:16px;font-size:14px}.album-filter-bar{top:118px;padding-inline:12px}.detail-filters{max-height:none;overflow:visible}.media-section{padding-block:32px 52px}.media-thumb{height:auto}.password-modal{padding:20px}.password-panel{margin:0;padding:24px}.error-panel,.empty-state,.state-panel{margin-block:45px;padding:30px 22px}.explore-header{padding-top:24px}.search-box{height:50px;margin-bottom:32px}.tag-cloud{max-height:none;overflow:visible}.tag-cloud button{padding:8px 16px;font-size:16px}.explore-results-bar{top:auto}.explore-results-title{flex-direction:row;align-items:center;justify-content:space-between;gap:0}.explore-results-title>div:first-child{min-width:0;flex:1 1 auto;white-space:normal}.explore-results-title h2{font-size:20px;line-height:28px}.result-filter-actions{min-width:0;flex:0 1 auto;gap:12px;overflow-x:visible;padding-bottom:0}.type-filter-pills{flex:0 1 auto;gap:8px}.type-filter-pills button,.filter-reset{padding:6.4px 12px}.filter-reset{flex:0 0 auto}.lightbox-photo{padding:50px 15px}.lightbox-video{padding:44px 15px}.lightbox-stage-tools{top:20px;right:20px}.lightbox-gesture-hint{display:none}.lightbox-info{padding:12px}.lightbox-info-card{padding:12px 14px}.lightbox-file-card p{grid-template-columns:76px minmax(0,1fr);font-size:13px}.lightbox-zoom-controls{bottom:14px}}@media(min-width:601px)and (max-width:639px){.album-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal-on-scroll{opacity:1!important;transform:none!important}.banner:hover .banner-image{transform:none}}
