:root{--cc-bg:#191522;--cc-panel:#241d31;--cc-text:#f3edf8;--cc-muted:#b9aec8;--cc-accent:#9dd7c5;--cc-accent-hover:#b4e5d6;--cc-line:#3a3147;--cc-active:#343342;--cc-frame:#f2eee6;--cc-ink:#342e36;--cc-warn:#e9c98b;--cc-danger:#e58b99;--cc-danger-hover:#eda5b0;--cc-viewer:#100e14;--cc-viewer-line:#25212c;--cc-viewer-btn:#211c29;--cc-viewer-btn-line:#37313f;--cc-viewer-btn-hover:#38303f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--cc-bg)}body{color:var(--cc-text);font:14px/1.5 IBM Plex Sans,system-ui,-apple-system,Segoe UI,sans-serif}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}button:disabled{cursor:default}input,select,textarea{font:inherit;color:inherit}a{color:var(--cc-accent)}:focus-visible{outline:2px solid var(--cc-accent);outline-offset:4px}[hidden]{display:none!important}h1,h2,h3{font-weight:500}h1{letter-spacing:-.5px;font-size:29px;line-height:1.25}h2{letter-spacing:-.3px;font-size:23px;line-height:1.25}h3{font-size:15px}.icon{flex-shrink:0;width:17px;height:17px}.app{max-width:1040px;margin:0 auto;padding:25px 28px 18px}.footer{color:var(--cc-muted);text-align:right;opacity:.7;margin-top:11px;font-size:10px}.masthead{justify-content:space-between;align-items:center;gap:18px;padding-bottom:23px;display:flex}.brand{letter-spacing:-.5px;color:var(--cc-accent);font-size:28px;font-weight:500;line-height:1.2}.brand-sub{letter-spacing:.8px;color:var(--cc-muted);margin-top:6px;font-size:11px}.account{align-items:center;gap:18px;display:flex}.languages{gap:10px;display:flex}.languages button{color:var(--cc-muted);border-bottom:1px solid #0000;padding:5px 0;font-size:11px}.languages button.active{color:var(--cc-text);border-bottom-color:var(--cc-accent)}.profile{position:relative}.profile-button{color:var(--cc-muted);align-items:center;gap:8px;font-size:12px;display:flex}.profile-button:hover{color:var(--cc-text)}.avatar{border:1px solid var(--cc-line);width:30px;height:30px;color:var(--cc-accent);background:var(--cc-panel);border-radius:50%;place-items:center;display:grid}.profile-menu{border:1px solid var(--cc-line);background:var(--cc-panel);z-index:20;border-radius:8px;width:190px;padding:8px;position:absolute;top:42px;right:0;box-shadow:0 10px 35px #0005}.profile-who{border-bottom:1px solid var(--cc-line);margin-bottom:6px;padding:6px 10px 10px}.profile-who strong{overflow-wrap:anywhere;font-weight:500;display:block}.profile-who span{color:var(--cc-accent);font-size:11px}.profile-menu button{text-align:left;border-radius:5px;align-items:center;gap:10px;width:100%;padding:10px;font-size:13px;display:flex}.profile-menu button:hover{background:var(--cc-active)}.topnav{border-bottom:1px solid var(--cc-line);background:var(--cc-panel);border-radius:8px 8px 0 0;align-items:stretch;gap:27px;min-height:52px;padding:0 20px;display:flex;overflow-x:auto}.topnav button{color:var(--cc-muted);white-space:nowrap;border-bottom:2px solid #0000;padding:15px 2px;font-size:13px;font-weight:500}.topnav button:focus-visible{outline-offset:-2px}.topnav button.active{color:var(--cc-accent);border-bottom-color:var(--cc-accent)}.topnav button:not(:disabled):hover{color:var(--cc-text)}.topnav button:disabled{opacity:.6}.soon{vertical-align:super;margin-left:4px;font-size:9px;font-weight:400}.surface{background:var(--cc-panel);border-radius:0 0 8px 8px;min-height:480px}.action{background:var(--cc-accent);color:var(--cc-bg);white-space:nowrap;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;gap:8px;padding:10px 15px;font-size:13px;font-weight:500;display:inline-flex}.action:hover:not(:disabled){background:var(--cc-accent-hover)}.action.secondary{border-color:var(--cc-line);color:var(--cc-text);background:0 0}.action.secondary:hover:not(:disabled){background:var(--cc-active)}.action.danger{border-color:var(--cc-danger);color:var(--cc-danger);background:0 0}.action.danger:hover:not(:disabled){background:#e58b991a}.action.danger.solid{background:var(--cc-danger);color:var(--cc-bg)}.action.danger.solid:hover:not(:disabled){background:var(--cc-danger-hover)}.action:disabled{opacity:.45}label.action{cursor:pointer}.text-link{color:var(--cc-accent);align-items:center;gap:6px;padding:4px 0;font-size:12px;display:inline-flex}.text-link:hover{text-decoration:underline}.field{border:1px solid var(--cc-line);background:var(--cc-bg);color:var(--cc-text);border-radius:5px;min-width:0;padding:9px 12px;font-size:13px}.field:focus-visible{outline-offset:1px}.error{color:var(--cc-danger);margin:0 0 14px;font-size:13px}.empty{color:var(--cc-muted);padding:10px 0}.hint{color:var(--cc-danger);margin:-8px 0 16px;font-size:12px}.home{padding:33px 30px 30px}.welcome{border-bottom:1px solid var(--cc-line);justify-content:space-between;align-items:center;gap:25px;padding-bottom:30px;display:flex}.welcome p{max-width:440px;color:var(--cc-muted);margin-top:10px;line-height:1.6}.section-heading{justify-content:space-between;align-items:center;gap:12px;margin:25px 0 20px;display:flex}.home-albums{grid-template-columns:repeat(3,minmax(0,212px));gap:25px;display:grid}.home-footer{color:var(--cc-muted);align-items:center;gap:8px;margin-top:27px;font-size:11px;display:flex}.photo-shell{grid-template-columns:178px minmax(0,1fr);min-height:480px;display:grid}.photo-shell aside{border-right:1px solid var(--cc-line);padding:24px 12px}.photo-shell aside h3{margin:0 10px 12px;font-size:12px}.folder-list{flex-direction:column;gap:2px;display:flex}.folder{text-align:left;width:100%;color:var(--cc-muted);overflow-wrap:anywhere;border-radius:5px;padding:7px 10px;font-size:12px;display:block}.folder.selected{background:var(--cc-active);color:var(--cc-accent);font-weight:500}.folder:hover{color:var(--cc-text);background:var(--cc-active)}.folder small{opacity:.7;margin-left:4px}.main{min-width:0;padding:26px}.mainhead{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:23px;display:flex}.mainhead-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.title-row{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.subtitle{color:var(--cc-muted);margin-top:7px;font-size:12px}.breadcrumb{margin-bottom:16px}.mobile-folders{display:none}.rename-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rename-form .field{min-width:220px;font-size:16px}.album-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:23px;display:grid}.slide{aspect-ratio:212/210;background:linear-gradient(#fff8,#0000 72%,#0000000c 96%,#00000018);background-color:var(--cc-frame);border:1px solid #00000020;border-radius:5px;width:100%;min-width:0;max-width:212px;padding:0;transition:transform .14s,box-shadow .14s;display:block;position:relative;overflow:hidden;box-shadow:0 3px 7px #0003,inset 0 -2px 1px #fff7}.slide:hover{transform:translateY(-3px);box-shadow:0 6px 12px #0004}.slot{background:var(--cc-panel);clip-path:polygon(34% 0,66% 0,66% 40%,100% 40%,100% 100%,0 100%,0 40%,34% 40%);border-radius:0 0 3px 3px;width:13%;height:9%;position:absolute;top:-1%;left:10%}.slot.right{left:auto;right:10%}.vent{opacity:.8;background-image:radial-gradient(#b6b5b2 35%,#0000 38%);background-size:3px 3px;width:7%;height:5.5%;position:absolute;top:4%;left:46%}.slide-cover{color:#8c8492;background:#e3ddd1;border:1px solid #00000012;place-items:center;width:84%;height:54%;display:grid;position:absolute;top:16%;left:7%;overflow:hidden}.slide-cover img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.slide-cover .icon{width:34px;height:34px}.caption{text-align:center;color:var(--cc-ink);overflow-wrap:anywhere;font:700 12px/1.3 Courier New,monospace;position:absolute;bottom:8%;left:5%;right:5%}.badge{z-index:2;background:var(--cc-bg);color:var(--cc-accent);border-radius:9px;padding:1px 7px;font-size:10px;font-weight:500;line-height:1.5;position:absolute;top:18%;right:9%}.badge.pending{color:var(--cc-warn)}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.photo-frame{background:var(--cc-frame);border-radius:3px;width:100%;min-width:0;padding:11px;transition:transform .14s;display:block;position:relative;box-shadow:0 3px 9px #0003}.photo-frame:hover{transform:translateY(-3px)}.photo-frame img,.photo-frame video{aspect-ratio:1;-o-object-fit:cover;object-fit:cover;background:#e3ddd1;width:100%;display:block}.play{z-index:2;color:var(--cc-text);background:#100e14cc;border-radius:4px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;display:flex;position:absolute;top:19px;right:19px}.play .icon{width:11px;height:11px}.selectable{outline:2px dashed var(--cc-danger);outline-offset:3px}.selectable.selected{outline:3px solid var(--cc-danger)}.check{z-index:3;background:var(--cc-bg);border:2px solid var(--cc-danger);width:22px;height:22px;color:var(--cc-danger);border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:grid;position:absolute}.slide .check{top:18%;left:9%}.photo-frame .check{top:18px;left:18px}.selected .check{background:var(--cc-danger);color:var(--cc-bg)}.photo-frame .badge{inset:auto auto 18px 18px}.skel{background:linear-gradient(100deg,var(--cc-active) 30%,#9dd7c524 50%,var(--cc-active) 70%);background-size:300% 100%;border-radius:5px;animation:1.3s ease-in-out infinite shimmer}.skel.slide-skel{aspect-ratio:212/210;max-width:212px}.skel.photo-skel{aspect-ratio:1}@keyframes shimmer{0%{background-position:150% 0}to{background-position:-150% 0}}.progress{background:var(--cc-bg);border:1px solid var(--cc-line);border-radius:5px;height:24px;margin-bottom:18px;position:relative;overflow:hidden}.progress-bar{background:var(--cc-accent);opacity:.85;height:100%;transition:width .3s}.progress-label{color:var(--cc-text);text-shadow:0 1px 2px #0008;place-items:center;font-size:11px;font-weight:500;display:grid;position:absolute;inset:0}.access{border:1px solid var(--cc-line);border-radius:8px;margin-bottom:22px;padding:16px}.access h3{margin-bottom:12px;font-size:13px}.access-add{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.access-add .field{flex:220px;max-width:320px}.access-list{flex-direction:column;gap:6px;list-style:none;display:flex}.access-list li{background:var(--cc-bg);border:1px solid var(--cc-line);border-radius:5px;justify-content:space-between;align-items:center;gap:12px;max-width:380px;padding:6px 12px;font-size:13px;display:flex}.access .muted{color:var(--cc-muted);font-size:12px}.dialog{z-index:50;background:#100e14dc;justify-content:center;align-items:flex-start;padding:14vh 20px 20px;display:flex;position:fixed;inset:0}.dialog-card{background:var(--cc-panel);border:1px solid var(--cc-line);border-radius:10px;width:360px;max-width:100%;padding:24px;box-shadow:0 12px 45px #0006}.dialog-card p{line-height:1.55}.dialog-card label{color:var(--cc-muted);margin-top:20px;font-size:12px;display:block}.dialog-card .field{width:100%;margin-top:7px;padding:10px 12px;font-size:16px;display:block}.dialog-card .error{margin:14px 0 0}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.viewer-backdrop{z-index:40;background:var(--cc-bg);padding:25px 28px;position:fixed;inset:0;overflow:auto}.viewer{background:var(--cc-viewer);max-width:1040px;color:var(--cc-text);border-radius:8px;margin:0 auto;overflow:hidden}.viewer-bar{border-bottom:1px solid var(--cc-viewer-line);justify-content:space-between;align-items:center;gap:16px;padding:17px 20px;display:flex}.viewer-title{overflow-wrap:anywhere;font-size:14px;font-weight:500}.viewer-subtitle{color:var(--cc-muted);margin-top:3px;font-size:11px}.viewer-tools{align-items:center;gap:10px;display:flex}.viewer-tools .action.secondary{border-color:var(--cc-viewer-btn-line);padding:8px 12px;font-size:12px}.icon-button{border:1px solid var(--cc-viewer-btn-line);background:var(--cc-viewer-btn);color:var(--cc-text);border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.icon-button:hover{background:var(--cc-viewer-btn-hover)}.viewer-stage{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:18px;padding:20px;display:grid}.viewer-media{place-items:center;min-width:0;display:grid}.viewer-media img,.viewer-media video{-o-object-fit:contain;object-fit:contain;width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 280px);display:block}.viewer-bottom{text-align:center;color:var(--cc-muted);padding:5px 20px 12px;font-size:12px}.viewer-thumbs{scrollbar-width:thin;gap:9px;padding:0 20px 20px;display:flex;overflow-x:auto}.viewer-thumbs:before,.viewer-thumbs:after{content:"";margin:auto}.viewer-thumbs button{border:2px solid #0000;border-radius:4px;flex:none;padding:2px}.viewer-thumbs button.active{border-color:var(--cc-accent)}.viewer-thumbs img,.viewer-thumbs .thumb-video{-o-object-fit:cover;object-fit:cover;background:var(--cc-viewer-btn);border-radius:1px;place-items:center;width:38px;height:38px;display:grid}.viewer-thumbs .thumb-video .icon{width:14px;height:14px}.mod-section{margin-bottom:28px}.mod-section h3{margin-bottom:12px}.modrow{border:1px solid var(--cc-line);background:var(--cc-bg);border-radius:8px;align-items:center;gap:14px;margin-bottom:10px;padding:10px 12px;display:flex}.modrow .thumb{-o-object-fit:cover;object-fit:cover;background:#000;border-radius:4px;width:96px;height:64px;display:block}.modrow .meta{flex:1;min-width:0}.modrow .who{overflow-wrap:anywhere;font-weight:500}.modrow .sub{color:var(--cc-muted);margin-top:2px;font-size:12px}.modrow .acts{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.modrow .acts .action{padding:7px 12px;font-size:12px}.mini-select{max-width:170px;padding:7px 8px;font-size:12px}.mod-bulk{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.mod-bulk .action{padding:7px 12px;font-size:12px}.select-all{cursor:pointer;align-items:center;gap:8px;margin-right:auto;font-size:12px;display:inline-flex}.modrow input[type=checkbox],.select-all input{accent-color:var(--cc-accent);cursor:pointer;flex:none;width:17px;height:17px}.modrow.ticked{border-color:var(--cc-accent)}.center-page{place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{background:var(--cc-panel);border:1px solid var(--cc-line);text-align:center;border-radius:10px;width:360px;max-width:100%;padding:34px 30px}.login-card .brand{font-size:30px}.login-card .brand-sub{margin:6px 0 26px}.login-card p{color:var(--cc-muted);margin-bottom:20px}.login-card .action{width:100%}@media (width<=760px){.app{padding:19px 12px 13px}.photo-shell{grid-template-columns:145px minmax(0,1fr)}.main{padding:22px 18px}.album-grid{gap:14px}.caption{font-size:11px}.photo-grid{gap:15px}.home{padding:28px 23px}.welcome{flex-direction:column;align-items:flex-start;gap:19px}.welcome p{max-width:100%}.home-albums{gap:18px}}@media (width<=540px){.brand{font-size:23px}.account{gap:10px}.profile-name{display:none}.languages{gap:7px}.masthead{gap:10px;padding-bottom:20px}.topnav{gap:17px;min-height:46px;padding:0 10px}.topnav button{padding:12px 0;font-size:12px}.soon{display:none}.surface{min-height:0}.photo-shell{min-height:0;display:block}.photo-shell aside{display:none}.home{padding:26px 17px}h1{font-size:26px}.home-albums{grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 15px}.main{padding:21px 16px}.mainhead{align-items:flex-start}.album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 15px}.photo-grid{grid-template-columns:minmax(0,1fr);gap:22px}.photo-frame{padding:12px}.photo-frame img,.photo-frame video{aspect-ratio:1.1}.action{padding:9px 12px;font-size:12px}.home-footer{align-items:flex-start}.home-footer .icon{margin-top:2px}.mobile-folders{border-bottom:1px solid var(--cc-line);padding:12px 16px;display:block}.mobile-folders summary{cursor:pointer;color:var(--cc-accent);align-items:center;gap:8px;min-height:26px;font-size:13px;list-style:none;display:flex}.mobile-folders summary::-webkit-details-marker{display:none}.mobile-folders .folder-current{color:var(--cc-muted);margin-left:auto;font-size:11px}.mobile-folders .folder-list{padding-top:10px}.viewer-backdrop{padding:19px 12px 13px}.viewer-bar{padding:14px 12px}.viewer-stage{grid-template-columns:36px minmax(0,1fr) 36px;gap:5px;padding:15px 8px}.viewer-media img,.viewer-media video{max-height:calc(100dvh - 235px)}.viewer-stage .icon-button{border-radius:8px;width:34px;height:42px}.viewer-thumbs{gap:5px;padding:0 10px 20px}.viewer-thumbs img,.viewer-thumbs .thumb-video{width:31px;height:31px}.modrow{flex-wrap:wrap}.modrow .acts{justify-content:flex-start}.rename-form .field{width:100%;min-width:0}}@media (prefers-reduced-motion:reduce){.slide,.photo-frame{transition:none}.skel{animation:none}}
