:root{font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif;color:#202529;background:#fff;font-size:16px;font-synthesis:none;color-scheme:light;--accent:#176c62;--line:#e6e9e9;--muted:#697477}*{box-sizing:border-box;letter-spacing:0}body{margin:0}button,input,select{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);background:#fff;color:inherit;border-radius:6px;min-height:44px;padding:10px 16px}button:disabled{opacity:.42;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #5b9bdf;outline-offset:2px}button:hover:not(:disabled){background:#f1f5f4}button.primary,.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button.primary:hover:not(:disabled){background:#12584f}svg{width:24px;height:24px;flex-shrink:0;stroke-width:1.8}h1,h2,p{margin:0}h1{font-size:25px;line-height:1.25}h2{font-size:19px;line-height:1.4}[hidden]{display:none!important}.initial{padding:60px 24px;text-align:center}.icon-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;padding:0;border:0;background:transparent;border-radius:6px;color:inherit;text-decoration:none}.icon-button.accent{background:var(--accent);color:#fff}.icon-button.selected{color:var(--accent);background:#eaf4f1}.auth{max-width:420px;margin:8vh auto 0;padding:24px 24px max(24px,env(safe-area-inset-bottom))}.auth-brand{display:flex;align-items:center;gap:12px}.auth-brand>svg{width:34px;height:34px;color:var(--accent)}.auth-quota{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--line);padding:28px 0 24px;margin-bottom:24px}.auth-quota>span{color:var(--muted)}.auth-quota strong{font-size:38px;font-weight:650}.auth-quota small{font-size:20px}label{display:grid;gap:8px;font-size:14px;font-weight:550}input{width:100%;min-width:0;border:1px solid #cdd5d5;border-radius:6px;background:#fff;color:#202529;min-height:46px;padding:10px 12px;font-size:16px}form{display:grid;gap:18px}.auth-tabs{margin-bottom:24px}.segmented{display:flex;background:#f0f3f3;border-radius:6px;padding:3px;gap:2px}.segmented button{background:transparent;flex:1;border:0;min-height:40px;padding:8px 14px;white-space:nowrap}.segmented button.active{background:#fff;color:var(--accent);box-shadow:0 1px 3px #00000012;font-weight:650}.privacy-line{display:flex;align-items:center;justify-content:center;gap:6px;color:var(--muted);font-size:14px;margin-top:24px}.privacy-line svg{width:16px;height:16px}.storage-note{font-size:13px;color:var(--muted);line-height:1.65;margin-top:16px}.form-error{color:#a82936;font-size:14px;line-height:1.5}.form-error:empty{display:none}.shell{max-width:1280px;margin:auto;padding-bottom:100px}.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:max(16px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) 14px max(20px,env(safe-area-inset-left));background:#fff;border-bottom:1px solid var(--line)}.top>div:first-child{min-width:0}.top p{margin-top:5px;color:var(--muted);font-size:13px}.top-actions{display:flex;gap:4px}.library-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px}.library-controls>.segmented{min-width:240px}.search{display:flex;align-items:center;gap:8px;background:#f3f5f5;border-radius:6px;padding:0 10px;font-weight:400;max-width:360px;width:100%;color:var(--muted)}.search input{background:transparent;border:0;padding-left:0}.search svg{width:20px;height:20px}#content{padding:0 20px}#grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px}.date-heading{grid-column:1/-1;font-size:16px;padding:20px 0 10px;font-weight:600}.date-heading:first-child{padding-top:4px}.tile{position:relative;display:block;aspect-ratio:1;min-height:0;width:100%;padding:0;border:0;border-radius:0;background:#e9edef;overflow:hidden;contain:layout paint}.tile img{width:100%;height:100%;object-fit:cover;display:block}.tile img:not([src]){visibility:hidden}.duration{position:absolute;right:5px;bottom:5px;display:flex;align-items:center;gap:3px;font-size:12px;line-height:20px;color:#fff;background:#0008;padding:0 4px;border-radius:3px}.duration svg{width:12px;height:12px}.missing{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;color:#738082}.missing small{font-size:12px}.empty{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;min-height:42vh;color:var(--muted)}.empty>svg{width:42px;height:42px;color:#90a29c}.empty h2{font-size:17px;font-weight:500}#page-status{text-align:center;font-size:14px;color:var(--muted);padding:16px 0}#page-status:empty{padding:0}.more{display:block;margin:20px auto;min-width:150px}.bottom{position:fixed;z-index:6;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,1280px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#fffffff5;border-top:1px solid var(--line);padding:7px max(8px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.bottom button{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:5px 0;color:var(--muted);border-radius:0;min-height:52px}.bottom button span{font-size:12px}.bottom button.active{color:var(--accent);font-weight:650}.toast{position:fixed;z-index:100;bottom:calc(85px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);background:#202b2b;color:white;border-radius:6px;padding:12px 16px;line-height:1.5;font-size:14px;pointer-events:none}dialog{border:0;color:inherit;padding:0}dialog::backdrop{background:#101a2070}.sheet{border-radius:8px 8px 0 0;width:min(100%,480px);max-height:88dvh;max-height:88vh;margin:auto auto 0;overflow:auto;padding:20px 20px max(24px,env(safe-area-inset-bottom))}.sheet header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.sheet-actions{display:flex;gap:12px;align-items:center;margin-top:18px}.sheet-actions>.primary{flex:1}#viewer{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;background:#111414;color:#fff;overflow:hidden}#viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto}#viewer header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 10px max(12px,env(safe-area-inset-left))}#viewer .icon-button:hover{background:#ffffff14}#viewer-position{font-size:14px;color:#d5dede}#viewer-media{min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:pan-y pinch-zoom}#viewer-media img,#viewer-media video{display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}#viewer footer{display:flex;align-items:center;gap:6px;padding:12px max(8px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}#viewer-caption{flex:1;min-width:0;font-size:13px;color:#d5dede;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}#viewer-status{text-align:center;padding:10px 20px;font-size:14px;color:#d5dede}#viewer-status:empty{padding:0}#account{max-width:620px;padding:28px 24px;margin:auto}.storage{padding-bottom:24px;border-bottom:1px solid var(--line)}.storage>span{color:var(--muted);font-size:14px}.storage h2{font-size:38px;font-weight:650;margin:10px 0 20px}.storage-labels{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--muted);margin-top:10px;flex-wrap:wrap}progress{appearance:none;-webkit-appearance:none;display:block;width:100%;height:5px;border:0;border-radius:4px;overflow:hidden;background:#e7eded}progress::-webkit-progress-bar{background:#e7eded}progress::-webkit-progress-value{background:var(--accent)}progress::-moz-progress-bar{background:var(--accent)}.account-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:24px 0;border-bottom:1px solid var(--line)}.account-stats>div{display:grid;gap:10px;text-align:center}.account-stats dt{font-size:14px;color:var(--muted)}.account-stats dd{font-size:22px;margin:0;overflow-wrap:anywhere}.account-row{display:flex;align-items:center;gap:12px;min-height:62px;border-bottom:1px solid var(--line);font-size:14px}.account-row svg{width:20px;color:#687777}.account-row span{flex:1}.account-row strong{font-weight:500}.password{border-bottom:1px solid var(--line);padding:20px 0}.password summary{display:flex;align-items:center;gap:12px;cursor:pointer;min-height:24px;font-size:14px}.password summary svg{width:20px}.password form{margin-top:20px}.logout{display:flex;align-items:center;justify-content:center;gap:10px;color:#a9323a;width:100%;margin-top:30px}#upload-summary{position:fixed;z-index:7;bottom:calc(75px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:#202b2b;color:#fff;box-shadow:0 2px 8px #0002;font-size:14px;max-width:90%;border:0}.upload-row{padding:15px 0;border-bottom:1px solid var(--line)}.upload-row>div{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:10px}.upload-row span{font-size:14px;overflow-wrap:anywhere;min-width:0}.upload-row small{font-size:12px;color:var(--muted);flex:0 0 95px;text-align:right}.text-button{border:0;padding:8px 0;color:#a9323a;font-size:13px}.empty-upload{color:var(--muted);text-align:center;padding:24px}
@media(max-width:640px){.auth{margin-top:3vh;padding-top:max(24px,env(safe-area-inset-top))}.top{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}h1{font-size:23px}.top-actions{gap:0}.library-controls{display:grid;gap:12px;padding:14px 12px}.library-controls>.segmented{width:100%;min-width:0}.search{max-width:none}#content{padding:0 3px}#grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px}.date-heading{padding-left:10px;padding-right:10px}.tile{min-width:0}.shell{padding-bottom:calc(150px + env(safe-area-inset-bottom))}}
@media(max-width:960px) and (pointer:coarse) and (max-height:500px){#grid{grid-template-columns:repeat(5,minmax(0,1fr))}.top{padding-top:max(8px,env(safe-area-inset-top))}.library-controls{display:flex}.sheet{max-height:90vh}#viewer footer{padding-top:4px}}
@media(prefers-reduced-motion:no-preference){button{transition:background .12s}.sheet[open]{animation:enter .16s ease-out}@keyframes enter{from{transform:translateY(24px);opacity:.5}to{transform:translateY(0);opacity:1}}}
.top p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet{max-height:88vh;max-height:88dvh;overscroll-behavior:contain}
.language-control{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-height:46px;margin-bottom:22px;color:var(--muted)}.language-control>svg{width:22px;height:22px}.language-control select{min-height:46px;width:210px;max-width:calc(100% - 30px);padding:10px 32px 10px 12px;font-size:16px;color:var(--accent);background:#fff;border:1px solid var(--line);border-radius:6px}.language-control select:focus-visible{outline:3px solid #5b9bdf;outline-offset:2px}.auth-brand h1{min-width:0;overflow-wrap:anywhere}.auth-quota{gap:16px}.auth-quota strong{flex-shrink:0}.privacy-line{align-items:flex-start;line-height:1.5}.privacy-line svg{margin-top:3px}.top-actions{flex-shrink:0}.top h1{overflow-wrap:anywhere}.sheet header h2{min-width:0;overflow-wrap:anywhere}.sheet-actions>*{min-width:0;overflow-wrap:anywhere}.account-row span,.account-row strong{min-width:0;overflow-wrap:anywhere}.account-row strong{max-width:45%;text-align:right}.bottom button span{width:100%;overflow-wrap:anywhere;line-height:1.25}.missing small{max-width:100%;padding:0 6px;text-align:center;overflow-wrap:anywhere}.upload-row small{overflow-wrap:anywhere}.auth button.primary{overflow-wrap:anywhere}
