.gallery-page{min-height:70vh;padding-block:64px 84px}.gallery-header{display:flex;align-items:end;justify-content:space-between;gap:28px;padding:8px 2px 25px;border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent)}.gallery-header h1{margin:12px 0 11px;letter-spacing:-.045em}.gallery-header p{max-width:630px;line-height:1.75}.private-chip{display:inline-flex;flex:0 0 auto;align-items:center;gap:8px;padding:10px 14px;border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:999px;color:var(--accent-strong);background:color-mix(in srgb,var(--accent) 10%,var(--canvas-raised));box-shadow:inset 0 1px rgba(255,255,255,.8);font-size:12px;font-weight:750}.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:27px 0 22px}.gallery-sort{width:158px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:19px;opacity:1;transform:translateY(0);transition:opacity .18s ease-out,transform .18s ease-out}.gallery-grid[data-motion-active=false]{opacity:0;transform:translateY(4px)}.gallery-grid[data-force-snap=true]{transition:none}.gallery-card{overflow:hidden;border:1px solid rgba(255,255,255,.86);border-radius:18px;background:color-mix(in srgb,var(--canvas-raised) 94%,white);box-shadow:0 8px 24px rgba(42,48,43,.055);transition:transform .19s ease,box-shadow .19s ease,border-color .19s ease}.gallery-card:focus-within,.gallery-card:hover{transform:translateY(-3px);border-color:rgba(255,255,255,1);box-shadow:0 15px 38px rgba(42,48,43,.1)}.art-button{position:relative;display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.art-button:after{position:absolute;inset:0;content:"";opacity:0;background:linear-gradient(180deg,rgba(8,10,15,.02) 35%,rgba(8,10,15,.28));transition:opacity .18s ease;pointer-events:none}.art-button:focus-visible:after,.art-button:hover:after{opacity:1}.gallery-art{width:100%;min-height:0;display:flex;flex-direction:column;justify-content:space-between;padding:21px;color:white;text-align:left}.gallery-toolbar .segmented{min-height:44px;display:inline-flex;align-items:stretch;padding:3px;border-radius:11px;background:color-mix(in srgb,var(--accent) 8%,transparent)}.gallery-toolbar .segmented button{min-height:44px;padding-inline:14px;border:0;border-radius:9px;color:var(--muted);background:transparent;cursor:pointer;font-size:12px;font-weight:700;transition:color .16s ease-out,background .16s ease-out,transform .16s ease-out}.gallery-toolbar .segmented button:hover:not(.is-selected){color:var(--ink)}.gallery-toolbar .segmented button.is-selected{color:var(--ink);background:white;box-shadow:0 3px 10px rgba(0,0,0,.07)}.gallery-live-image{width:100%;height:auto;padding:0;object-fit:cover;background:#ebe7df}.gallery-art strong{max-width:87%;font:29px/1.08 Georgia,Songti SC,serif;text-wrap:balance}.gallery-art small,.gallery-art span{opacity:.7;font-size:9px;letter-spacing:.14em}.expand-badge,.kind-badge{position:absolute;z-index:1;top:13px;display:inline-flex;align-items:center;min-height:27px;padding:6px 10px;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:white;background:rgba(17,18,25,.46);box-shadow:0 4px 14px rgba(0,0,0,.15);backdrop-filter:blur(11px);font-size:10px}.kind-badge{left:13px}.expand-badge{right:13px;padding-inline:8px;opacity:0;transform:translateY(-3px);transition:opacity .17s ease,transform .17s ease}.art-button:focus-visible .expand-badge,.art-button:hover .expand-badge{opacity:1;transform:translateY(0)}.kind-draft{background:rgba(130,93,24,.72)}.kind-final{background:rgba(40,112,81,.78)}.gallery-card-meta{min-height:78px;padding:14px 15px 15px;display:flex;align-items:center;justify-content:space-between;gap:10px}.gallery-card-meta>div{min-width:0;display:grid;gap:5px}.gallery-card-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.gallery-card-meta span{color:var(--muted);font-size:10px}.gallery-notice{margin:0 0 18px;padding:11px 14px;border:1px solid rgba(102,159,129,.2);border-radius:13px;color:#28543e;background:rgba(220,241,229,.55);font-size:12px}.empty-gallery{padding:80px 20px;border:1px dashed color-mix(in srgb,var(--line) 82%,#bd9378);border-radius:22px;color:var(--muted);background:rgba(255,255,255,.28);text-align:center}.empty-gallery h2{color:var(--ink)}.preview-backdrop{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:20px;background:rgba(16,18,24,.68);backdrop-filter:blur(13px) saturate(.82);opacity:1;transition:opacity .21s ease}.preview-dialog{position:relative;width:min(1060px,100%);max-height:calc(100vh - 40px);overflow:auto;display:grid;grid-template-columns:minmax(360px,1.16fr) minmax(300px,.84fr);border:1px solid rgba(255,255,255,.68);border-radius:26px;background:color-mix(in srgb,var(--paper) 95%,white);box-shadow:0 34px 110px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.68);opacity:1;transform:translateY(0) scale(1);transition:opacity .22s ease,transform .22s cubic-bezier(.22,.9,.3,1)}.preview-backdrop[data-motion-active=false]{opacity:0}.preview-dialog[data-motion-active=false]{opacity:0;transform:translateY(16px) scale(.985)}.preview-backdrop[data-force-snap=true],.preview-dialog[data-force-snap=true]{transition:none}.preview-dialog .gallery-art{height:100%;min-height:560px;aspect-ratio:auto!important}.preview-close{position:absolute;z-index:2;top:14px;right:14px;color:var(--ink);border:1px solid rgba(255,255,255,.76);background:rgba(255,255,255,.8);box-shadow:0 4px 16px rgba(0,0,0,.12)}.preview-details{padding:61px 32px 31px;display:flex;flex-direction:column;justify-content:space-between;gap:32px}.preview-details h2{margin-bottom:25px;font:32px/1.1 Georgia,Songti SC,serif;letter-spacing:-.03em}.preview-details dl{display:grid;gap:14px}.preview-details dl div{display:grid;grid-template-columns:80px 1fr;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--line);font-size:12px}.preview-details dt{color:var(--muted)}.preview-details dd{margin:0}.preview-actions{display:grid;gap:8px}.preview-actions .button{width:100%}.finalize-action{display:grid;gap:7px}.finalize-reason{margin:0;color:#80522d;font-size:12px;line-height:1.5}.preview-dialog button:disabled{cursor:wait}.gallery-art{transition:transform .26s var(--ease-out,ease-out)}.art-button:focus-visible .gallery-art,.art-button:hover .gallery-art{transform:scale(1.015)}.art-button:disabled,.gallery-card .icon-button:disabled{cursor:wait}.empty-gallery,.gallery-notice{animation:gallery-feedback-enter .22s ease-out both}.gallery-loading{display:grid;gap:18px;color:var(--muted);font-size:13px}.gallery-loading-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.gallery-loading-card{min-height:360px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(105deg,color-mix(in srgb,var(--canvas-raised) 70%,transparent) 30%,color-mix(in srgb,var(--accent) 8%,var(--canvas-raised)) 45%,color-mix(in srgb,var(--canvas-raised) 70%,transparent) 60%);background-size:220% 100%;animation:gallery-loading 1.35s ease-in-out infinite}@keyframes gallery-loading{to{background-position-x:-220%}}@keyframes gallery-feedback-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.empty-gallery,.gallery-loading-card,.gallery-notice{animation:none}.art-button:after,.expand-badge,.gallery-art,.gallery-card,.gallery-grid,.preview-backdrop,.preview-dialog{transition:none}}@media (max-width:900px){.gallery-grid,.gallery-loading-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.preview-dialog{grid-template-columns:1fr}.preview-dialog .gallery-art{min-height:380px}}@media (max-width:580px){.gallery-loading-grid{grid-template-columns:1fr}.gallery-page{padding-top:36px}.gallery-header{align-items:start;flex-direction:column}.gallery-grid{grid-template-columns:1fr}.gallery-grid .gallery-art{min-height:0}.gallery-toolbar{align-items:stretch;flex-direction:column}.gallery-sort{width:100%}.preview-backdrop{place-items:stretch;padding:0}.preview-dialog{width:100vw;height:100dvh;max-height:100dvh;border:0;border-radius:0}.preview-dialog .gallery-art{width:100%;min-height:0}.preview-details{padding:52px 22px 23px}}