[hidden]{display:none!important}
.member-nav,.topnav a{font:inherit;color:#b8c4d8;background:transparent;border:0;text-decoration:none;white-space:nowrap;padding:9px 12px;cursor:pointer;font-size:12px}
.member-nav:hover,.topnav a:hover{color:#fff}
.member-dialog{padding:30px;position:relative;max-width:480px;width:min(480px,90vw);box-sizing:border-box;color:#e6eaf1}
.member-dialog h2{font-size:23px;margin:8px 0 16px}.member-dialog p{font-size:13px;line-height:1.8;color:#adb9cc;overflow-wrap:anywhere}
.member-close{position:absolute;right:12px;top:10px;border:0;background:none;color:#b8c4d8;font-size:25px;cursor:pointer}
.member-dialog label,.admin-main label{display:block;font-size:13px;color:#c6d1e4;margin:15px 0 8px}
.member-dialog input:not([type=checkbox]),.member-dialog select,.admin-main input,.admin-main select,.book-comments textarea{box-sizing:border-box;width:100%;margin-top:8px;background:#101726;color:#e6eaf1;border:1px solid #39455a;border-radius:8px;padding:12px;font:inherit;font-size:14px}
.member-check{display:flex!important;align-items:flex-start;gap:8px}.member-check input{margin-top:4px;accent-color:#759dcf}
.member-dialog a,.policy-main a{color:#9dbff0}.member-dialog button:not(.member-close),.book-comments button,.admin-main button{border:1px solid #3b4a63;border-radius:7px;color:#d6e3f7;background:#172338;padding:10px 14px;font:inherit;font-size:12px;cursor:pointer}
.member-dialog button.member-primary,.book-comments .member-primary,.admin-main .member-primary{background:#29496c;border-color:#4c7097;color:#eef5ff}
.member-dialog form>.member-primary{width:100%;margin-top:12px}.member-dialog button:disabled,.book-comments button:disabled,.admin-main button:disabled{opacity:.5;cursor:wait}
.member-dialog .member-danger{color:#ffd1cd;border-color:#956362}.member-help{font-size:12px!important;color:#94a3ba!important;line-height:1.7}
.member-account-actions{display:flex;gap:12px;margin:24px 0}.member-import{border-top:1px solid #344056;margin-top:20px;padding-top:12px}.member-import small{display:block;font-size:11px;color:#94a3ba;margin-top:10px;line-height:1.7}
[data-member-error],[data-comment-error]{color:#ecb6ad!important;font-size:12px;white-space:pre-line}
.book-comments{border-top:1px solid #30394c;margin-top:30px;padding-top:24px}.book-comments h3{font-size:17px;color:#e6eaf1;margin-bottom:12px}.book-comments label{font-size:12px;color:#b8c4d8}.book-comments textarea{resize:vertical;min-height:100px;line-height:1.7}.comment-form-foot{display:flex;justify-content:space-between;align-items:center;gap:10px}.comment-form-foot small{font-size:10px;color:#94a3ba}.comment-login{width:100%;margin:8px 0 12px}
.reader-comment{padding:19px 0;border-bottom:1px solid #2b3345}.reader-comment header{display:flex;justify-content:space-between;gap:12px;font-size:12px}.reader-comment time{color:#8e9bb0;font-size:10px}.reader-comment p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85;font-size:13px;color:#cbd4e2}.reader-comment summary{font-size:12px;color:#9dbff0;cursor:pointer}.reader-comment footer{text-align:right}.reader-comment footer button{background:transparent;border:0;padding:5px;color:#929fb6}
.community-page{height:auto!important;min-height:100vh;overflow:auto!important;background:#080b13;color:#e6eaf1;font-family:system-ui,sans-serif}.admin-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;max-width:1100px;margin:auto;padding:24px}.admin-nav a{color:#a7bbd6;text-decoration:none;font-size:13px}.admin-nav nav{display:flex;gap:25px}.admin-nav [aria-current]{color:#fff;border-bottom:1px solid #9bb9e2;padding-bottom:6px}
.admin-main,.policy-main{max-width:980px;margin:24px auto;padding:0 24px 70px}.admin-main h1,.policy-main h1{font-size:28px;margin:25px 0}.admin-main #admin-status{color:#97a7bd;font-size:13px;line-height:1.8}.admin-main #admin-search{display:flex;gap:15px;align-items:flex-end;margin:20px 0}.admin-main #admin-search label:first-child{flex:1}.admin-main #admin-search button{margin-bottom:8px}.admin-card{padding:22px;margin:14px 0;background:#101624;border:1px solid #2b374a;border-radius:12px}.admin-card header{display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between}.admin-card header span,.admin-card p{font-size:12px;color:#99abc3;line-height:1.8;overflow-wrap:anywhere}.admin-card a{color:#a4c4f0}.admin-card .admin-comment{font-size:14px;color:#e0e7f1;white-space:pre-wrap}.admin-actions{display:flex;gap:12px}.policy-main{max-width:760px}.policy-main h2{font-size:19px;margin:30px 0 12px}.policy-main p{font-size:14px;line-height:1.9;color:#b5c1d4}
@media(max-width:1050px){.topbar .data-badge{display:none}.topnav{overflow-x:auto;max-width:58vw}.topnav a{padding:9px 8px}}
@media(max-width:600px){.member-dialog{padding:24px;width:88vw}.topnav{max-width:calc(100vw - 120px)}.topbar .member-nav{padding:8px;font-size:11px}.topbar .ai-button{display:none}.admin-nav{flex-wrap:wrap;padding:18px}.admin-main #admin-search{flex-wrap:wrap}.admin-main #admin-search label:first-child{flex-basis:100%}.admin-main{padding:0 16px 50px}.admin-card{padding:16px}}
@media(max-width:1050px){.topnav{flex:1 1 0;min-width:0;max-width:none;scrollbar-width:none}.topnav::-webkit-scrollbar{display:none}.top-actions{flex-shrink:0}.topnav a{flex-shrink:0}}
.modal.member-modal{width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 40px);margin:auto;overflow:auto}
.member-modal .member-dialog{width:100%;max-width:none;padding:34px 32px 26px}
.member-modal .member-dialog h2{font-family:inherit;font-size:25px;font-weight:600;letter-spacing:-.7px;line-height:1.4;margin:10px 0 14px}
.member-modal .member-close{top:14px;right:15px;width:32px;height:32px;padding:0}
.member-eyebrow{display:block;color:#cbb78c;font-size:10px;letter-spacing:1.5px;padding-right:26px}
.member-dialog button.member-primary{min-height:46px;font-weight:600}
.member-dialog .member-check{font-size:12px;line-height:1.75;margin:20px 0}
.member-check input{flex:0 0 auto;width:16px;height:16px;margin:3px 2px 0 0}
.member-dialog .member-center{text-align:center;margin-bottom:0}
.member-dialog .member-code{text-align:center;font-size:23px;letter-spacing:8px;padding-left:20px}
.member-dialog [data-member-error]:empty{display:none}
.member-dialog [data-member-error]{margin:16px 0 0}
.member-dialog .member-link{display:block;margin:18px auto 0;background:none;border:0;padding:6px;color:#a9bbd3}
.social-logins{display:grid;gap:9px}.member-dialog .social-login{display:flex;align-items:center;gap:13px;width:100%;min-height:45px;text-align:left;font-size:13px;font-weight:500;border-radius:8px}
.social-mark{font-size:18px;font-weight:800;width:20px;text-align:center}.social-login small{margin-left:auto;font-size:10px;font-weight:400}
.member-dialog button.social-google{background:#f7f8fa;color:#30343b;border-color:#d8dce2}.social-google .social-mark{color:#4285f4}
.member-dialog button.social-kakao{background:#fee500;color:#30270b;border-color:#fee500}.member-dialog button.social-naver{background:#03a94d;color:white;border-color:#03a94d}
.member-dialog .social-login:disabled{opacity:.42;cursor:not-allowed}
.member-divider{display:flex;align-items:center;gap:12px;color:#8392a8;font-size:11px;margin:24px 0 20px}.member-divider:before,.member-divider:after{content:'';height:1px;background:#344054;flex:1}
.nickname-card{border:1px solid #c8b18133;border-radius:12px;background:#c8b18108;padding:20px;margin:20px 0 0}
.nickname-card strong{display:block;font-size:21px;font-weight:500;line-height:1.6;word-break:keep-all;overflow-wrap:anywhere;color:#eee2c5;margin:9px 0 17px}
.nickname-card p{margin-bottom:0}.member-email{margin-top:0!important}.member-account-actions{justify-content:space-between;margin:22px 0}
.member-dialog button[data-delete-account]{background:transparent;border-color:transparent;color:#8c99ac;font-size:11px}
.reader-comment header strong{overflow-wrap:anywhere;max-width:75%;line-height:1.6}.reader-comment time{white-space:nowrap}
@media(max-width:480px){.member-modal .member-dialog{padding:30px 23px 23px}.member-modal .member-dialog h2{font-size:23px}.nickname-card{padding:17px}.nickname-card strong{font-size:19px}}

/* Quiet, bookish details shared by membership and privacy screens. */
.community-page {font-family:var(--font-reading)}
.member-modal .member-dialog h2,.nickname-card strong,.policy-main h1,.policy-main h2 {
 font-family:var(--font-literary);
 font-weight:400;
 color:var(--ink-warm);
}
.member-modal .member-dialog h2 {letter-spacing:-.6px;line-height:1.55;margin:12px 0 16px;padding-right:12px}
.member-dialog p {line-height:1.9;word-break:keep-all;text-wrap:pretty}
.member-eyebrow {font-size:10px;letter-spacing:1.8px;color:#d6c092;line-height:1.7}
.member-modal .member-close {top:12px;right:12px;width:38px;height:38px;border-radius:50%;line-height:1;transition:background-color .18s,color .18s}
.member-close:hover {background:#ffffff0a;color:#eee5d6}
.member-dialog label {line-height:1.8}
.member-dialog input:not([type=checkbox]) {padding:13px 14px;border-color:#73829952;background:#0b1421;transition:border-color .18s,box-shadow .18s}
.member-dialog input::placeholder,.book-comments textarea::placeholder {color:#8e9bad;opacity:1}
.member-dialog input:not([type=checkbox]):focus-visible,.book-comments textarea:focus-visible {
 outline:2px solid #d6c092;outline-offset:3px;border-color:#a7987a;
}
.member-dialog a,.policy-main a {text-underline-offset:4px;text-decoration-thickness:1px}
.member-dialog .member-check {gap:10px;margin:21px 0;color:#bfc7d3}
.member-check input {margin-top:4px}
.member-dialog .member-help {color:#a3afc0!important;line-height:1.85}
.member-dialog .member-code {font-variant-numeric:tabular-nums}
.member-divider {color:#9da9ba;letter-spacing:.2px}
.member-divider:before,.member-divider:after {background:var(--rule-soft)}
.member-dialog button:not(.member-close) {transition:background-color .18s,border-color .18s,box-shadow .18s}
.member-dialog button.member-primary:hover:not(:disabled) {background:#345a80;border-color:#7796b4}
.member-dialog .social-login {min-height:47px;padding:11px 16px}
.member-dialog .social-login:hover:not(:disabled) {box-shadow:inset 0 0 0 1px #11182722,0 3px 12px #0002}
.nickname-card {padding:22px;border-color:#d6c0922b;background:linear-gradient(140deg,#d6c0920b,#d6c09203)}
.nickname-card strong {font-size:22px;line-height:1.75;letter-spacing:-.4px;margin:12px 0 20px}
.member-email {font-size:12px!important;color:#a3afc0!important;word-break:break-all!important}
.member-account-actions {align-items:center;padding-top:4px}
.member-dialog button[data-delete-account] {text-underline-offset:4px}
.member-dialog button[data-delete-account]:hover {color:#d8b8b0;text-decoration:underline}
.book-comments {border-top-color:var(--rule-soft);padding-top:26px}
.book-comments h3 {font-weight:500;letter-spacing:-.3px;margin:0 0 16px}
.book-comments textarea {line-height:1.9;padding:14px}
.reader-comment {padding:21px 0;border-bottom-color:#d6c09214}
.reader-comment header strong {color:#ddd3c0;font-weight:500}
.reader-comment p {line-height:1.95;margin:12px 0;color:#cbd1db}
.reader-comment time {font-variant-numeric:tabular-nums}
.policy-main {padding-top:28px;padding-bottom:80px;counter-reset:policy-section}
.policy-back {display:inline-block;color:#a9b6c8!important;font-size:12px;text-decoration:none;line-height:1.8;padding:8px 0}
.policy-back:hover {color:var(--ink-warm)!important}
.policy-header {margin:40px 0 12px;padding-bottom:30px;border-bottom:1px solid var(--rule-soft)}
.policy-header .member-eyebrow {margin:0 0 13px}
.policy-main h1 {font-size:29px;line-height:1.6;letter-spacing:-.7px;word-break:keep-all;margin:0 0 18px}
.policy-main .policy-meta {font-size:12px;line-height:2;color:#a0abba;margin:0}
.policy-main h2 {font-size:20px;line-height:1.65;letter-spacing:-.35px;margin:38px 0 14px;word-break:keep-all}
.policy-main h2:before {counter-increment:policy-section;content:counter(policy-section,decimal-leading-zero);display:block;font-family:var(--font-reading);font-size:10px;letter-spacing:1.6px;line-height:1.5;color:#bdab87;margin-bottom:9px}
.policy-main p {font-size:14px;line-height:2.05;color:#bdc4ce;word-break:keep-all;overflow-wrap:anywhere;text-wrap:pretty;margin:12px 0}
.policy-main>p+p {margin-top:18px}
.admin-nav {border-bottom:1px solid var(--rule-soft)}
.admin-main h1 {font-weight:500;letter-spacing:-.6px;line-height:1.6}
.admin-card {border-color:#d6c0921c}
.admin-nav a {text-underline-offset:6px}
.admin-tabs {display:flex;gap:28px;margin:0 0 28px;border-bottom:1px solid var(--rule-soft)}
.admin-tabs a {display:block;padding:13px 2px;color:#a5b3c8;text-decoration:none;font-size:14px;white-space:nowrap;border-bottom:2px solid transparent}
.admin-tabs a:hover {color:#eee5d6}
.admin-tabs a[aria-current="page"] {color:var(--ink-warm);border-bottom-color:#d6c092}
.admin-tabs a:focus-visible {outline:2px solid #d6c092;outline-offset:3px}
.admin-section-heading {font-size:20px;font-weight:500;line-height:1.6;margin:0 0 10px;color:var(--ink-warm)}
.admin-revenue {margin:24px 0 30px;padding:22px;border:1px solid var(--rule-soft);border-radius:12px;background:#101624}
.admin-revenue h2 {font-size:16px;font-weight:500;color:var(--ink-warm);margin:0 0 8px}
.admin-revenue p {font-size:12px;color:#a3afc0;line-height:1.8;margin:0 0 16px}
.admin-revenue-links {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.admin-revenue-links a {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px;border:1px solid #52658066;border-radius:9px;color:#e5dfd2;text-decoration:none;background:#151f30;transition:background-color .18s,border-color .18s}
.admin-revenue-links a:hover {background:#1c2b40;border-color:#99b0cb}
.admin-revenue-links a:focus-visible {outline:2px solid #d6c092;outline-offset:4px}
.admin-revenue-links strong,.admin-revenue-links small {display:block}
.admin-revenue-links strong {font-size:14px;font-weight:500;line-height:1.6}
.admin-revenue-links small {font-size:11px;line-height:1.8;color:#a4b3c7;margin-top:4px}
.admin-external {font-size:11px;white-space:nowrap;color:#a8bfdc}
.admin-revenue .admin-revenue-note {font-size:11px;margin:14px 0 0;color:#96a4b8}
@media(max-width:640px) {.admin-revenue {padding:18px}.admin-revenue-links {grid-template-columns:1fr}}
@media(max-width:640px) {
 .member-dialog input:not([type=checkbox]),.book-comments textarea {font-size:16px}
 .member-dialog .member-code {font-size:23px}
 .policy-main {margin-top:12px;padding:10px 24px 52px}
 .policy-header {margin-top:29px;padding-bottom:25px}
 .policy-main h1 {font-size:25px;letter-spacing:-.8px}
 .policy-main h2 {font-size:19px;margin-top:32px}
 .policy-main p {line-height:2;font-size:14px}
}
@media(max-width:480px) {
 .nickname-card {padding:19px}
 .nickname-card strong {font-size:20px}
 .member-modal .member-dialog h2 {font-size:23px}
}
/* Public shelf controls stay within the existing shelf header. */
.shelf-sharing{margin-top:20px;padding-top:16px;border-top:1px solid rgba(224,204,162,.16);font-family:var(--font-ui,system-ui);font-size:12px;line-height:1.7}
.shelf-sharing-status,.shelf-sharing-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.shelf-sharing-status{justify-content:space-between;color:#dfc799}
.shelf-sharing button,.shelf-sharing-actions a{font:inherit;color:#ead8b5;border:1px solid rgba(224,204,162,.25);background:rgba(224,204,162,.05);border-radius:9px;padding:7px 11px;text-decoration:none;cursor:pointer}
.shelf-sharing button:hover,.shelf-sharing-actions a:hover{background:rgba(224,204,162,.12)}
.shelf-sharing button:disabled{opacity:.5;cursor:wait}
.shelf-sharing p{font-size:12px!important;line-height:1.75!important;margin:10px 0!important;color:#aaa9b2}
.shelf-share-url{display:block;margin-top:12px;color:#aaa9b2;font-size:11px}
.shelf-share-url input{display:block;width:100%;min-width:0;margin-top:5px;padding:8px 10px;box-sizing:border-box;border:1px solid rgba(224,204,162,.16);border-radius:7px;background:rgba(0,0,0,.16);color:#c5c1bd;font:11px/1.5 system-ui}
.shelf-sharing .shelf-sharing-error:empty{display:none}
.viewing-shelf .panel-header h2{overflow-wrap:anywhere}
.shelf-sharing summary{cursor:pointer;color:#dfc799;min-height:28px;list-style-position:inside}
.shelf-sharing summary span{float:right;color:#aaa9b2;font-size:11px}
.shelf-sharing details[open] summary{margin-bottom:12px}
.viewing-shelf .results-panel:has(.shelf-sharing details[open]){display:block;overflow-y:auto}
.viewing-shelf .results-panel:has(.shelf-sharing details[open]) .results-list{overflow:visible}
.service-links a{color:inherit;text-decoration:none}
.service-links a:hover{text-decoration:underline;color:#e5d5b6}
.policy-main h3{font-size:16px;margin:28px 0 10px;color:#dfd2bc}
.policy-main a:focus-visible{outline:2px solid #dfc799;outline-offset:4px}
@media(max-width:640px){.canvas-footer>span.service-links{display:flex;gap:6px;font-size:9px}.canvas-footer .service-links i{margin:0}.canvas-footer #data-footnote{display:none}}
