:root{--access-accent:#ceff6d;--access-bg:#0b0e14;--access-line:rgba(219,231,245,.12);--access-text:#f0f3f7;--access-muted:#a1abba}
.access-entrance{margin:0;background:var(--access-bg);color:var(--access-text);font:14px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;min-height:100dvh}
.access-entry{display:grid;place-items:center;min-height:100dvh;padding:30px 18px;box-sizing:border-box;background:radial-gradient(ellipse at 20% 20%,#ceff6d0c,transparent 44%),radial-gradient(ellipse at 90% 70%,#8c8ae514,transparent 45%)}
.access-card{box-sizing:border-box;position:relative;width:min(100%,450px);padding:32px;border-radius:28px;border:1px solid var(--access-line);background:linear-gradient(145deg,#1c222de6,#131922f5);box-shadow:0 30px 120px #0005;color:var(--access-text);font:14px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;animation:access-enter .35s ease both}
.access-card-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:30px}
.access-wordmark{font-weight:700;font-size:22px;letter-spacing:-1px;color:inherit;text-decoration:none}.access-wordmark span{font-weight:400;color:var(--access-muted)}
.access-language{display:flex;gap:3px;align-items:center;border:1px solid var(--access-line);border-radius:20px;padding:3px;background:#0e131d;color:var(--access-muted);cursor:pointer;font-size:10px;flex:none}
.access-language span{border-radius:15px;padding:4px 7px;font-weight:700}.access-language[aria-checked=false] span:first-child,.access-language[aria-checked=true] span:last-child{background:var(--access-accent);color:#172308}
.access-emblem{display:grid;place-items:center;width:66px;height:66px;border-radius:22px;background:#ceff6d12;color:var(--access-accent);border:1px solid #ceff6d35;margin:0 0 25px;box-shadow:0 0 50px #ceff6d09}
.access-card svg,.access-panel svg,.access-button svg,.access-confirm svg{display:block;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.access-emblem svg{width:30px;height:30px}
.access-eyebrow{font-size:10px;letter-spacing:2px;color:var(--access-muted)}.access-card h1{font-size:clamp(27px,4.8vw,36px);line-height:1.16;font-weight:500;letter-spacing:-1.25px;margin:14px 0}.access-intro{color:var(--access-muted);margin:0 0 25px}.access-form label{display:block;margin-bottom:9px;font-size:12px}
.access-input{position:relative;display:flex;border-radius:13px;background:#0c111a;border:1px solid var(--access-line);transition:border-color .2s,box-shadow .2s}.access-input:focus-within{border-color:#ceff6d7d;box-shadow:0 0 0 3px #ceff6d09}.access-input:has([aria-invalid=true]){border-color:#e7a49a}
.access-input input{flex:1;width:100%;min-width:0;border:0!important;outline:none!important;background:transparent!important;box-shadow:none!important;margin:0;padding:15px 12px;color:var(--access-text);font-size:13px;box-sizing:border-box}.access-input input::placeholder{color:#7f899a}
.access-reveal{border:0;display:grid;place-items:center;flex:0 0 46px;width:46px;background:none;color:var(--access-muted);cursor:pointer;border-radius:12px}
.access-error{color:#f0b4ab;font-size:12px;line-height:1.5;margin:9px 0 0}.access-error[hidden]{display:none}
.access-primary{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;border:0;border-radius:24px;padding:14px 19px;margin:20px 0 0;background:var(--access-accent);color:#19260e;font-size:13px;font-weight:600;cursor:pointer;transition:transform .2s,opacity .2s}.access-primary:hover{transform:translateY(-1px)}.access-primary:disabled{opacity:.65;cursor:wait}.access-session{color:#8590a2;font-size:11px;margin:20px 0 0;text-align:center}.is-opening .access-emblem{animation:access-breathe 1.5s ease-in-out infinite}
.access-button{flex:none!important;display:grid!important;place-items:center!important;width:42px!important;height:42px!important;border:1px solid var(--access-line);border-radius:50%;background:#ffffff05;color:var(--access-muted);cursor:pointer}.access-button:hover{color:var(--access-accent);border-color:#ceff6d44}
dialog.access-panel{box-sizing:border-box;width:min(560px,calc(100vw - 28px));max-height:calc(100dvh - 32px);padding:28px;border:1px solid var(--access-line);border-radius:25px;background:#181e28;color:var(--access-text);overflow:auto}
.access-panel-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.access-panel h2{font-size:26px;letter-spacing:-.8px;font-weight:500;margin:0}.access-panel h3{font-size:14px;margin:24px 0 12px}.access-close{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:none;color:var(--access-muted);cursor:pointer;flex:none}
.access-panel-head-actions{margin-left:auto;flex:none}.access-code-box{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;border:1px solid var(--access-line);border-radius:11px;padding:10px 12px;background:#0c111a}.access-current-code{min-width:0;width:190px;background:none!important;border:0!important;padding:0!important;margin:0!important;color:var(--access-text);font:12px ui-monospace,monospace}.access-code-clock{font-size:10px;color:var(--access-muted);white-space:nowrap}
.access-summary{color:var(--access-muted);font-size:12px;line-height:1.6}.access-expiry{display:inline-block;padding:5px 9px;border-radius:8px;background:#ceff6d0c;color:#d3e8b1;font-size:11px;margin-bottom:12px}
.access-copy-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.access-copy{padding:17px 13px;text-align:left;border:1px solid var(--access-line);border-radius:15px;background:#0e151f;color:var(--access-text);cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;transition:background .2s,border-color .2s,transform .2s}.access-copy:hover{background:#242e29;border-color:#ceff6d66;transform:translateY(-2px)}.access-copy>svg{color:var(--access-accent)}.access-copy strong{font-size:12px;font-weight:600}.access-copy small{font-size:10px;color:var(--access-muted)}.access-copy:disabled{opacity:.5;cursor:default}
.access-list{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.access-row{border:1px solid var(--access-line);border-radius:13px;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.access-row>div:first-child{min-width:0}.access-row strong{font-size:12px;font-weight:500;display:block;overflow-wrap:anywhere}.access-row small{display:block;color:var(--access-muted);font-size:10px;margin-top:4px}.access-row-actions{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end;flex:none}.access-mini{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:18px;border:1px solid var(--access-line);padding:8px 10px;background:#ffffff04;color:var(--access-muted);font-size:10px;cursor:pointer;min-height:34px}.access-mini svg{width:14px;height:14px}.access-mini[data-action=revoke]{color:#e9b3ac}.access-mini:hover{background:#ffffff0c;color:var(--access-text)}.access-mini:disabled{opacity:.45;cursor:wait}
.access-owner-tools{border-top:1px solid var(--access-line);margin-top:22px;padding-top:2px}.access-owner-info{margin:0 0 12px;color:var(--access-muted);font-size:11px;line-height:1.6}.access-owner-info .access-mini{margin:8px 0}.access-new{border:1px dashed var(--access-line);border-radius:13px;padding:15px}.access-new label{font-size:12px;display:block;margin:0 0 8px}.access-new input{box-sizing:border-box;width:100%;border:1px solid var(--access-line);background:#0c111a;color:var(--access-text);border-radius:10px;padding:12px;font:inherit;font-size:12px}.access-new .access-primary{font-size:12px;padding:12px 16px;margin-top:12px}.access-new small{display:block;font-size:11px;color:var(--access-muted);margin-top:10px;line-height:1.6}
.access-panel-footer{display:flex;justify-content:flex-end;border-top:1px solid var(--access-line);padding-top:17px;margin-top:22px}.access-copy-fallback{margin-top:12px}.access-copy-fallback textarea{box-sizing:border-box;width:100%;min-height:84px;border:1px solid var(--access-line);border-radius:10px;padding:12px;background:#0c111a;color:var(--access-text);font-size:12px;resize:vertical}
dialog.access-lock{position:fixed;inset:0;margin:0;padding:18px;box-sizing:border-box;width:100vw;max-width:none;height:100dvh;max-height:none;border:0;background:#0b0e14;overflow:auto;color:var(--access-text)}dialog.access-lock[open]{display:grid;place-items:center}.access-locked> :not(#access-lock):not(script):not(style){visibility:hidden!important}.access-lock .access-card{margin:auto}
dialog.access-confirm{box-sizing:border-box;max-width:420px;width:calc(100vw - 28px);background:#1b222d;border:1px solid var(--access-line);border-radius:23px;color:var(--access-text);padding:25px}.access-confirm h3{font-size:23px;margin:0 0 12px}.access-confirm p{font-size:13px;color:var(--access-muted);line-height:1.6}.access-confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.access-confirm .access-primary{width:auto;margin:0;padding:11px 17px}.access-confirm .access-mini{padding:11px 17px}
.access-panel::backdrop,.access-confirm::backdrop{background:#03060bab;backdrop-filter:blur(8px)}.access-lock::backdrop{background:#0b0e14}
.access-card button:focus-visible,.access-panel button:focus-visible,.access-confirm button:focus-visible,.access-button:focus-visible{outline:2px solid var(--access-accent);outline-offset:3px}
@keyframes access-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes access-breathe{50%{box-shadow:0 0 50px #ceff6d20}}
@media(max-width:600px){.access-card{padding:24px}.access-entry{padding:16px}.access-card-top{margin-bottom:22px}.access-emblem{margin-bottom:20px}.access-panel{padding:20px!important}.access-button{width:36px!important;height:36px!important}.access-row{align-items:flex-start;flex-direction:column}.access-row-actions{width:100%;justify-content:flex-start}.access-copy{padding:14px 11px}.access-owner-info{font-size:10px}.header-actions{gap:7px!important}}
@media(prefers-reduced-motion:reduce){.access-card,.is-opening .access-emblem{animation:none}.access-primary,.access-copy{transition:none}}
/* Override the full-screen dimensions used by the slideshow's base dialog. */
dialog.access-panel,dialog.access-confirm{height:fit-content;margin:auto}
@media(max-width:400px){.access-panel-head{gap:8px}.access-panel h2{font-size:22px}.access-panel-head .access-close{width:30px;height:34px}.access-code-box{gap:6px}.access-current-code{width:154px}.access-code-clock{font-size:9px}}
@media(max-width:380px){.header{padding-inline:12px;gap:6px}.header .logo{font-size:18px;gap:3px}.header .logo-mark{width:26px;height:26px;margin-right:3px}.header .header-actions{gap:5px!important}}
@media(min-width:701px) and (max-width:1100px){.header-actions .add-btn{width:42px;height:42px;min-width:42px;padding:0;justify-content:center}.header-actions .add-btn span{display:none}}

/* Owner elevation uses the same entrance without saving credentials as drafts. */
.access-mode{display:block;margin:20px auto 0;padding:7px 12px;background:none;border:0;border-radius:12px;color:var(--access-accent);font:inherit;font-size:12px;cursor:pointer}.access-mode:hover{background:#ceff6d0b}.access-mode:disabled{opacity:.5;cursor:wait}
.access-panel .access-code-box{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}.access-panel .access-current-code{box-sizing:border-box;display:block;width:100%;height:36px;min-height:36px;max-height:36px;line-height:18px;resize:none;overflow:hidden;overflow-wrap:anywhere;word-break:break-all;border-radius:0;box-shadow:none}.access-code-clock{text-align:right}
.access-panel-footer{align-items:center;gap:12px}.access-owner-trigger,.access-owner-badge{margin-right:auto}.access-owner-trigger{color:var(--access-accent);font-size:12px;padding:10px 14px}.access-owner-badge{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--access-accent)}
dialog.access-owner-login{box-sizing:border-box;width:min(470px,calc(100vw - 28px));height:fit-content;max-height:calc(100dvh - 28px);padding:0;margin:auto;border:0;border-radius:28px;background:transparent;overflow:auto;color:var(--access-text)}
.access-owner-login .access-card{width:100%}.access-owner-login .access-card-top{gap:9px}.access-owner-login .access-language{margin-left:auto}.access-owner-close{width:30px;height:30px;margin-right:-6px}.access-owner-login::backdrop{background:#03060b99;backdrop-filter:blur(8px)}
@media(max-width:360px){.access-panel-head h2{font-size:20px;white-space:nowrap}.access-owner-login .access-card{padding:22px 18px}.access-owner-login .access-wordmark{font-size:20px}.access-owner-login .access-card-top{gap:5px}}
