:root{font-family:system-ui,-apple-system,sans-serif;color:#fff;background:#000;line-height:1.5;color-scheme:dark;--panel:#252525;--day:#4d4d4d;--green:#338625;--accent:#3e9f2b;--muted:#b6b6b6}
#capture-status{margin:0 2px 16px;color:#c3dfb9;font-size:.8rem}#capture-status[hidden]{display:none}
*{box-sizing:border-box}body{margin:0}header{max-width:1184px;margin:auto;padding:30px 24px 20px;display:flex;align-items:center;justify-content:space-between;gap:24px}h1{font-size:2rem;letter-spacing:-.045em;font-weight:850;margin:0}h1 span{color:var(--accent)}.header-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.native-viewer header{padding-top:12px;padding-bottom:12px}.native-viewer .brand{display:none}.native-viewer .header-actions{width:100%}main{max-width:1184px;padding:12px 24px 24px;margin:auto;min-height:70vh}h2{font-size:1.1rem;font-weight:750}button,a{touch-action:manipulation}button{font:inherit;font-weight:700;background:var(--green);color:#fff;border:1px solid transparent;border-radius:4px;padding:11px 15px;cursor:pointer}button:disabled{opacity:.55;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #9bd784;outline-offset:3px}.fetch-button{display:flex;gap:8px;align-items:center}.fetch-button>span:first-child{font-size:1.35rem;line-height:1}.logout-button{background:#252525;border-color:#4a4a4a;font-size:.8rem;padding:11px 13px}input,select{font:inherit;color:#fff;background:#171717;border:1px solid #626262;border-radius:4px;width:100%;padding:12px;margin-top:5px}input::placeholder{color:#9a9a9a}input[type=checkbox]{accent-color:var(--accent)}label{display:block;margin-bottom:16px}form{max-width:520px}.check{display:flex;align-items:center;gap:10px}.check input{width:20px;height:20px;margin:0}#login{max-width:560px;margin:20px auto 0;background:#171717;border:1px solid #333;padding:26px}#login>h2{font-size:1.45rem;margin-top:0}#login p{color:var(--muted)}
#message{color:#ffbb8b;font-size:.9rem;margin:0 0 16px}#message:empty{display:none}.camera-nav{margin-bottom:0;background:var(--panel);border-bottom:2px solid var(--green)}#camera-tabs{display:flex;overflow-x:auto;gap:2px;scrollbar-width:thin;overscroll-behavior-inline:contain;padding:0}.camera-tab{display:flex;align-items:center;gap:12px;flex:0 0 auto;max-width:min(420px,90vw);background:var(--panel);border:0;border-radius:0;color:#fff;padding:16px 18px;text-align:left;white-space:nowrap;font-size:1rem;font-weight:800}.camera-name{overflow:hidden;text-overflow:ellipsis}.camera-tab[aria-selected=true]{background:var(--green)}.camera-badge{flex:0 0 auto;font-size:.72rem;font-weight:750;border-radius:20px;padding:3px 8px;background:#484848;color:#e5e5e5}.has-new .camera-badge{background:#fff;color:#202020}.camera-tab[aria-selected=true] .camera-badge{background:#20521a;color:#fff}.camera-tab.has-new[aria-selected=true] .camera-badge{background:#fff;color:#21591b}.gallery-status{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 2px 16px}#camera-status,#refresh-status{font-size:.8rem;color:var(--muted);margin:0}#refresh-status{color:#c3dfb9}#refresh-status:empty{display:none}
#photos{display:flex;flex-direction:column;gap:26px}.photo-day{margin:0;border:0;padding:0;background:#000}.photo-day>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;background:var(--day);font-size:1rem;font-weight:800;color:#fff;padding:13px 18px;cursor:pointer}.photo-day>summary::-webkit-details-marker{display:none}.photo-day>summary::after{content:'';width:13px;height:13px;border-right:3px solid #fff;border-bottom:3px solid #fff;transform:rotate(45deg);margin-right:3px;flex:0 0 auto}.photo-day[open]>summary::after{transform:rotate(225deg)}.day-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;padding:14px 0 2px}.photo{display:block;width:100%;padding:0 14px 12px;background:#000;border:0;border-radius:0;text-align:right;overflow:hidden}.photo time{display:block;font-size:1rem;font-weight:800;letter-spacing:.025em;padding:0 1px 12px;color:#fff}.photo img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#151515}.photo.image-error img{min-height:120px}.photo:focus-visible{outline-offset:0}.photo-label{display:none}#more{display:block;margin:28px auto 0;background:#252525;border-color:#555}#empty{padding:50px 20px;text-align:center;color:var(--muted);background:#171717;margin:20px 0 0}
details#admin{margin-top:38px;border-top:1px solid #444;padding-top:20px;color:#eee}#admin>summary{font-weight:750;cursor:pointer}#admin>p{color:var(--muted);max-width:760px}#admin h2{margin-top:26px}.new-key{max-width:600px;background:#252525;border:1px solid #4e7545;padding:18px;margin:20px 0}.new-key p{margin-top:0}#viewer-key{font-family:ui-monospace,monospace;font-size:.8rem}.key-actions{display:flex;gap:8px;flex-wrap:wrap}.quiet-button{background:#333;color:#fff;border:1px solid #666}.viewer-list{list-style:none;padding:0;max-width:800px}.viewer-list li{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#252525;margin:10px 0;padding:16px}.viewer-list strong,.viewer-list .viewer-detail{display:block;overflow-wrap:anywhere}.viewer-detail{font-size:.8rem;color:var(--muted)}.viewer-permission{margin:9px 0 0;font-size:.85rem}.viewer-list button{flex:0 0 auto;font-size:.8rem;padding:9px 12px}#viewer-message{font-size:.9rem;color:#c3dfb9}#viewer-access{margin-top:32px}.android-download{margin-top:30px;border-top:1px solid #444;padding-top:12px}.download-app{display:inline-block;border:1px solid #508c42;padding:12px 16px;color:#fff;background:#252525;text-decoration:none;font-weight:700}.android-download p{font-size:.9rem}
dialog{width:min(96vw,1200px);border:1px solid #555;border-radius:2px;background:#000;color:#fff;padding:16px}dialog::backdrop{background:#000e}#close-photo{background:#333}#full-photo{display:block;width:100%;max-height:78vh;object-fit:contain;margin-top:14px}#photo-date{font-size:.85rem;color:#ccc}dialog a{display:inline-block;color:#c9edbd;padding:10px 0}footer{max-width:1184px;margin:auto;color:#8c8c8c;font-size:.75rem;text-align:center;padding:26px 24px}[hidden]{display:none!important}
@media(max-width:700px){header{padding:20px 14px 16px;gap:14px;flex-wrap:wrap}h1{font-size:1.7rem}.header-actions{gap:8px;width:100%}.fetch-button{font-size:.85rem;padding:11px 13px}.logout-button{margin-left:auto;padding:11px;font-size:.75rem}.native-viewer header{padding:10px 14px}main{padding:8px 10px 18px}.camera-tab{font-size:.95rem;padding:14px 15px;gap:9px}.camera-badge{font-size:.68rem}.gallery-status{padding:10px 4px 14px;gap:8px}#camera-status,#refresh-status{font-size:.75rem}.day-photos{grid-template-columns:1fr;gap:22px;padding-top:14px}.photo-day>summary{font-size:.95rem;padding:11px 16px}.photo{padding:0 18px 10px}.photo time{font-size:.95rem;padding-bottom:14px}.photo img{aspect-ratio:16/9}#photos{gap:24px}#login{padding:22px 18px;margin-top:12px}.viewer-list li{align-items:flex-start;padding:14px;gap:12px}#capture{font-size:.85rem;padding:11px 12px}footer{padding:22px 14px}}
@media(min-width:1100px){.day-photos{gap:28px}.photo{padding:0 20px 14px}.photo-day>summary{font-size:1.1rem}}
@media(prefers-reduced-motion:no-preference){button,a,summary{transition:background .15s}button:hover:not(:disabled){background:#419831}.camera-tab:hover:not([aria-selected=true]){background:#383838}.photo:hover:not(:disabled){background:#111}.logout-button:hover:not(:disabled),.quiet-button:hover:not(:disabled),#more:hover:not(:disabled){background:#444}.photo-day>summary:hover{background:#5a5a5a}}
