html.reader-login-open { overflow: hidden; }
html:not(#legacy-publication) .reader-login-dialog {
  box-sizing:border-box; width:min(480px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); margin:auto; padding:38px;
  border:1px solid #e6e7ea; border-radius:24px; background:#fff; color:#151619; box-shadow:0 24px 100px #10182826;
  font-family:'DM Sans',sans-serif; overflow:auto;
}
.reader-login-dialog::backdrop { background:rgb(16 24 40 / 30%); backdrop-filter:blur(8px); }
.reader-login-dialog[open] { animation:reader-login-enter .2s ease-out; }
@keyframes reader-login-enter { from {opacity:0;transform:translateY(8px)} to {opacity:1;transform:translateY(0)} }
html:not(#legacy-publication) .reader-login-dialog h2 {font-family:'Sora',sans-serif;font-size:30px;font-weight:600;letter-spacing:-1px;line-height:1.2;margin:12px 0;}
html:not(#legacy-publication) .reader-login-dialog p {font-size:14px;line-height:1.6;color:#60646c;}
html:not(#legacy-publication) .reader-login-dialog .reader-login-close {position:absolute;right:16px;top:12px;background:none;border:0;font-size:28px;color:inherit;width:40px;height:40px;cursor:pointer;}
.reader-login-dialog form {margin-top:24px;}
.reader-login-dialog label {display:block;font-size:13px;font-weight:600;margin-bottom:8px;}
html:not(#legacy-publication) .reader-login-dialog input[type=email] {box-sizing:border-box;width:100%;height:50px;border:1px solid #ced1d7;border-radius:12px;padding:0 14px;background:transparent;color:inherit;font:inherit;font-size:16px;}
html:not(#legacy-publication) .reader-login-submit {width:100%;height:48px;border:0;border-radius:999px;background:#111;color:#fff;font:inherit;font-weight:600;margin-top:12px;cursor:pointer;}
.reader-login-submit:disabled {opacity:.6;cursor:wait;}
#readerLoginStatus:empty {display:none;}
html:not(#legacy-publication) #readerLoginStatus.is-error {color:#b3261e;}
html:not(#legacy-publication) #readerLoginStatus.is-success {color:#177245;}
.reader-login-help {margin:18px 0;}
.reader-login-secondary {border-top:1px solid #e6e7ea;padding-top:18px;margin-top:22px;}
.reader-login-secondary a,.reader-login-join a {color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px;}
html:not(#legacy-publication) .reader-login-secondary p {font-size:12px;margin:7px 0 0;}
.reader-login-join {margin-bottom:0;}
html:not(#legacy-publication) .reader-account {width:min(960px,calc(100% - 64px));margin:0 auto;padding:140px 0 80px;min-height:75vh;color:#151619;}
html:not(#legacy-publication) body.reader-account-page {background:#fff;color:#151619;}
.reader-account-heading {display:flex;justify-content:space-between;align-items:center;gap:32px;margin-bottom:44px;}
html:not(#legacy-publication) .reader-account h1 {font-family:'Sora',sans-serif;font-size:clamp(36px,5vw,56px);font-weight:600;line-height:1.12;letter-spacing:-.045em;margin:10px 0 16px;}
html:not(#legacy-publication) .reader-account-heading p {color:#60646c;font-size:16px;line-height:1.5;}
html:not(#legacy-publication) .reader-account-eyebrow {font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#60646c;margin:0;}
html:not(#legacy-publication) .reader-account-subscription {display:inline-flex;align-items:center;justify-content:center;min-height:44px;white-space:nowrap;padding:0 20px;border:1px solid #d8dbe0;border-radius:999px;background:transparent;color:inherit;font-size:14px;font-weight:600;text-decoration:none;}
.reader-account-toolbar {display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid #e6e7ea;padding-bottom:20px;}
#bookmarkCount {font-size:14px;color:#60646c;}
html:not(#legacy-publication) #bookmarkSearch {box-sizing:border-box;border:1px solid #e2e4e8;border-radius:12px;background:#f7f8fa;color:inherit;padding:12px 16px;width:250px;font:inherit;font-size:16px;}
.reader-bookmark-row {display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;border-bottom:1px solid #e6e7ea;}
html:not(#legacy-publication) .reader-bookmark-row a {font-size:18px;font-weight:600;line-height:1.45;color:inherit;text-decoration:none;overflow-wrap:anywhere;}
html:not(#legacy-publication) .reader-bookmark-row button,.reader-account-session button {border:0;background:transparent;color:#60646c;font:inherit;font-size:13px;min-height:44px;padding:0 12px;cursor:pointer;}
.reader-bookmarks-empty {text-align:center;padding:70px 24px;}
.reader-bookmarks-empty[hidden],.reader-account [hidden] {display:none!important;}
.reader-bookmarks-empty>span {font-size:38px;color:#9ba2b1;}
html:not(#legacy-publication) .reader-bookmarks-empty h2 {font-size:24px;letter-spacing:-.025em;margin:16px 0 12px;color:inherit;}
.reader-bookmarks-empty p {max-width:360px;margin:0 auto 24px;color:#60646c;line-height:1.6;}
.reader-bookmarks-empty a {font-size:14px;color:inherit;text-underline-offset:4px;}
html:not(#legacy-publication) .reader-account-note {font-size:12px;color:#60646c;line-height:1.7;max-width:590px;margin-top:28px;}
.reader-account-session {margin-top:18px;font-size:13px;}
.reader-account-session a {color:inherit;}
html:not(#legacy-publication) .reader-save-button {display:inline-flex;align-items:center;gap:6px;border:1px solid #d8dbe0;border-radius:999px;background:transparent;color:inherit;font:inherit;font-size:12px;font-weight:500;padding:6px 12px;min-height:32px;cursor:pointer;margin:12px 0 0;}
.reader-save-button::before {content:'';display:block;width:9px;height:12px;border:1.4px solid currentColor;border-radius:1px;clip-path:polygon(0 0,100% 0,100% 100%,50% 75%,0 100%);}
.reader-save-button[aria-pressed=true]::before {background:currentColor;}
.reader-save-status {position:fixed;bottom:90px;left:50%;transform:translateX(-50%);z-index:1200;background:#17191d;color:#fff;font:14px/1.5 'DM Sans',sans-serif;padding:10px 18px;border-radius:12px;max-width:85vw;pointer-events:none;}
.reader-save-status:empty {display:none;}
.reader-login-dialog :focus-visible,.reader-account :focus-visible,.reader-save-button:focus-visible {outline:2px solid #06f;outline-offset:4px;}
@media(max-width:600px){html:not(#legacy-publication) .reader-account {width:calc(100% - 40px);padding:112px 0 48px;}.reader-account-heading{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:32px;}.reader-account-toolbar{gap:12px;align-items:flex-start;flex-direction:column;}html:not(#legacy-publication) #bookmarkSearch{width:100%;}.reader-account-toolbar label{width:100%;}.reader-bookmark-row{gap:12px;}html:not(#legacy-publication) .reader-bookmark-row a{font-size:16px;}html:not(#legacy-publication) .reader-login-dialog{padding:30px 24px;}}
@media(prefers-reduced-motion:reduce){.reader-login-dialog[open]{animation:none;}.reader-login-dialog::backdrop{backdrop-filter:none;}}
html[data-theme=dark]:not(#legacy-publication) body.reader-account-page,html[data-theme=dark]:not(#legacy-publication) .reader-account,html[data-theme=dark]:not(#legacy-publication) .reader-login-dialog {background:#111318;color:#f3f4f6;}
html[data-theme=dark]:not(#legacy-publication) .reader-login-dialog p,html[data-theme=dark]:not(#legacy-publication) .reader-account p {color:#aeb4c0;}
html[data-theme=dark]:not(#legacy-publication) #bookmarkSearch {background:#1c2028;border-color:#373c48;}
html[data-theme=dark]:not(#legacy-publication) .reader-login-submit {background:#f3f4f6;color:#111318;}
html:not(#legacy-publication) .reader-account-page .member-login-footer {width:min(960px,calc(100% - 64px));margin:0 auto;padding:24px 0 32px;border-top:1px solid #e6e7ea;font:12px/1.6 'DM Sans',sans-serif;color:#60646c;}
.reader-account-page .member-login-footer>div {display:flex;justify-content:space-between;gap:20px;}
.reader-account-page .member-login-footer nav {display:flex;gap:24px;}
.reader-account-page .member-login-footer a {color:inherit;}
@media(max-width:600px){html:not(#legacy-publication) .reader-account-page .member-login-footer{width:calc(100% - 40px);}.reader-account-page .member-login-footer>div{flex-direction:column;gap:12px;}}
html[data-theme=dark]:not(#legacy-publication) .reader-bookmark-row button,html[data-theme=dark]:not(#legacy-publication) .reader-account-session button{color:#aeb4c0;}
