.admin-page{height:auto;min-height:100dvh;overflow:auto;background:#dedede;padding:24px 12px}
.admin-window{max-width:760px;margin:auto;background:var(--chrome);border:3px solid;border-color:#fff #404040 #404040 #fff;padding:12px}
.admin-window header{background:var(--blue);color:white;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.admin-window h1{font-size:24px;margin:0}.admin-window h2{font-size:21px;margin:0 0 12px;color:var(--blue)}
.admin-window a{color:white;text-underline-offset:4px}.admin-window p{max-width:64ch;line-height:1.5}
.admin-window section{padding:24px 8px;border-top:1px solid #808080}.admin-window label,.admin-page dialog label{display:block;margin:16px 0 8px}
.admin-window input,.admin-page dialog input{max-width:100%;padding:10px;min-height:44px}.admin-window input[type=password]{width:100%;margin-bottom:12px}
.admin-window #slide-title{display:block;width:min(100%,480px)}.admin-window .setting-check{display:flex;align-items:center;gap:10px;margin:14px 0;line-height:1.35}.admin-window .setting-check input{width:22px;height:22px;min-height:22px;flex:none;margin:0;accent-color:#000080}
.admin-window button,.admin-page dialog button{min-height:44px;white-space:normal}.admin-window input[type=file]{display:block;width:100%;margin-bottom:16px}
#preview{display:block;width:100%;height:220px;object-fit:contain;background:white;border:2px inset #fff}
.admin-window footer{padding:20px 8px 8px;border-top:1px solid #808080;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
#status{padding:8px;min-height:40px}.admin-page dialog{width:min(480px,calc(100vw - 24px));background:var(--chrome);color:var(--ink);padding:24px;border:3px solid;border-color:#fff #404040 #404040 #fff}
.admin-page dialog::backdrop{background:#0008}.confirm-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}
.admin-page :focus-visible{outline:3px solid #000080;outline-offset:3px}.admin-page header :focus-visible{outline-color:white}
.admin-page button:disabled{opacity:.55;cursor:not-allowed}.admin-page [hidden]{display:none!important}
@media(max-width:480px){.admin-page{padding:8px}.admin-window{padding:8px}.admin-window section{padding:24px 0}.admin-window header{padding:12px}.admin-window h1{font-size:20px}}
