:root{--desktop:#eaedf1;--sidebar:#f4f5f7;--paper:#fff;--ink:#1d1d1f;--muted:#86868b;--blue:#007aff;--line:rgba(37,44,57,.09);--ease:cubic-bezier(.22,.68,0,1);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--desktop);height:100vh;height:100dvh;overflow:hidden;display:grid;place-items:center;-webkit-font-smoothing:antialiased;background-image:radial-gradient(ellipse at 48% 5%,#f5f7fa 0,transparent 64%)}
button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{color:inherit;cursor:pointer}button,a{touch-action:manipulation}button{border:0}button:focus-visible,a:focus-visible{outline:3px solid #007aff;outline-offset:4px}button:disabled{cursor:default}button[hidden],section[hidden],[hidden]{display:none!important}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.icon{height:20px;width:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.app-window{width:68vw;height:84vh;height:84dvh;display:grid;grid-template-columns:184px minmax(0,1fr);grid-template-rows:57px minmax(0,1fr);background:var(--paper);border:1px solid rgba(96,107,122,.24);border-radius:19px;overflow:hidden;box-shadow:0 28px 65px -22px rgba(42,53,73,.32),0 6px 18px -9px rgba(42,53,73,.18),0 1px 1px rgba(255,255,255,.8) inset;position:relative;isolation:isolate;animation:window-in .5s var(--ease)}
.toolbar{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 20px;background:linear-gradient(180deg,#f5f6f8 0,#eceef2 100%);border-bottom:1px solid rgba(80,90,110,.13);z-index:3;user-select:none}.brand{display:flex;align-items:center;gap:11px;min-width:0;white-space:nowrap}.window-dots{display:flex;gap:8px;align-items:center}.window-dots i{height:11px;width:11px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);background:#ff6058}.window-dots i:nth-child(2){background:#ffbd2e}.window-dots i:nth-child(3){background:#28c840}.toolbar-divider{height:22px;width:1px;background:var(--line);margin:0 3px 0 9px}.brand-icon{color:#727984;height:21px;width:21px}.brand-name{font-size:15px;letter-spacing:.02em;font-weight:600}.toolbar-actions{display:flex;gap:12px;align-items:center}.search-field{width:235px;height:32px;display:flex;align-items:center;gap:7px;padding:0 9px;background:rgba(255,255,255,.6);border:1px solid #cdd1d9;border-radius:8px;box-shadow:0 1px 2px rgba(30,40,60,.03);transition:border-color .18s,box-shadow .18s}.search-field:focus-within{border-color:#5b9cf5;box-shadow:0 0 0 3px rgba(0,122,255,.11)}.search-field>.icon{width:17px;height:17px;color:#858b97}.search-field input{width:100%;min-width:0;border:0;background:transparent;outline:none;font-size:12px;color:var(--ink);padding:0}.search-field input::placeholder{color:#8d929e}.search-field input::-webkit-search-cancel-button{display:none}.search-shortcut{font-family:inherit;font-size:11px;color:#a5aab2;border:1px solid #dce0e5;border-radius:3px;width:15px;text-align:center}.clear-search{background:transparent;color:#8e939b;display:grid;place-items:center;padding:1px}.clear-search .icon{height:14px;width:14px}.icon-button{height:34px;width:34px;display:inline-grid;place-items:center;border-radius:7px;background:transparent;color:inherit;text-decoration:none;transition:background .16s,opacity .16s}.icon-button:hover{background:rgba(110,120,140,.1)}.icon-button:active{background:rgba(110,120,140,.18)}.mobile-menu{display:none}
.sidebar{grid-column:1;grid-row:2;background:linear-gradient(135deg,#f3f5f8,#eff1f4);border-right:1px solid rgba(42,51,65,.055);padding:18px 12px 16px;display:flex;flex-direction:column;min-height:0;z-index:2}.sidebar nav{min-height:0;overflow:auto;scrollbar-width:thin}.nav-row{width:100%;height:38px;border-radius:7px;background:transparent;display:flex;align-items:center;gap:10px;text-align:left;padding:0 10px;font-size:12px;white-space:nowrap;transition:background .16s,color .16s}.nav-row:hover{background:rgba(60,70,90,.055)}.nav-row .icon{width:18px;height:18px;color:#78818e;stroke-width:1.45}.nav-row .nav-count{margin-left:auto;font-size:11px;color:#9299a4;font-variant-numeric:tabular-nums}.nav-row[aria-current="page"]{background:#d7e7fd;color:#006ee6;font-weight:550}.nav-row[aria-current="page"] .icon,.nav-row[aria-current="page"] .nav-count{color:#007aff}.nav-section{font-size:10px;letter-spacing:.03em;font-weight:600;color:#9298a3;padding:0 11px;margin:25px 0 9px}.sidebar-footer{margin-top:auto;display:flex;align-items:center;gap:6px;padding:22px 10px 0;font-size:10px;color:#9299a4;white-space:nowrap}.library-dot{height:5px;width:5px;border-radius:50%;background:#a0abbc}.sidebar-scrim{display:none}
.main-panel{grid-column:2;grid-row:2;min-width:0;min-height:0;display:flex;flex-direction:column}.content-heading{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:25px 28px 22px;gap:15px}.content-heading h1{font-size:25px;font-weight:650;line-height:1.25;letter-spacing:-.035em;margin:0 0 7px}.content-heading p{font-size:11px;margin:0;color:var(--muted);line-height:1.5}.view-label{font-size:10px;color:#a4a9b1;display:flex;align-items:center;gap:6px;white-space:nowrap}.view-label .icon{height:13px;width:13px;stroke-width:1.5}.gallery-scroll{overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;min-height:0;flex:1;padding:0 28px;scrollbar-width:thin;scrollbar-color:#c5c9d1 transparent;scrollbar-gutter:stable}.gallery-scroll::-webkit-scrollbar{width:7px}.gallery-scroll::-webkit-scrollbar-thumb{background:#c8cbd1;border:2px solid #fff;border-radius:10px}.gallery{position:relative;width:100%;--gap:18px;--min-tile:175px;--max-columns:5}.card{position:absolute;top:0;left:0;margin:0}.image-card{display:block;width:100%;padding:0;text-align:left;background:transparent;border-radius:10px;outline-offset:4px}.image-wrap{display:block;position:relative;width:100%;overflow:hidden;border-radius:10px;background:#f2f3f5;box-shadow:0 0 0 1px rgba(0,0,0,.025) inset}.image-wrap img{display:block;width:100%;height:100%;object-fit:contain;transition:filter .2s var(--ease);color:#747b86;font-size:12px}.image-card:hover .image-wrap img{filter:brightness(.96)}.image-wrap:after{content:"";position:absolute;inset:0;border:1px solid rgba(0,0,0,.035);border-radius:inherit;pointer-events:none}.expand-cue{position:absolute;right:9px;bottom:9px;display:grid;place-items:center;width:27px;height:27px;border-radius:7px;background:rgba(255,255,255,.86);color:#363c46;opacity:0;transform:translateY(3px);transition:opacity .18s,transform .18s;box-shadow:0 2px 8px #0001}.expand-cue .icon{height:14px;width:14px}.image-card:hover .expand-cue,.image-card:focus-visible .expand-cue{opacity:1;transform:translateY(0)}.animated-badge{position:absolute;top:8px;left:8px;border-radius:4px;background:#23262c9c;color:#fff;font-size:9px;padding:3px 5px;letter-spacing:.04em}.card-caption{display:flex;align-items:center;height:32px;padding:0 2px;min-width:0;gap:5px}.card-title{font-size:10.5px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-weight:450;line-height:1.4;color:#50545d}.gallery-end{display:flex;align-items:center;justify-content:center;gap:14px;padding:25px 0 29px;color:#b0b4bc}.gallery-end span{height:1px;width:28px;background:#e5e7eb}.gallery-end p{font-size:10px;letter-spacing:.08em;margin:0}.empty-state{text-align:center;padding:82px 15px;color:#8e94a0}.empty-state>.icon{width:40px;height:40px;stroke-width:1.1;color:#b2bac7}.empty-state h2{font-size:17px;color:#555e6b;font-weight:500;margin:20px 0 9px}.empty-state p{font-size:12px;line-height:1.6}.empty-state button{background:#edf4ff;color:#007aff;border-radius:8px;padding:9px 14px;font-size:12px;margin-top:12px}
.lightbox{position:fixed;inset:0;width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:rgba(15,18,24,.94);color:#f5f6f8;overflow:hidden;outline:none;user-select:none}.lightbox[open]{display:flex;flex-direction:column;animation:preview-in .2s var(--ease)}.lightbox::backdrop{background:rgba(17,20,27,.65);backdrop-filter:blur(12px)}.preview-toolbar{position:relative;z-index:3;height:82px;flex-shrink:0;padding:22px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px;pointer-events:none;background:linear-gradient(#15182099,#15182000)}.preview-info,.preview-actions{pointer-events:auto}.preview-info{min-width:0}.preview-info h2{font-size:15px;line-height:1.4;font-weight:500;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:70vw}.preview-info p{font-size:11px;line-height:1.5;color:#949aa6;margin:6px 0 0;font-variant-numeric:tabular-nums}.preview-actions{display:flex;gap:14px;align-items:center}.preview-actions .icon-button{color:#bfc4ce}.preview-actions .icon-button:hover{background:#ffffff15;color:#fff}.close-preview{background:#ffffff0c}.preview-stage{position:relative;flex:1;min-height:0;overflow:hidden;display:flex;align-items:center;justify-content:center;touch-action:none;cursor:zoom-in;margin:0 80px}.preview-stage img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 15px 60px #0005;transform-origin:center;transition:transform .17s var(--ease);border-radius:2px;user-select:none;will-change:transform}.preview-stage.is-zoomed{cursor:grab}.preview-stage.is-dragging{cursor:grabbing}.preview-stage.is-dragging img{transition:none}.preview-nav{position:absolute;z-index:2;top:50%;transform:translateY(-50%);height:44px;width:44px;border:1px solid #ffffff0d;display:grid;place-items:center;border-radius:50%;background:#ffffff0b;color:#cbd0d8;transition:background .18s,color .18s,opacity .18s}.preview-nav:hover{background:#ffffff20;color:#fff}.preview-nav:disabled{opacity:.18}.previous{left:24px}.next{right:24px}.preview-footer{z-index:3;height:78px;flex-shrink:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:12px 30px;color:#9299a6;font-size:11px;gap:20px;pointer-events:none}.preview-footer>*{pointer-events:auto}.preview-counter{font-variant-numeric:tabular-nums}.preview-hint{text-align:right;font-size:10px;color:#707988}.zoom-controls{display:flex;align-items:center;gap:3px;border:1px solid #ffffff12;background:#232731ee;padding:3px;border-radius:11px;box-shadow:0 6px 30px #0003}.zoom-controls .icon-button{height:30px;width:32px;color:#bdc4d0}.zoom-controls .icon-button:hover{background:#ffffff10;color:#fff}.zoom-controls .icon-button:disabled{opacity:.25}.zoom-controls .icon{height:16px;width:16px}.zoom-value{font-size:11px;color:#c6cdd9;padding:7px 6px;min-width:51px;border-radius:5px;background:transparent;font-variant-numeric:tabular-nums}.zoom-value:hover{background:#ffffff10}.zoom-divider{height:15px;width:1px;background:#ffffff12;margin:0 4px}.image-error{position:absolute;inset:0;display:grid;place-items:center;font-size:13px;color:#b3bccb}.lightbox:focus-visible{outline:none}noscript{position:absolute;bottom:12px;font-size:13px}
@keyframes window-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes preview-in{from{opacity:0}to{opacity:1}}
@media(min-width:1700px){.app-window{grid-template-columns:200px minmax(0,1fr)}.gallery{--min-tile:210px}.nav-row{font-size:13px}.sidebar-footer{font-size:11px}.content-heading h1{font-size:27px}.card-title{font-size:12px}.content-heading p{font-size:12px}}
@media(max-width:1350px) and (min-width:1101px){.app-window{grid-template-columns:168px minmax(0,1fr)}.sidebar{padding-inline:9px}.nav-row{gap:8px;padding-inline:8px;font-size:11px}.content-heading{padding-inline:22px}.gallery-scroll{padding-inline:22px}.gallery{--min-tile:160px;--gap:15px}}
@media(max-width:1100px){.app-window{width:92vw;height:88dvh;grid-template-columns:175px minmax(0,1fr)}.content-heading{padding:23px 23px 20px}.gallery-scroll{padding-inline:23px}.gallery{--min-tile:170px;--gap:16px}.toolbar{padding-inline:17px}.search-field{width:210px}}
@media(max-width:700px){.app-window{width:94vw;height:94dvh;border-radius:15px;grid-template-columns:minmax(0,1fr);grid-template-rows:57px minmax(0,1fr)}.toolbar{gap:10px;padding:0 14px}.window-dots,.toolbar-divider{display:none}.brand{gap:8px}.brand-name{font-size:14px}.brand-icon{height:20px;width:20px}.toolbar-actions{gap:5px;flex:1;justify-content:flex-end}.mobile-menu{display:grid;flex-shrink:0}.search-field{width:min(180px,40vw);height:31px}.search-shortcut{display:none}.main-panel{grid-column:1}.sidebar{position:absolute;top:57px;bottom:0;left:0;width:208px;box-shadow:20px 0 45px #1520351f;z-index:5;transform:translateX(-110%);visibility:hidden;transition:transform .22s var(--ease),visibility .22s}.app-window.sidebar-open .sidebar{transform:translateX(0);visibility:visible}.sidebar-scrim{display:block;position:absolute;inset:57px 0 0;background:#16213a26;z-index:4;padding:0}.nav-row{font-size:13px;height:43px}.nav-section{font-size:11px}.sidebar-footer{font-size:11px}.content-heading{padding:23px 17px 19px}.content-heading h1{font-size:23px}.gallery-scroll{padding:0 17px}.gallery{--min-tile:130px;--max-columns:2;--gap:12px}.card-caption{height:32px}.card-title{font-size:10px}.image-wrap{border-radius:8px}.view-label{font-size:9px}.preview-toolbar{height:78px;padding:18px}.preview-info h2{font-size:13px;max-width:63vw}.preview-info p{font-size:10px}.preview-actions{gap:5px}.preview-stage{margin:0 14px}.preview-nav{height:34px;width:34px;background:#181d29ad;top:50%}.previous{left:18px}.next{right:18px}.preview-nav .icon{height:16px;width:16px}.preview-footer{height:77px;padding:12px 18px;grid-template-columns:1fr auto;gap:10px}.preview-hint{display:none}.zoom-controls .icon-button{width:29px}.zoom-value{min-width:45px}.preview-counter{font-size:10px}}
@media(max-width:360px){.brand-icon{display:none}.content-heading h1{font-size:21px}.gallery{--min-tile:110px}.search-field{width:135px}.toolbar{padding-inline:10px}.content-heading,.gallery-scroll{padding-left:13px;padding-right:13px}.card-title{font-size:9px}}
.gallery-size-control{display:flex;align-items:center;gap:5px;flex-shrink:0;margin-left:auto;color:#9299a4;user-select:none}.gallery-size-label{font-size:10px;white-space:nowrap;margin-right:5px}.size-step{display:grid;place-items:center;width:25px;height:28px;padding:0;background:transparent;border-radius:6px;color:#8a929f;transition:background .16s,color .16s}.size-step:hover:not(:disabled){background:#eff3f9;color:#007aff}.size-step:disabled{opacity:.3}.size-step .icon{width:14px;height:14px;stroke-width:1.6}#thumbnailSize{--range-progress:28.5714%;appearance:none;-webkit-appearance:none;width:106px;height:28px;margin:0;padding:0;background:transparent;cursor:pointer;touch-action:pan-y;outline-offset:3px;border-radius:5px}#thumbnailSize:focus-visible{outline:2px solid #007aff}#thumbnailSize::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:linear-gradient(to right,#4393f7 0 var(--range-progress),#dde2e9 var(--range-progress) 100%);box-shadow:inset 0 1px 1px #00000006}#thumbnailSize::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;margin-top:-5px;width:14px;height:14px;border-radius:50%;background:#fff;border:1px solid #cfd5de;box-shadow:0 1px 3px #17223926;transition:box-shadow .16s}#thumbnailSize:hover::-webkit-slider-thumb{box-shadow:0 1px 4px #17223933}#thumbnailSize:active::-webkit-slider-thumb{border-color:#74a9f1;box-shadow:0 0 0 3px #007aff12}#thumbnailSize::-moz-range-track{height:4px;border:0;border-radius:4px;background:#dde2e9}#thumbnailSize::-moz-range-progress{height:4px;border-radius:4px;background:#4393f7}#thumbnailSize::-moz-range-thumb{width:13px;height:13px;border-radius:50%;background:#fff;border:1px solid #cfd5de;box-shadow:0 1px 3px #17223926}
@media(max-width:700px){.content-heading{flex-wrap:wrap;gap:12px;padding-bottom:16px}.gallery-size-control{flex:1 1 100%;margin:0}.gallery-size-label{margin-right:auto;font-size:11px}#thumbnailSize{width:130px}.size-step{width:28px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
