:root { --qg-reader-navy:#062e52; --qg-reader-blue:#087ea4; --qg-reader-line:#dce5eb; }
.qg-reader-modal-open { overflow:hidden; }
.qg-account:is(button) { appearance:none; background:transparent; border:0; color:inherit; cursor:pointer; font:inherit; }
.qg-reader-account { position:relative; }
.qg-reader-account__toggle { align-items:center; display:grid; gap:9px; grid-template-columns:36px minmax(0,auto) 18px; min-height:48px; padding:4px 2px; text-align:left; }
.qg-reader-avatar { border:1px solid #d7e1e7; border-radius:50%; height:36px; object-fit:cover; width:36px; }
.qg-reader-account__identity { display:flex; flex-direction:column; line-height:1.1; min-width:0; }
.qg-reader-account__identity strong { color:#0b2f4b; font-size:13px; font-weight:800; max-width:112px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.qg-reader-account__identity small { color:#71818d; font-size:10px; font-weight:600; margin-top:4px; max-width:112px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.qg-reader-account__arrow { color:#607786; font-size:15px; height:16px; transition:transform .2s ease; width:16px; }
.qg-reader-account__toggle[aria-expanded="true"] .qg-reader-account__arrow { transform:rotate(180deg); }
.qg-reader-account__menu { background:#fff; border:1px solid var(--qg-reader-line); border-radius:10px; box-shadow:0 16px 40px rgb(3 34 58 / 16%); min-width:180px; padding:7px; position:absolute; right:0; top:calc(100% + 10px); z-index:1001; }
.qg-reader-account__menu a { border-radius:7px; color:#102d44; display:block; font-size:14px; font-weight:700; padding:10px 12px; text-decoration:none; }
.qg-reader-account__menu a:hover,.qg-reader-account__menu a:focus-visible { background:#eef6f8; color:var(--qg-reader-blue); }
.qg-reader-account--mobile { margin-bottom:12px; width:100%; }
.qg-reader-account--mobile .qg-account { align-items:center; border:1px solid rgb(255 255 255 / 25%); border-radius:8px; color:#fff; display:flex; min-height:44px; padding:8px 12px; width:100%; }
.qg-reader-account--mobile .qg-reader-account__identity strong { color:#fff; }
.qg-reader-account--mobile .qg-reader-account__identity small,.qg-reader-account--mobile .qg-reader-account__arrow { color:rgb(255 255 255 / 72%); }
.qg-reader-account--mobile .qg-reader-account__arrow { margin-left:auto; }
.qg-reader-account--mobile .qg-reader-account__menu { inset:auto 0 auto 0; position:relative; top:6px; }

.qg-reader-modal { border:0; border-radius:18px; box-shadow:0 28px 80px rgb(1 23 41 / 32%); color:#102d44; max-width:min(440px,calc(100vw - 28px)); padding:34px; width:100%; }
.qg-reader-modal::backdrop { background:rgb(3 22 37 / 72%); backdrop-filter:blur(3px); }
.qg-reader-modal__close { background:#eef3f6; border:0; border-radius:50%; color:#17384e; cursor:pointer; font-size:24px; height:36px; line-height:1; position:absolute; right:16px; top:16px; width:36px; }
.qg-reader-modal__brand { color:var(--qg-reader-navy); font-family:Georgia,serif; font-size:17px; font-weight:800; letter-spacing:.05em; margin-bottom:20px; }
.qg-reader-modal__brand span { color:#1391a9; }
.qg-reader-modal h2 { color:#072f51; font-family:Georgia,serif; font-size:30px; line-height:1.1; margin:0 0 10px; }
.qg-reader-modal > p { color:#536979; font-size:15px; line-height:1.55; margin:0 0 22px; }
.qg-reader-modal__social > div,.qg-reader-modal__social a { width:100%; }
.qg-google-login { align-items:center; border:1px solid #cad6de; border-radius:8px; color:#20394c; display:flex; font-size:15px; font-weight:800; gap:12px; justify-content:center; min-height:48px; padding:10px 16px; }
.qg-google-login--inactive { background:#f5f7f8; color:#71818d; }
.qg-google-mark { align-items:center; background:#fff; border-radius:50%; color:#4285f4; display:flex; font:800 17px Arial; height:25px; justify-content:center; width:25px; }
.qg-provider-note { color:#7b8993; display:block; font-size:11px; margin-top:7px; text-align:center; }
.qg-reader-modal__separator { align-items:center; color:#7d8c97; display:flex; font-size:12px; gap:12px; margin:18px 0; }
.qg-reader-modal__separator::before,.qg-reader-modal__separator::after { background:var(--qg-reader-line); content:""; height:1px; flex:1; }
.qg-reader-email-login,.qg-comment-gate__google,.qg-account-login button { align-items:center; background:var(--qg-reader-navy); border:0; border-radius:8px; color:#fff; cursor:pointer; display:flex; font-size:14px; font-weight:800; justify-content:center; min-height:48px; padding:10px 18px; text-decoration:none; }
.qg-reader-modal .qg-reader-modal__legal { color:#71818c; font-size:11px; margin:18px 0 0; text-align:center; }
.qg-reader-modal__legal a { color:#325f78; }

.qg-comments { background:#fff; border:1px solid var(--qg-reader-line); border-radius:0 0 14px 14px; border-top:0; margin:-18px 0 16px; padding:7px 12px 9px; }
.qg-comments[hidden] { display:none; }
.qg-comments__panel { margin:0 auto; max-width:720px; }
.qg-comments__header { align-items:end; display:flex; justify-content:space-between; }
.qg-comments__header .eyebrow { color:#1684a1; }
.qg-comments__header h2,.qg-comments .comment-reply-title { color:#082f50; font-family:Georgia,serif; font-size:25px; margin:4px 0 16px; }
.qg-social-actions { align-items:center; border-bottom:1px solid #e2e9ed; border-top:1px solid #e2e9ed; display:flex; gap:1px; padding:5px 0; }
.article-share-bottom { display:block; margin:8px 0 18px; width:100%; }
.qg-article-social { align-items:center; background:#fff; border-bottom:1px solid #e1e8ec; border-radius:14px 14px 0 0; border-top:1px solid #e1e8ec; display:flex; min-height:36px; padding:2px 5px; position:relative; width:100%; }
.qg-article-social__label { color:#6d7f8a; font-size:9px; font-weight:900; left:50%; letter-spacing:.1em; position:absolute; text-transform:uppercase; transform:translateX(-50%); }
.qg-article-social .qg-social-actions { border:0; padding:0; width:100%; }
.qg-article-social .qg-social-share { margin-left:auto; }
.qg-social-action { align-items:center; background:transparent; border:0; border-radius:7px; color:#18384e; cursor:pointer; display:flex; font-size:10px; font-weight:800; gap:3px; min-height:32px; padding:4px 6px; }
.qg-social-action:hover,.qg-social-action:focus-visible { background:#f1f6f8; }
.qg-social-action:disabled { opacity:.55; }
.qg-social-icon { display:block; height:20px; width:20px; }
.qg-social-icon svg { fill:none; height:100%; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; width:100%; }
.qg-social-action--like.is-active { color:#e2294f; }
.qg-social-action--like.is-active svg { fill:#e2294f; stroke:#e2294f; }
.qg-social-action[data-reader-comment-open].is-active { background:#edf6f8; color:#087d9d; }
.qg-social-share { margin-left:auto; position:relative; }
.qg-share-menu { background:#fff; border:1px solid #dce5ea; border-radius:10px; box-shadow:0 14px 36px rgb(3 34 58 / 16%); display:grid; gap:2px; min-width:190px; padding:7px; position:absolute; right:0; top:calc(100% + 5px); z-index:20; }
.qg-share-menu[hidden] { display:none; }
.qg-share-menu strong { color:#15394f; font-size:12px; padding:7px 9px; }
.qg-share-menu a,.qg-share-menu button { background:transparent; border:0; border-radius:7px; color:#2b4a5d; cursor:pointer; display:block; font-family:inherit; font-size:12px; font-weight:700; padding:9px; text-align:left; text-decoration:none; }
.qg-share-menu a:hover,.qg-share-menu button:hover { background:#eef5f7; color:#087c9b; }
.qg-comment-composer { animation:qgCommentIn .24s ease; margin:0 auto; max-width:650px; padding-top:0; width:90%; }
.qg-comment-composer[hidden] { display:none; }
@keyframes qgCommentIn { from { opacity:0; transform:translateY(-5px); } to { opacity:1; transform:none; } }
.qg-comment-launcher { align-items:center; background:#f8fafb; border:1px solid #e0e8ec; border-radius:999px; display:flex; gap:6px; margin:0 auto; max-width:720px; min-height:38px; padding:2px 5px; }
.qg-comment-launcher__avatar { border:1px solid #d4dfe5; border-radius:50%; flex:0 0 36px; height:36px; object-fit:cover; width:36px; }
.qg-comment-launcher__guest { align-items:center; background:#e6eef2; border-radius:50%; color:#67808f; display:flex; flex:0 0 32px; height:32px; justify-content:center; width:32px; }
.qg-comment-launcher button { background:transparent; border:0; color:#73838d; cursor:pointer; flex:1; font-family:inherit; font-size:12px; font-weight:500; padding:6px 4px; text-align:left; }
.qg-comment-launcher button span { color:#163c54; font-size:10px; font-weight:800; margin-right:8px; }
.qg-comment-composer .comment-respond { margin:0; }
.qg-comment-composer .comment-form,.qg-reader-comment .comment-respond .comment-form { align-items:center; display:grid; gap:6px; grid-template-columns:28px minmax(0,1fr) 30px; justify-content:center; margin:0 auto; width:100%; }
.qg-comment-mini-avatar { height:28px; width:28px; }
.qg-comment-mini-avatar img { border:1px solid #d4dfe5; border-radius:50%; height:28px; object-fit:cover; width:28px; }
.qg-comment-composer .comment-form-comment,.qg-reader-comment .comment-respond .comment-form-comment { margin:0; }
.qg-comment-composer .comment-form-comment textarea,.qg-reader-comment .comment-respond textarea { background:#f8fafb; border:1px solid #dce6ea; border-radius:999px; box-sizing:border-box; font-size:11px; height:32px; line-height:16px; min-height:32px; overflow:auto; padding:7px 11px; resize:none; width:100%; }
.qg-comment-composer .comment-form-comment textarea:focus,.qg-reader-comment .comment-respond textarea:focus { border-color:#dce6ea; box-shadow:none; outline:0; }
.qg-comment-composer .comment-form-comment textarea:focus::placeholder,.qg-reader-comment .comment-respond textarea:focus::placeholder { color:transparent; opacity:0; }
.qg-comment-composer .form-submit,.qg-reader-comment .comment-respond .form-submit { margin:0; }
.qg-comment-submit { align-items:center; background:var(--qg-reader-navy); border:0; border-radius:50%; color:#fff; cursor:pointer; display:flex; height:30px; justify-content:center; min-height:30px; padding:0; width:30px; }
.qg-comment-submit svg { fill:none; height:15px; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.9; width:15px; }
.qg-comment-submit:hover,.qg-comment-submit:focus-visible { background:#087d9d; }
.qg-comment-composer .comment-form > input[type="hidden"] { display:none; }
.qg-comment-list { list-style:none; margin:7px auto 0; max-height:246px; max-width:720px; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; padding:0 5px 2px 0; scrollbar-color:#a9bbc5 transparent; scrollbar-width:thin; }
.qg-comment-list::-webkit-scrollbar { width:6px; }
.qg-comment-list::-webkit-scrollbar-track { background:transparent; }
.qg-comment-list::-webkit-scrollbar-thumb { background:#b8c7cf; border-radius:999px; }
.qg-comment-list li { list-style:none; }
.qg-reader-comment__body { align-items:start; background:transparent; border:0; border-radius:0; display:grid; gap:9px; grid-template-columns:34px minmax(0,1fr) 32px; margin-top:5px; padding:9px 4px; }
.qg-comment-list > .qg-reader-comment + .qg-reader-comment { border-top:1px solid #edf1f3; }
.qg-reader-comment__avatar img { border-radius:50%; height:34px; object-fit:cover; width:34px; }
.qg-comment-list .qg-reader-comment__avatar .avatar { height:34px; width:34px; }
.qg-reader-comment__line { align-items:center; display:flex; flex-wrap:wrap; gap:6px; line-height:1.2; }
.qg-reader-comment__line strong { color:#16384e; font-size:12px; font-weight:900; }
.qg-reader-comment__line time { color:#8a969e; font-size:10px; }
.qg-reader-comment__line > span { background:#e8f3f6; border-radius:999px; color:#167c98; font-size:8px; font-weight:900; padding:3px 6px; text-transform:uppercase; }
.qg-reader-comment__username { color:#718895; display:block; font-size:9px; font-weight:700; line-height:1.2; margin-top:2px; }
.qg-reader-comment__text { color:#263f50; font-size:12px; line-height:1.42; margin-top:5px; }
.qg-reader-comment__text p { margin:0; }
.qg-reader-comment__actions { align-items:center; display:flex; gap:15px; margin-top:7px; }
.qg-reader-comment__actions a,.qg-reader-comment__actions button { background:transparent; border:0; color:#6d7c85; cursor:pointer; font-family:inherit; font-size:10px; font-weight:800; padding:0; text-decoration:none; }
.qg-reader-comment__actions button::before { background:#d9e1e5; content:""; display:inline-block; height:1px; margin:0 9px 3px 0; width:25px; }
.qg-comment-like { align-items:center; background:transparent; border:0; color:#6f808b; cursor:pointer; display:flex; flex-direction:column; gap:2px; padding:5px; }
.qg-comment-like svg { fill:none; height:20px; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; width:20px; }
.qg-comment-like small { font-size:9px; min-height:11px; }
.qg-comment-like.is-active { color:#e2294f; }
.qg-comment-like.is-active svg { fill:#e2294f; stroke:#e2294f; }
.qg-comment-list .children { display:none; list-style:none; margin:0 0 0 46px; padding:0; }
.qg-comment-list .children.is-expanded { display:block; }
.qg-reader-comment .comment-respond { margin:8px auto 12px; max-width:650px; width:90%; }
.qg-reader-comment .comment-respond > .screen-reader-text { clip:auto; clip-path:none; height:auto; overflow:visible; position:static!important; width:auto; }
.qg-reader-comment .comment-respond #cancel-comment-reply-link { color:#8b4a51; display:block; font-size:10px; font-weight:800; margin-bottom:6px; }
.qg-comment-list .comment-body { border-top:1px solid #e8edef; padding:13px 0; }
.qg-comment-list .comment-author { align-items:center; display:flex; gap:10px; }
.qg-comment-list .avatar,.qg-comment-identity img { border-radius:50%; height:36px; object-fit:cover; width:36px; }
.qg-comment-list .comment-author .fn { color:#123a53; font-size:12px; font-style:normal; font-weight:800; }
.qg-comment-list .comment-author .says { display:none; }
.qg-comment-list .comment-meta { font-size:10px; margin:-10px 0 8px 46px; }
.qg-comment-list .comment-meta a { color:#8a98a1; text-decoration:none; }
.qg-comment-list .comment-content { color:#344f60; font-size:13px; line-height:1.5; margin-left:46px; }
.qg-comment-list .comment-content p { margin:0; }
.qg-comment-list .reply { margin:7px 0 0 46px; }
.qg-comment-list .reply a { color:#627b8a; font-size:10px; font-weight:800; }
.qg-comment-gate { align-items:center; background:#f4f8fa; border:1px solid #dce6eb; border-radius:12px; display:grid; gap:16px; grid-template-columns:auto 1fr auto auto; padding:18px; }
.qg-comment-gate > .dashicons { color:var(--qg-reader-blue); font-size:30px; height:30px; width:30px; }
.qg-comment-gate h3 { color:#082f50; font-size:19px; margin:0 0 4px; }
.qg-comment-gate p { color:#617380; font-size:13px; margin:0; }
.qg-comment-gate > a { color:#164f6d; font-size:13px; font-weight:800; white-space:nowrap; }
.qg-comment-identity { align-items:center; background:#f4f8fa; border-radius:9px; display:flex; gap:12px; padding:11px 13px; }
.qg-comment-identity__avatar { border-radius:50%; height:32px; object-fit:cover; width:32px; }
.qg-comment-identity p { display:flex; flex-direction:column; margin:0; }
.qg-comment-identity a { font-size:12px; }
.comment-form-comment label { display:block; font-size:13px; font-weight:800; margin:18px 0 7px; }
.comment-form-comment textarea { background:#fbfcfd; border:1px solid #cad8e0; border-radius:12px; box-sizing:border-box; font:inherit; padding:13px; resize:vertical; width:100%; }

.qg-account-page { background:#f5f8fa; min-height:60vh; padding:42px 0 70px; }
.qg-account-page__inner { max-width:960px; }
.qg-account-page__header h1 { color:#082f50; font-family:Georgia,serif; font-size:42px; margin:5px 0 26px; }
.qg-account-login,.qg-profile-card,.qg-profile-edit,.qg-my-comments { background:#fff; border:1px solid var(--qg-reader-line); border-radius:14px; padding:25px; }
.qg-account-login button { margin-top:18px; }
.qg-profile-card { align-items:center; display:grid; gap:18px; grid-template-columns:auto 1fr auto auto; }
.qg-profile-card__avatar { border-radius:50%; object-fit:cover; }
.qg-profile-card h2 { color:#082f50; margin:0 0 5px; }
.qg-profile-card p { color:#607381; margin:0; }
.qg-profile-card .qg-profile-card__username { color:#18809d; font-size:13px; font-weight:800; margin-bottom:4px; }
.qg-profile-card dl { display:flex; gap:28px; margin:0; }
.qg-profile-card dl div { display:flex; flex-direction:column; gap:3px; }
.qg-profile-card dt { color:#71808a; font-size:11px; font-weight:800; text-transform:uppercase; }
.qg-profile-card dd { color:#17384f; font-weight:800; margin:0; }
.qg-profile-card__logout { color:#a92e39; font-size:13px; font-weight:800; }
.qg-account-notice { border-radius:10px; font-size:14px; font-weight:800; margin-bottom:16px; padding:13px 16px; }
.qg-account-notice--success { background:#e7f7ef; border:1px solid #b7e5cd; color:#176b43; }
.qg-account-notice--error { background:#fff0f1; border:1px solid #efc6ca; color:#9a2933; }
.qg-profile-edit { margin-top:18px; overflow:hidden; padding:0; }
.qg-profile-edit__heading { align-items:center; background:linear-gradient(110deg,#f4f9fb,#fff); border-bottom:1px solid var(--qg-reader-line); display:flex; gap:13px; padding:20px 24px; }
.qg-profile-edit__heading > .dashicons { align-items:center; background:var(--qg-reader-navy); border-radius:10px; color:#fff; display:flex; flex:0 0 42px; height:42px; justify-content:center; width:42px; }
.qg-profile-edit__heading h2 { color:#082f50; font-family:Georgia,serif; font-size:24px; margin:0 0 3px; }
.qg-profile-edit__heading p { color:#6a7b87; font-size:13px; margin:0; }
.qg-profile-edit form { display:grid; gap:22px 28px; grid-template-columns:minmax(0,1.6fr) minmax(250px,.85fr); padding:24px; }
.qg-profile-edit__fields { display:grid; gap:18px; }
.qg-profile-edit label,.qg-profile-field { color:#17384f; display:flex; flex-direction:column; font-size:12px; font-weight:800; gap:7px; }
.qg-profile-edit input[type="text"] { background:#f9fbfc; border:1px solid #cbd9e1; border-radius:8px; box-sizing:border-box; color:#19384c; font-family:inherit; font-size:14px; font-weight:600; height:44px; min-width:0; padding:0 12px; width:100%; }
.qg-profile-edit label > small,.qg-profile-field > small,.qg-avatar-field__control small { color:#7b8992; font-size:10px; font-weight:500; line-height:1.45; }
.qg-username-input { align-items:center; background:#f9fbfc; border:1px solid #cbd9e1; border-radius:8px; display:flex; height:44px; overflow:hidden; }
.qg-username-input b { color:#1784a2; font-size:15px; padding-left:12px; }
.qg-username-input input[type="text"] { border:0; padding-left:3px; }
.qg-locked-username { align-items:center; background:#f1f5f7; border:1px solid #d6e0e5; border-radius:8px; color:#3c5667; display:flex; gap:9px; height:44px; padding:0 12px; }
.qg-locked-username .dashicons { color:#82939e; font-size:16px; height:16px; width:16px; }
.qg-locked-username strong { font-size:14px; }
.qg-avatar-field { background:#f7fafb; border:1px solid #e0e8ec; border-radius:12px; justify-content:center; padding:18px; }
.qg-avatar-field__control { align-items:center; display:flex; gap:14px; }
.qg-avatar-field__preview { border:3px solid #fff; border-radius:50%; box-shadow:0 0 0 1px #ccd9e0; flex:0 0 72px; height:72px; object-fit:cover; width:72px; }
.qg-avatar-field__copy { display:flex; flex:1; flex-direction:column; gap:4px; min-width:0; }
.qg-avatar-field__copy strong { color:#123a54; font-size:13px; }
.qg-avatar-field input[type="file"] { color:#566b79; font-size:10px; margin-top:5px; min-width:0; width:100%; }
.qg-profile-edit__actions { align-items:center; border-top:1px solid var(--qg-reader-line); display:flex; gap:8px; grid-column:1 / -1; padding-top:18px; }
.qg-profile-edit__actions > .dashicons { color:#5e8196; font-size:17px; height:17px; width:17px; }
.qg-profile-edit__actions small { color:#71838f; font-size:10px; }
.qg-profile-edit__actions button { background:var(--qg-reader-navy); border:0; border-radius:8px; color:#fff; cursor:pointer; font-size:13px; font-weight:800; height:44px; margin-left:auto; padding:0 21px; white-space:nowrap; }
.qg-account-tabs { display:flex; gap:8px; margin:18px 0; overflow:auto; }
.qg-account-tabs a,.qg-account-tabs span { background:#fff; border:1px solid var(--qg-reader-line); border-radius:999px; color:#25465c; font-size:13px; font-weight:800; padding:10px 16px; white-space:nowrap; }
.qg-my-comments h2 { color:#082f50; font-family:Georgia,serif; }
.qg-my-comments ol { list-style:none; margin:0; padding:0; }
.qg-my-comments li { border-top:1px solid var(--qg-reader-line); display:grid; gap:5px; padding:15px 0; }
.qg-my-comments li p { margin:0; }
.qg-my-comments li time { color:#74848e; font-size:12px; }
.qg-my-comments__meta { align-items:center; display:flex; gap:12px; justify-content:space-between; }
.qg-my-comments__meta form { margin:0; }
.qg-my-comments__meta button { background:transparent; border:0; color:#a02b35; cursor:pointer; font-size:11px; font-weight:800; padding:4px 0; }
.qg-account-deletion { font-size:12px; margin-top:18px; }

@media (max-width:800px) {
  .qg-reader-modal { padding:28px 20px 22px; }
  .qg-reader-modal h2 { font-size:25px; }
  .qg-comment-gate { align-items:stretch; grid-template-columns:auto 1fr; }
  .qg-comment-gate__google,.qg-comment-gate > a { grid-column:1 / -1; min-height:44px; }
  .qg-profile-card { align-items:start; grid-template-columns:auto 1fr; }
  .qg-profile-card dl,.qg-profile-card__logout { grid-column:1 / -1; }
  .qg-profile-card dl { flex-wrap:wrap; }
  .qg-profile-edit form { grid-template-columns:1fr; padding:20px; }
  .qg-profile-edit__actions { align-items:flex-start; flex-wrap:wrap; }
  .qg-profile-edit__actions button { margin-left:0; margin-top:8px; width:100%; }
  .qg-comments { border-left:0; border-radius:0; border-right:0; padding:7px 0 9px; }
  .qg-share-menu { right:-4px; }
  .qg-article-social { padding-left:2px; padding-right:2px; }
  .qg-comment-composer,.qg-reader-comment .comment-respond { max-width:520px; width:94%; }
}
