:root{--bg:#101525;--surface:#151c2e;--text:#e2e6ef;--muted:#8992a6;--line:#252d40;--accent:#7cd9ca;--skeleton:#192136;color:var(--text);background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;font-family:system-ui,PingFang SC,Microsoft YaHei,sans-serif}:root[data-theme=light]{--bg:#f5f6f8;--surface:#fff;--text:#242b38;--muted:#8a93a2;--line:#e6e9ef;--skeleton:#e9edf3;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{margin:0}button,select{font:inherit;color:inherit;cursor:pointer}button:disabled{opacity:.4;cursor:default}button:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.gallery-shell{max-width:1920px;margin:auto;padding:24px 24px 0}.masonry{grid-template-columns:repeat(var(--columns),minmax(0,1fr));align-items:start;gap:20px;display:grid}.masonry-column{min-width:0}.work-card{border:1px solid var(--line);background:var(--surface);border-radius:10px;margin:0 0 20px;overflow:hidden}.artwork{background:var(--skeleton);text-align:left;border:0;width:100%;min-height:50px;padding:0;display:block;position:relative;overflow:hidden}.artwork img{object-fit:cover;width:100%;height:100%;transition:filter .2s;display:block}.artwork:hover img{filter:brightness(.93)}.media-placeholder{color:var(--muted);place-items:center;font-size:12px;display:grid;position:absolute;inset:0}.video-pill{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b1126b8;border-radius:16px;padding:5px 9px;font-size:11px;position:absolute;bottom:12px;left:12px}.card-caption{flex-direction:column;gap:5px;padding:11px 13px;font-size:12px;display:flex}.dimensions{color:var(--muted);font-size:11px}.text-button{color:var(--muted);background:0 0;border:0;padding:0 13px 12px;font-size:11px}.load-state{text-align:center;color:var(--muted);min-height:40px;padding:22px 0;font-size:12px}.load-state:empty{min-height:1px;padding:0}.load-state button{border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:7px 14px}.empty-state{text-align:center;color:var(--muted);margin:90px 0;font-size:13px}.skeleton-grid{grid-template-columns:repeat(var(--columns),minmax(0,1fr));gap:20px;display:grid}.skeleton-art{background:var(--skeleton);border-radius:10px;height:330px;animation:1.5s infinite breathe}.skeleton-art:nth-child(2n){height:430px}@keyframes breathe{50%{opacity:.5}}.lightbox{color:#e6e9e0;background:#0c100dfa;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;overflow:hidden}.lightbox::backdrop{background:#080b09f5}.lightbox[open]{grid-template-rows:78px minmax(0,1fr) 95px;display:grid}.lightbox-header,.lightbox-footer{justify-content:space-between;align-items:center;gap:20px;padding:0 38px;display:flex}.lightbox-tools{align-items:center;gap:6px;display:flex}.lightbox button{color:#e6e9e0;background:0 0;border:1px solid #394238;border-radius:40px;min-width:40px;padding:9px 14px}.lightbox .close-button{margin-left:18px}.lightbox-stage{touch-action:pan-y;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.lightbox-stage>img,.lightbox-stage>video{object-fit:contain;max-width:calc(100% - 100px);max-height:100%;display:block}.lightbox-stage>img{transition:filter .3s}.preview-loading{filter:blur(4px)}.loading-note{background:#152018d9;border-radius:20px;padding:8px 15px;font-size:11px;position:absolute;bottom:20px}.lightbox-footer h2{letter-spacing:1px;margin:0 0 7px;font-size:15px;font-weight:400}.lightbox-footer span{color:#8e9b8e;font-family:monospace;font-size:11px}.lightbox-footer i{margin:0 10px;font-style:normal}.lightbox-footer nav{gap:10px;display:flex}.preview-error{text-align:center;background:#151d16ed;border-radius:6px;padding:20px;font-size:12px;position:absolute}.eyebrow{color:#8992a6;letter-spacing:1px;font-family:monospace;font-size:11px}.work-card{transition:transform .25s,box-shadow .25s,border-color .25s;position:relative}.artwork img{transition:transform .35s,filter .25s;animation:.45s both artwork-reveal}@keyframes artwork-reveal{0%{opacity:0}to{opacity:1}}@media (hover:hover) and (pointer:fine){.work-card:hover{z-index:2;border-color:var(--accent);transform:translateY(-5px);box-shadow:0 12px 28px #0002}.work-card:hover .artwork img{filter:brightness(1.03);transform:scale(1.035)}}.work-card:focus-within{box-shadow:0 0 0 2px var(--accent)}.floating-refresh.is-refreshing svg{animation:.8s linear infinite refresh-turn}@keyframes refresh-turn{to{transform:rotate(360deg)}}@media (width<=600px){.gallery-shell{padding:12px 12px 0}.masonry,.skeleton-grid{gap:12px}.work-card{border-radius:7px;margin-bottom:12px}.card-caption{padding:9px 10px;font-size:11px}.dimensions{font-size:10px}.video-pill{padding:4px 7px;font-size:10px;bottom:8px;left:8px}.skeleton-art{height:210px}.skeleton-art:nth-child(2n){height:280px}.lightbox[open]{grid-template-rows:60px minmax(0,1fr) 85px}.lightbox-header,.lightbox-footer{padding:0 14px}.lightbox-stage>img,.lightbox-stage>video{max-width:100%}.lightbox button{min-width:32px;padding:7px 10px;font-size:12px}.lightbox .close-button{margin-left:7px}.lightbox-footer h2{font-size:13px}.lightbox-footer span{font-size:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.floating-actions{right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:20;flex-direction:column;align-items:center;gap:12px;display:flex;position:fixed}.floating-actions button{border:1px solid var(--line);border-radius:50%;place-items:center;transition:transform .2s,background .2s;display:grid;position:relative;box-shadow:0 4px 20px #0002}.floating-actions button:hover{transform:translateY(-2px)}.floating-theme{background:var(--surface);width:42px;height:42px;color:var(--text)}.floating-refresh{color:#122b29;background:#61d6c3;width:52px;height:52px;border-color:#0000!important}.auto-mark{font-size:8px;font-weight:700;position:absolute;bottom:3px;right:5px}.end-label{letter-spacing:1px;padding:12px 70px 36px;display:block}.load-state{padding-bottom:28px}@media (width<=600px){.floating-actions{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));gap:10px}.floating-refresh{width:46px;height:46px}.floating-theme{width:38px;height:38px}}
