:root{--cr-bg:var(--nxp-card-bg, #ffffff);--cr-surface:var(--nxp-bg-3, #f2f3f5);--cr-text:var(--nxp-text, #334155);--cr-meta:var(--nxp-text-3, #64748b);--cr-border:var(--nxp-border, #e2e8f0);--cr-accent:var(--nxp-primary, #007bff)}.kts-wrap{max-width:auto;margin:0 auto 40px;font-family:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;line-height:1.6;display:block!important}.kts-separator{border-top:1px solid #e2e8f0;margin:40px auto 20px;max-width:auto}.kts-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:10px}.kts-count{font-size:20px;font-weight:700;color:#000;margin:0}.kts-sort-select{border:1px solid #e2e8f0;padding:6px 12px;border-radius:4px;background:#fff;font-size:14px;color:#0f0f0f;outline:none;cursor:pointer;transition:all 0.2s}.kts-sort-select:hover{border-color:#cbd5e1}.kts-sort-select:focus{border-color:var(--nxp-primary,#007bff);box-shadow:0 0 0 3px rgb(0 123 255 / .1)}.kts-form-card{border:1px solid #f1f5f9;border-radius:12px;padding:20px;box-shadow:0 1px 3px rgb(0 0 0 / .05);margin-bottom:30px;position:relative}.kts-textarea{width:100%;border:none;border-radius:8px;padding:15px;font-size:15px;min-height:80px;box-sizing:border-box;outline:none;resize:vertical;font-family:inherit}.kts-submit{background:linear-gradient(135deg,var(--nxp-primary,#007bff),var(--nxp-primary-dark,#0056b3));color:#fff;border:none;padding:10px 28px;border-radius:50px;font-weight:600;cursor:pointer;margin-top:15px;transition:all 0.2s;font-size:14px}.kts-reply-submit{margin-top:0px!important}.kts-submit:hover{background:linear-gradient(135deg,var(--nxp-primary,#007bff),var(--nxp-primary-dark,#0056b3));filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 4px 8px rgb(0 0 0 / .16)}.kts-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.kts-form-footer{margin-top:12px;font-size:11px;color:#94a3b8}.kts-form-footer a{color:inherit;text-decoration:underline;cursor:pointer}.kts-form-footer a:hover{color:#64748b}.kts-text p:last-child{margin-bottom:0}p.form-submit{margin-bottom:0}.kts-list{list-style:none;padding:0;margin:0;transition:opacity 0.3s ease}.kts-list.loading{opacity:.5;pointer-events:none}.kts-item{margin-bottom:30px;list-style:none;animation:fadeIn 0.4s ease}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.kts-comment-block{transition:all 0.2s}.kts-user-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}.kts-avatar{width:44px;height:44px;border-radius:10px;object-fit:cover;flex-shrink:0;transition:all 0.3s}.kts-user-meta{line-height:1.3;flex:1}.kts-author{font-weight:700;color:#1e293b;font-size:15px;display:flex;line-height:1.1;gap:6px;align-items:center;justify-content:left}.kts-author-link{color:inherit;text-decoration:none;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.kts-author-link:hover{color:var(--nxp-primary,#007bff)}.kts-user-title-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:1px;margin-bottom:1px}.kts-date{font-size:12px;color:var(--cr-meta,#94a3b8);display:inline;font-weight:500}.kts-actions .kts-date{white-space:nowrap;margin-left:auto;line-height:1}.kts-actions .kts-more-wrap{margin-left:-8px}.kts-edited-label{font-size:11px;color:var(--cr-meta,#94a3b8);font-style:italic}.kts-vip-badge{display:inline-flex;align-items:center;gap:2px;background:linear-gradient(135deg,#6b21a8 0%,#9333ea 100%);color:#fff;font-size:12px;font-weight:700;padding:1px 6px;border-radius:4px;text-transform:uppercase;line-height:1.3}@keyframes vipPulse{0%,100%{box-shadow:0 2px 4px rgb(107 33 168 / .3)}50%{box-shadow:0 2px 8px rgb(107 33 168 / .5)}}.kts-user-title{display:inline-flex;align-items:center;background:#6366f1;color:#fff;font-size:10px;font-weight:700;padding:2px 8px;border-radius:4px;margin-left:5px;text-transform:uppercase;letter-spacing:.5px}.kts-text{background:#f2f3f5;padding:12px 14px;border-radius:10px;color:#334155;font-size:15px;display:block;width:100%;box-sizing:border-box;word-wrap:break-word;line-height:1.6}.kts-text p{margin:0 0 10px 0}.kts-text p:last-child{margin-bottom:0}.kts-clamp-inner{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--kts-clamp-lines,8);overflow:hidden}.kts-noclamp>.kts-clamp-inner,.is-expanded>.kts-clamp-inner{-webkit-line-clamp:none;overflow:visible}.kts-clamp-toggle{display:inline-flex;align-items:center;gap:5px;margin-top:4px;padding:0;background:none;border:none;cursor:pointer;font-size:.82rem;font-weight:700;color:var(--nxp-text-2);font-family:inherit;touch-action:manipulation}.kts-clamp-toggle i{font-size:.7rem;transition:transform 0.2s ease}.kts-clamp-toggle[aria-expanded="true"] i{transform:rotate(180deg)}.kts-actions{display:flex;align-items:center;gap:18px;margin-top:10px;padding-left:4px;flex-wrap:wrap}.kts-btn{background:none;border:none;padding:0;color:#64748b;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all 0.2s;text-decoration:none}.kts-btn:hover{color:var(--nxp-primary,#007bff);transform:translateY(-1px)}.kts-btn i{font-size:15px}.kts-btn.active{color:var(--nxp-primary,#007bff);font-weight:600}.kts-btn.dislike.active{color:#ef4444}.kts-btn .count{min-width:20px;text-align:left}.kts-more-wrap{margin-left:auto;position:relative}.kts-more-options{color:#94a3b8;cursor:pointer;font-size:16px;padding:5px;border-radius:50%;transition:all 0.2s;display:flex;align-items:center;justify-content:center}.kts-more-options:hover{background:#f1f5f9;color:#475569}.kts-dropdown{position:absolute;right:0;top:100%;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 12px rgb(0 0 0 / .1);z-index:100;display:none;min-width:200px;overflow:hidden;margin-top:5px}.kts-dropdown.active{display:block;animation:dropdownSlide 0.2s ease}@keyframes dropdownSlide{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.kts-dropdown-item{padding:10px 15px;font-size:14px;color:#475569;cursor:pointer;transition:background 0.2s;width:100%;text-align:left;border:none;background:none;display:flex;align-items:center;gap:8px;text-decoration:none}.kts-dropdown-item>i{width:16px;flex-shrink:0;text-align:center;font-size:13px}.kts-dropdown-item:hover{background:#f8fafc}.kts-dropdown-item.kts-delete-comment-btn{color:#ef4444;font-weight:600}.kts-delete-comment-btn:hover{background:#fef2f2}.kts-view-replies{color:var(--nxp-primary,#007bff);background:none;border:none;font-weight:700;font-size:14px;margin-top:12px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;text-decoration:none;transition:all 0.2s}.kts-view-replies:hover{color:var(--nxp-primary-dark,#0056b3);gap:6px}.kts-list>.kts-item>.children{display:none;margin-left:56px;padding-top:20px;border-left:2px solid #f1f5f9;padding-left:20px;list-style:none}.kts-item .children .kts-item>.children{display:block;margin-left:40px;padding-top:12px;border-left:2px solid #f1f5f9;padding-left:16px;list-style:none}.kts-item .children .kts-item{margin-bottom:20px}.kts-pagination{margin-top:40px;padding-top:20px;border-top:1px solid #f1f5f9;display:flex;justify-content:center;align-items:center;gap:20px}.kts-page-btn{background:#fff;border:1px solid #e2e8f0;padding:8px 16px;border-radius:8px;color:#475569;cursor:pointer;font-size:14px;font-weight:500;transition:all 0.2s;display:flex;align-items:center;gap:6px}.kts-page-btn:hover{background:#f8fafc;border-color:#cbd5e1;transform:translateY(-1px)}.kts-page-info{color:#64748b;font-size:14px}.kts-empty{text-align:center;padding:94px 20px;color:var(--cr-text,--nxp-text-3);background:var(--nxp-card-bg,#fff);border:1px solid var(--nxp-border-rw,#e2e8f0);border-radius:16px;box-shadow:0 1px 3px rgb(0 0 0 / .05)}.kts-empty i{font-size:2.5rem;display:block;margin-bottom:12px}.kts-empty p{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--cr-text,--nxp-text-2)}.kts-empty span{display:block;font-size:13px}.kts-modal{display:none;position:fixed;z-index:9999;left:0;top:0;width:100%;height:100%;background:rgb(0 0 0 / .5);align-items:center;justify-content:center}.kts-modal-content{background:#fff;padding:30px;border-radius:12px;max-width:450px;width:90%;position:relative;box-shadow:0 10px 25px rgb(0 0 0 / .1);font-family:'Inter',sans-serif;animation:modalSlide 0.3s ease}@keyframes modalSlide{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.kts-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.kts-modal-header h2{margin:0;font-size:22px;font-weight:700;color:#1e293b}.kts-close-modal{font-size:24px;cursor:pointer;color:#94a3b8;border:none;background:none;transition:color 0.2s;position:absolute;top:6px;right:13px}.kts-close-modal:hover{color:#475569}.kts-policy-list{padding-left:5px;margin-bottom:20px}.kts-policy-list li{margin-bottom:10px;font-size:14px;color:#475569;line-height:1.6}.kts-policy-list strong{color:#1e293b}.kts-modal-footer{font-size:13px;color:#64748b;margin-top:15px;border-top:1px solid #f1f5f9;padding-top:15px;line-height:1.6}.kts-modal-footer a{color:var(--nxp-primary,#007bff);text-decoration:underline}.kts-modal-ok{background:var(--nxp-primary,#007bff);color:#fff;border:none;padding:10px 30px;border-radius:50px;font-weight:600;cursor:pointer;width:100%;margin-top:10px;transition:all 0.2s}.kts-modal-ok:hover{background:var(--nxp-primary-dark,#0056b3);transform:translateY(-1px)}.kts-loading{opacity:.6;pointer-events:none}.kts-spinner{display:inline-block;width:20px;height:20px;border:2px solid #f3f3f3;border-top:2px solid var(--nxp-primary,#007bff);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@media print{.kts-form-card,.kts-actions,.kts-sort,.kts-pagination{display:none!important}.kts-wrap{background:#fff}}.kts-pending-badge{display:inline-flex;align-items:center;gap:3px;background:#f59e0b;color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;margin-left:6px;text-transform:uppercase;letter-spacing:.4px;vertical-align:middle}.kts-wrap{max-width:auto;margin:0 auto 40px;font-family:var(--cr-font-family,'Inter',-apple-system,sans-serif);line-height:1.6;display:block!important;color:var(--cr-text,#1e293b)}.kts-separator{border-top:1px solid var(--cr-border,#e2e8f0);margin:40px auto 20px}.kts-count{font-size:20px;font-weight:700;color:var(--cr-text,#000)}.kts-form-card{border:1px solid var(--cr-border,#f1f5f9);border-radius:12px;padding:20px}.kts-textarea{background:var(--cr-surface,#f2f3f5);color:var(--cr-text,#334155);border:1px solid var(--cr-border,transparent);width:100%;border-radius:8px;padding:15px}.kts-text{background:var(--cr-surface,#f2f3f5);color:var(--cr-text,#334155);padding:12px 14px;border-radius:10px;word-wrap:break-word}.kts-author{color:var(--cr-text,#1e293b)}.kts-date,.kts-btn,.kts-more-options{color:var(--cr-meta,#64748b)}.kts-dropdown{background:var(--cr-surface,#fff);border:1px solid var(--cr-border,#e2e8f0)}.kts-dropdown-item{color:var(--cr-text,#475569)}.kts-dropdown-item:hover{background:var(--cr-bg,#f8fafc)}.kts-page-btn{background:var(--cr-surface,#fff);border:1px solid var(--cr-border,#e2e8f0);color:var(--cr-text,#000000)}.kts-pinned-item{order:-1}.kts-pinned-block{position:relative}.kts-pin-icon{position:absolute;top:10px;right:12px;color:#6366f1;font-size:13px;opacity:.75;line-height:1;pointer-events:none}.kts-pin-icon .fa-thumbtack{transform:rotate(45deg);display:block}.kts-spoiler-wrap{display:inline;border-radius:2px;background:var(--nxp-text);cursor:pointer;transition:background .2s ease;-webkit-box-decoration-break:clone;box-decoration-break:clone}.kts-spoiler-wrap .kts-spoiler-btn{display:none}.kts-spoiler-wrap[data-spoiler="hidden"] .kts-spoiler-content{color:#fff0;text-shadow:none;filter:blur(4px);user-select:none;pointer-events:none;transition:color .2s ease,filter .2s ease}.kts-spoiler-wrap[data-spoiler="hidden"]:hover{background:#2b3648}.kts-spoiler-wrap[data-spoiler="hidden"] img{filter:blur(14px)}.kts-spoiler-wrap[data-spoiler="visible"]{background:#fff0;cursor:text}.kts-spoiler-wrap[data-spoiler="visible"] .kts-spoiler-content{color:inherit;filter:none;user-select:text;pointer-events:auto;transition:color .2s ease,filter .2s ease}.kts-spoiler-wrap[data-spoiler="visible"] img{filter:none}@media (prefers-reduced-motion:reduce){.kts-spoiler-wrap,.kts-spoiler-wrap .kts-spoiler-content{transition:none}}.kvr-editor .kts-spoiler-wrap{background:#fff0;outline:1px dashed #8b5cf6;cursor:text}.kvr-editor .kts-spoiler-wrap .kts-spoiler-content{color:inherit!important;filter:none!important;user-select:text;pointer-events:auto}.kts-editor-wrap{display:flex;flex-direction:column}.kts-toolbar{display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #e2e8f0;border-bottom:none;border-radius:10px 10px 0 0}.kts-toolbar-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;font-size:12px;font-weight:600;color:var(--nxp-primary);background:#fff;border:1px solid #b5ccfd;border-radius:6px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}@media (hover:hover) and (pointer:fine){.kts-toolbar-btn:hover{background:#f5f3ff}}.kts-toolbar-btn.is-active{background:var(--nxp-primary);border-color:var(--nxp-primary);color:#fff}.kts-insert-bold,.kts-insert-italic{padding:4px 9px;font-weight:700;min-width:28px;justify-content:center}.kts-insert-bold:hover,.kts-insert-italic:hover{background:#f5f3ff}.kts-toolbar-sep{display:inline-block;width:1px;height:18px;background:#e2e8f0;margin:0 2px;align-self:center}.kts-editor-wrap .kts-textarea{border-top-left-radius:0;border-top-right-radius:0}.kts-reactions{display:flex;flex-wrap:wrap;gap:4px;padding:6px 0 2px;margin-top:4px}.kts-reaction-btn{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;font-size:13px;line-height:1;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:20px;cursor:pointer;transition:background .15s,border-color .15s,transform .1s}.kts-reaction-btn:hover{background:#e2e8f0;transform:scale(1.12)}.kts-reaction-btn.active{background:#ede9fe;border-color:#8baefa;font-weight:700}.kts-reaction-emoji{font-size:16px;line-height:1}.kts-reaction-count{font-size:11px;font-weight:700;color:#475569;min-width:10px}.kts-reaction-btn.active .kts-reaction-count{color:#6d28d9}.kts-edit-form{margin-top:8px}.kts-edit-loading{padding:10px;color:#94a3b8;font-size:14px}.kts-edit-textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:2px solid #6366f1;border-radius:8px;font-size:14px;font-family:inherit;line-height:1.6;resize:vertical;min-height:80px;outline:none;transition:border-color .2s}.kts-edit-textarea:focus{border-color:#4f46e5}.kts-edit-actions{display:flex;gap:8px;margin-top:6px}.kts-edit-save{background:#6366f1!important;color:#fff!important;border:none;padding:6px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.kts-edit-save:hover{background:#4f46e5}.kts-edit-save:disabled{opacity:.6;cursor:not-allowed}.kts-edit-cancel{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0;padding:6px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.kts-edit-cancel:hover{background:#e2e8f0}@keyframes kts-edit-flash{0%,100%{background:#fff0}30%{background:#dcfce7}}.kts-edit-success-flash{animation:kts-edit-flash 1.2s ease}.kts-wrap{max-width:auto;margin:0 auto 40px;font-family:var(--cr-font-family,'Inter',-apple-system,sans-serif);line-height:1.6;display:block!important;color:var(--cr-text,#1e293b)}.kts-separator{border-top:1px solid var(--cr-border,#e2e8f0);margin:40px auto 20px}.kts-count{font-size:20px;font-weight:700;color:var(--cr-text,#000)}.kts-form-card{border:1px solid var(--cr-border,#f1f5f9);border-radius:12px;padding:20px}.kts-toolbar{border:1px solid var(--cr-border,#e2e8f0);border-bottom:none}.kts-toolbar-btn{background:var(--cr-bg,#fff);border:1px solid var(--cr-border,#b5cefd);color:var(--nxp-primary)}.kts-text{background:var(--nxp-border-rw);color:var(--cr-text,#334155);padding:12px 14px;border-radius:10px}.kts-author{color:var(--cr-text,#1e293b)}.kts-date,.kts-btn,.kts-more-options{color:var(--cr-meta,#64748b)}.kts-spoiler-btn{color:var(--cr-accent,#3a73ed);background:var(--cr-surface,#f5f3ff);border:1px solid var(--cr-border,#b5c8fd)}.kts-reaction-btn{background:var(--cr-surface,#f1f5f9);border:1px solid var(--cr-border,#e2e8f0)}.kts-reaction-btn:hover{background:var(--cr-bg,#e2e8f0)}.kts-reaction-count{color:var(--cr-meta,#475569)}.kts-edit-textarea{background:var(--cr-bg,#fff);color:var(--cr-text,#1e293b);border:2px solid var(--cr-accent)}.kts-edit-cancel{background:var(--cr-surface,#f1f5f9);color:var(--cr-meta,#475569);border:1px solid var(--cr-border,#e2e8f0)}.kts-dropdown{background:var(--cr-surface,#fff);border:1px solid var(--cr-border,#e2e8f0)}.kts-dropdown-item{color:var(--cr-text,#475569)}.kts-dropdown-item:hover{background:var(--cr-bg,#f8fafc)}.kts-pin-icon{color:var(--cr-accent)}html[data-theme="dark"] .kts-spoiler-btn:not(#nxp-reader *),#nxp-reader[data-theme="dark"] .kts-spoiler-btn{background:#1e1b4b;border-color:#3872ca}html[data-theme="dark"] .kts-reaction-btn:not(#nxp-reader *),#nxp-reader[data-theme="dark"] .kts-reaction-btn{background:#1e293b;border-color:#334155}html[data-theme="dark"] .kts-edit-textarea:not(#nxp-reader *),#nxp-reader[data-theme="dark"] .kts-edit-textarea{background:#0f172a;color:#e2e8f0}@keyframes kts-title-slide{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}@media (max-width:520px){.kts-inline-reply-form{background:var(--cr-bg,#fff)!important;border:none!important;border-bottom:1px solid var(--cr-border,#e2e8f0)!important;border-radius:0!important;box-shadow:none;padding:15px 0px!important;margin-bottom:20px}}@media (max-width:520px){.kts-form-card{border:none!important;border-bottom:1px solid var(--cr-border,#e2e8f0)!important;border-radius:0!important;box-shadow:none;padding:15px 0px!important;margin-bottom:20px}.kts-header{margin-bottom:0;padding:0 5px 15px;flex-wrap:wrap;gap:10px}.kts-count{font-size:18px}.kts-sort-select{font-size:13px;padding:5px 10px}.kts-avatar{width:36px;height:36px}.kts-author{font-size:14px}.kts-date{font-size:12px}.kts-text{font-size:14px;padding:10px 12px}.kts-actions{gap:12px;font-size:13px}.kts-btn{font-size:13px}.kts-list>.kts-item>.children,.kts-item .children .kts-item>.children{margin-left:10px;padding-left:5px}.kts-modal-content{padding:38px 24px;width:95%}.kts-modal-header h2{font-size:18px}.kts-vip-badge,.kts-user-title{font-size:12px;padding:1px 5px}}.kts-inline-reply-form{margin-top:12px;padding:12px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.kts-inline-reply-form .kts-reply-textarea{width:100%;box-sizing:border-box;margin-bottom:8px;resize:vertical}.kts-inline-reply-form .kts-submit-row{display:flex;gap:8px;justify-content:flex-end}.kts-edited-label{font-size:12px;color:#94a3b8;font-style:italic;cursor:default}.kts-comment-meme{margin-top:10px}.kts-comment-meme img{height:150px;max-width:280px;max-height:220px;border-radius:8px;border:1px solid #e2e8f0;display:block}.kts-picker-wrap{position:relative}.kts-picker-panel{position:absolute;top:32px;left:0;z-index:9999;background:var(--cr-bg);color:var(--cr-text);border:1px solid var(--cr-border);border-radius:12px;box-shadow:0 8px 30px rgb(0 0 0 / .18);padding:12px;width:340px}.kts-picker-panel.kts-emoji-panel{max-height:280px;overflow-y:auto}.kts-emoji-grid{display:flex;flex-wrap:wrap;gap:4px}.kts-emoji-item{background:none;border:1px solid #fff0;border-radius:6px;font-size:22px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 0.12s,transform 0.1s;line-height:1}.kts-emoji-item:hover{background:var(--cr-surface,#f1f5f9);border-color:var(--cr-border,#e2e8f0);transform:scale(1.18)}.kts-meme-search{width:100%;box-sizing:border-box;padding:7px 10px;border:1px solid var(--cr-border,#e2e8f0);border-radius:8px;font-size:13px;margin-bottom:10px;outline:none;background:var(--cr-surface,#f8fafc);color:var(--cr-text,#1e293b)}.kts-meme-search:focus{border-color:#3a64ed}.kts-meme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));grid-auto-rows:70px;gap:6px}.kts-meme-thumb{cursor:pointer;border-radius:6px;overflow:hidden;border:2px solid #fff0;transition:border-color 0.15s,transform 0.12s;height:100%}.kts-meme-thumb:hover{border-color:var(--nxp-primary,#007bff);transform:scale(1.04)}.kts-meme-thumb img{width:100%;height:100%;object-fit:cover;display:block}.kts-meme-remove-btn{display:block;width:100%;margin-top:10px;padding:6px 10px;font-size:12px;color:#ef4444;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;cursor:pointer;text-align:center;transition:background 0.15s}.kts-meme-remove-btn:hover{background:#fee2e2}.kts-pending-msg{font-size:12px;color:#f59e0b;margin:6px 0 0;padding:5px 10px;background:#fffbeb;border-radius:6px;border:1px solid #fde68a}.kts-inline-reply-form{margin-top:14px;padding:14px;background:var(--cr-bg,#f8fafc);border-radius:10px;border:1px solid var(--cr-border,#e2e8f0);animation:fadeIn 0.25s ease}.kts-inline-reply-form .kts-toolbar{border-radius:8px 8px 0 0}.kts-inline-reply-form .kts-reply-textarea{min-height:80px;border-top-left-radius:0;border-top-right-radius:0}.kts-inline-reply-form .kts-submit-row{display:flex;gap:8px;margin-top:10px;align-items:center}.kts-inline-reply-form .kts-form-footer{display:none;margin-top:8px;font-size:11px;color:#94a3b8}html[data-theme="dark"] .kts-picker-panel:not(#nxp-reader *),#nxp-reader[data-theme="dark"] .kts-picker-panel{background:#1e293b;border-color:#334155;color:#e2e8f0}html[data-theme="dark"] .kts-meme-search:not(#nxp-reader *),#nxp-reader[data-theme="dark"] .kts-meme-search{background:#0f172a;color:#e2e8f0;border-color:#334155}html[data-theme="dark"] .kts-emoji-item:hover:not(#nxp-reader *),#nxp-reader[data-theme="dark"] .kts-emoji-item:hover{background:#334155}html[data-theme="dark"] .kts-meme-thumb:hover:not(#nxp-reader *),#nxp-reader[data-theme="dark"] .kts-meme-thumb:hover{border-color:#8baefa}html[data-theme="dark"] .kts-inline-reply-form:not(#nxp-reader *),#nxp-reader[data-theme="dark"] .kts-inline-reply-form{background:#1e293b;border-color:#334155}.kts-replying-to-banner{display:flex;align-items:center;gap:8px;font-size:13px;color:#6366f1;background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;padding:7px 12px;margin-bottom:10px;font-weight:500}.kts-replying-to-banner i{font-size:12px;opacity:.7}.kts-replying-to-banner strong{color:#4338ca}.kts-reply-cancel-x{margin-left:auto;background:none;border:none;cursor:pointer;color:#6366f1;opacity:.6;padding:2px 4px;border-radius:4px;line-height:1;font-size:13px;transition:opacity .15s}.kts-reply-cancel-x:hover{opacity:1;background:#c7d2fe}.kts-submit-row .kts-reply-cancel-btn,.kts-submit-row .kts-reply-cancel{display:inline-flex;align-items:center;gap:5px;padding:8px 16px;border-radius:8px;border:1.5px solid #e2e8f0;background:#fff;color:#64748b;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.kts-submit-row .kts-reply-cancel-btn:hover,.kts-submit-row .kts-reply-cancel:hover{background:#f1f5f9;border-color:#cbd5e1;color:#1e293b}.kts-picker-tabs{display:flex;flex-wrap:nowrap;gap:2px;padding:8px 4px 0;border-bottom:1px solid var(--cr-border,#e2e8f0);margin-bottom:8px}.kts-picker-tab{display:inline-flex;align-items:center;justify-content:center;gap:4px;flex:1 1 0%;min-width:0;padding:6px 4px;border-radius:7px 7px 0 0;border:1px solid #fff0;border-bottom:none;background:none;white-space:nowrap;font-size:12px;font-weight:500;color:var(--cr-meta,#64748b);cursor:pointer;transition:background .15s,color .15s;margin-bottom:-1px}.kts-picker-tab:hover{background:var(--cr-surface,#f1f5f9);color:var(--cr-text,#1e293b)}.kts-picker-tab.active{background:var(--cr-bg,#fff);color:#3a64ed;border-color:var(--cr-border,#e2e8f0);border-bottom-color:var(--cr-bg,#fff);font-weight:600}.kts-tab-pane{padding:4px;height:260px;display:flex;flex-direction:column}.kts-tab-pane .kts-meme-search{flex:0 0 auto}.kts-tab-pane .kts-gif-status{flex:0 0 auto}.kts-tab-pane .kts-meme-grid{flex:1 1 auto;min-height:0;overflow-y:auto;align-content:flex-start}.kts-gif-grid{min-height:80px}.kts-gif-status{margin:0;padding:8px;font-size:12px;color:var(--cr-meta,#94a3b8)}html[data-theme="dark"] .kts-replying-to-banner:not(#nxp-reader *),#nxp-reader[data-theme="dark"] .kts-replying-to-banner{background:#1e1b4b;border-color:#3730a3;color:#a5b4fc}html[data-theme="dark"] .kts-replying-to-banner strong:not(#nxp-reader *),#nxp-reader[data-theme="dark"] .kts-replying-to-banner strong{color:#c7d2fe}html[data-theme="dark"] .kts-submit-row .kts-reply-cancel-btn:not(#nxp-reader *),html[data-theme="dark"] .kts-submit-row .kts-reply-cancel:not(#nxp-reader *),#nxp-reader[data-theme="dark"] .kts-submit-row .kts-reply-cancel-btn,#nxp-reader[data-theme="dark"] .kts-submit-row .kts-reply-cancel{background:#1e293b;border-color:#334155;color:#94a3b8}html[data-theme="dark"] .kts-picker-tabs:not(#nxp-reader *),#nxp-reader[data-theme="dark"] .kts-picker-tabs{border-color:#334155}html[data-theme="dark"] .kts-picker-tab:not(#nxp-reader *),#nxp-reader[data-theme="dark"] .kts-picker-tab{color:#94a3b8}html[data-theme="dark"] .kts-picker-tab:hover:not(#nxp-reader *),#nxp-reader[data-theme="dark"] .kts-picker-tab:hover{background:#334155;color:#e2e8f0}html[data-theme="dark"] .kts-picker-tab.active:not(#nxp-reader *),#nxp-reader[data-theme="dark"] .kts-picker-tab.active{background:#1e293b;border-color:#334155;border-bottom-color:#1e293b;color:#8baefa}.kts-mention-dropdown{position:absolute;z-index:99999;list-style:none;margin:0;padding:5px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 6px -1px rgb(0 0 0 / .07),0 10px 30px rgb(0 0 0 / .12);max-height:240px;overflow-y:auto;font-size:13px;scrollbar-width:thin}.kts-mention-dropdown::-webkit-scrollbar{width:4px}.kts-mention-dropdown::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:4px}.kts-mention-dropdown li{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:8px;cursor:pointer;color:#1e293b;font-weight:500;transition:background .1s;user-select:none}.kts-mention-dropdown li:hover,.kts-mention-dropdown li.kts-mention-active{background:#f1f5f9}.kts-mention-dropdown li.kts-mention-active{background:#eef2ff}.kts-mention-avatar{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}img.kts-mention-avatar-img{width:26px;height:26px;border-radius:50%;object-fit:cover;background:#e2e8f0}.kts-mention-name{color:#374151;font-size:13px}.kts-mention-name::first-letter{color:#6366f1;font-weight:700}.kts-text .kts-mention-tag{display:inline;font-weight:600;padding:1px 5px;border-radius:4px;font-size:.92em;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background .15s ease,color .15s ease}.kts-text a.kts-mention-tag:hover{text-decoration:underline}html[data-theme="dark"] .kts-mention-dropdown:not(#nxp-reader *),#nxp-reader[data-theme="dark"] .kts-mention-dropdown{background:#1e293b;border-color:#334155}html[data-theme="dark"] .kts-mention-dropdown li:not(#nxp-reader *),#nxp-reader[data-theme="dark"] .kts-mention-dropdown li{color:#e2e8f0}html[data-theme="dark"] .kts-mention-dropdown li:hover:not(#nxp-reader *),#nxp-reader[data-theme="dark"] .kts-mention-dropdown li:hover{background:#273549}html[data-theme="dark"] .kts-mention-dropdown li.kts-mention-active:not(#nxp-reader *),#nxp-reader[data-theme="dark"] .kts-mention-dropdown li.kts-mention-active{background:#1e1b4b}.kts-wrap{background:#fff0}.kts-header{border-color:var(--cr-border,#e2e8f0)}.kts-sort-select{background:var(--cr-surface,#fff);color:var(--cr-text,#0f0f0f);border-color:var(--cr-border,#e2e8f0)}.kts-submit-row .kts-reply-cancel-btn,.kts-submit-row .kts-reply-cancel{background:var(--cr-surface,#fff);color:var(--cr-meta,#64748b);border-color:var(--cr-border,#e2e8f0)}.kts-submit-row .kts-reply-cancel-btn:hover,.kts-submit-row .kts-reply-cancel:hover{background:var(--cr-bg,#f1f5f9);color:var(--cr-text,#1e293b)}.kts-more-options:hover{background:var(--cr-surface,#f1f5f9);color:var(--cr-text,#475569)}.kts-page-btn{background:var(--cr-surface,#fff);border-color:var(--cr-border,#e2e8f0);color:var(--cr-text,#475569)}.kts-page-btn:hover{background:var(--cr-bg,#f8fafc);border-color:#3a64ed;color:#3a64ed}.kts-inline-reply-form{background:var(--cr-surface,#f8fafc);border-color:var(--cr-border,#e2e8f0)}.kts-comment-meme img{border-color:var(--cr-border,#e2e8f0)}.kts-pagination{border-color:var(--cr-border,#f1f5f9)}.kts-list>.kts-item>.children,.kts-item .children .kts-item>.children{border-color:var(--cr-border,#f1f5f9)}.kts-page-info,.kts-form-footer,.kvr-policy-note,.kts-edited-label,.kts-edit-loading{color:var(--cr-meta,#94a3b8)}.kts-form-footer a:hover,.kvr-policy-note a:hover{color:var(--cr-text,#64748b)}.kts-toolbar-sep{background:var(--cr-border,#e2e8f0)}.kts-modal-content{background:var(--cr-bg,#fff);color:var(--cr-text,#1e293b)}.kts-modal-header{border-color:var(--cr-border,#e2e8f0)}.kts-modal-header h2{color:var(--cr-text,#1e293b)}.kts-modal-footer{border-color:var(--cr-border,#f1f5f9);color:var(--cr-meta,#64748b)}.kts-policy-list li{color:var(--cr-text,#475569)}.kts-policy-list strong{color:var(--cr-text,#1e293b)}.kts-close-modal{color:var(--cr-meta,#94a3b8)}.kts-mention-dropdown{background:var(--cr-bg,#fff);border-color:var(--cr-border,#e2e8f0)}.kts-mention-dropdown li{color:var(--cr-text,#1e293b)}.kts-mention-dropdown li:hover,.kts-mention-dropdown li.kts-mention-active{background:var(--cr-surface,#f1f5f9)}.kts-mention-dropdown::-webkit-scrollbar-thumb{background:var(--cr-border,#e2e8f0)}.kts-mention-name{color:var(--cr-text,#374151)}.kts-shadow-banned-block{position:relative}.kts-shadow-banned-block .kts-user-row,.kts-shadow-banned-block .kts-text,.kts-shadow-banned-block .kts-comment-meme,.kts-shadow-banned-block .kts-view-replies{opacity:.55}.kts-shadow-ban-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:#fff;background:#f59e0b;border-radius:4px;padding:2px 8px;margin-top:8px;letter-spacing:.04em;text-transform:uppercase}.kts-dropdown-item.kts-shadow-ban-btn{color:#b45309}.kts-dropdown-item.kts-shadow-ban-btn:hover{background:#fef3c7;color:#92400e}.kts-text .kts-big-emoji{display:block;line-height:1.15;font-style:normal;user-select:text;-webkit-font-smoothing:antialiased}.kts-text .kts-big-emoji--one{font-size:3em}.kts-text .kts-big-emoji--two{font-size:2.5em}.kts-text .kts-big-emoji--three{font-size:2em}.kts-text p:has(>.kts-big-emoji),.kts-text p:empty{margin:0;padding:0}.comment-form .kts-textarea:focus,.comment-form .kts-textarea:hover{background:var(--cr-surface,#f2f3f5)!important;color:var(--cr-text,#334155)!important;border:1px solid var(--cr-border,transparent)!important}.kts-author-pill{display:inline-flex;align-items:center;font-size:12px;font-weight:600;color:#fff;border-radius:4px;padding:1px 8px;line-height:1.3;background:#339dbe}.kts-author-pill i{font-size:9px}.kts-report-overlay{position:fixed;inset:0;background:rgb(15 23 42 / .55);z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px}.kts-report-dialog{background:var(--cr-bg,var(--nxp-card-bg,#fff));color:var(--cr-text,var(--nxp-text,#334155));border-radius:14px;width:min(420px, 100%);padding:20px 22px;box-shadow:0 20px 50px rgb(0 0 0 / .3)}.kts-report-dialog h3{margin:0 0 4px;font-size:16px;font-weight:800;display:flex;align-items:center;gap:8px}.kts-report-dialog h3 i{color:#ef4444;font-size:13px}.kts-report-why{margin:0 0 12px;font-size:12.5px;color:var(--cr-meta,var(--nxp-text-3,#64748b))}.kts-report-reasons{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}.kts-report-reason{display:flex;align-items:center;gap:9px;font-size:13.5px;padding:7px 10px;border-radius:8px;cursor:pointer;transition:background .12s ease}.kts-report-reason:hover{background:var(--cr-surface,rgb(100 116 139 / .08))}.kts-report-reason input{margin:0;accent-color:var(--cr-accent,#3b82f6)}.kts-report-note{width:100%;border:1px solid var(--cr-border,#e2e8f0);border-radius:9px;background:var(--cr-surface,#f8fafc);color:var(--cr-text,#334155);font-size:13px;font-family:inherit;padding:9px 11px;resize:vertical;margin-bottom:14px;box-sizing:border-box}.kts-report-note:focus{outline:none;border-color:var(--cr-accent,#3b82f6)}.kts-report-actions{display:flex;justify-content:flex-end;gap:8px}.kts-report-actions button{border:0;border-radius:999px;padding:8px 18px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit}.kts-report-cancel{background:#fff0;color:var(--cr-meta,#64748b)}.kts-report-cancel:hover{color:var(--cr-text,#334155)}.kts-report-submit{background:#ef4444;color:#fff}.kts-report-submit:disabled{opacity:.45;cursor:not-allowed}.kts-report-submit:not(:disabled):hover{background:#dc2626}.kts-linked-highlight{animation:kts-linked-pulse 3.4s ease;border-radius:12px}@keyframes kts-linked-pulse{0%{box-shadow:0 0 0 3px var(--cr-accent,#3b82f6);background:rgb(59 130 246 / .10)}70%{box-shadow:0 0 0 3px var(--cr-accent,#3b82f6);background:rgb(59 130 246 / .06)}100%{box-shadow:0 0 0 0 #fff0;background:#fff0}}@media (prefers-reduced-motion:reduce){.kts-linked-highlight{animation:none;outline:2px solid var(--cr-accent,#3b82f6)}}.kts-featured-badge,.kts-pinned-badge{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--cr-accent,#3b82f6);background:color-mix(in srgb,var(--cr-accent,#3b82f6) 10%,transparent);border-radius:999px;padding:3px 10px;margin-bottom:6px}.kts-featured-badge{color:#b45309;background:rgb(245 158 11 / .12)}.kts-featured-badge i{font-size:9px}.kts-dropdown-sep{border:0;border-top:1px solid var(--cr-border,#e2e8f0);margin:4px 0}a.kts-dropdown-item{text-decoration:none;box-sizing:border-box}.kat-editor-wrap{position:relative;border:1px solid var(--cr-border,#e2e8f0);border-radius:10px;transition:border-color 0.15s;background:var(--nxp-card-bg,#fff)}.kat-editor-wrap:focus-within{border-color:var(--cr-accent,var(--nxp-primary,#007bff))}.kat-editor-wrap .kts-toolbar{border-left:0;border-right:0;border-top:0;border-radius:0;border-bottom:1px solid var(--cr-border,#e2e8f0)}.kat-fmt-bold,.kat-fmt-italic{padding:4px 9px;font-weight:700;min-width:28px;justify-content:center}.kat-editor{width:100%;min-height:96px;padding:14px;font-size:15px;font-family:inherit;color:var(--cr-text,#334155);line-height:1.6;box-sizing:border-box;outline:none;overflow-wrap:anywhere}.kat-editor:empty:not(.kat-editor--active)::before{content:attr(data-placeholder);color:var(--cr-meta,#94a3b8);pointer-events:none}.kat-editor strong{font-weight:700}.kat-editor em{font-style:italic}.kat-char-count{text-align:right;font-size:11px;color:var(--cr-meta,#94a3b8);padding:4px 12px;border-top:1px solid var(--cr-border,#e2e8f0)}.kat-picker-wrap{position:relative}.kat-inline-gif,.kts-text .kat-inline-gif{display:block;max-width:220px;max-height:180px;border-radius:10px;margin:8px 0}.kat-editor .kts-spoiler-wrap{display:inline;border-radius:2px;background:#1e2530;cursor:text;-webkit-box-decoration-break:clone;box-decoration-break:clone}.kat-editor .kts-spoiler-wrap .kts-spoiler-content{color:rgb(255 255 255 / .51)!important;filter:none!important;user-select:text;pointer-events:auto}.kvr-wrap{font-family:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;line-height:1.6;margin:0 auto 40px;color:var(--nxp-text)}.kvr-lazy,.kts-lazy{display:flex;align-items:center;justify-content:center;gap:12px;min-height:180px;color:var(--nxp-text-3)}.kvr-lazy .kvr-lazy-spin,.kts-lazy .kvr-lazy-spin{font-size:1.6rem;animation:kvr-lazy-rotate 0.9s linear infinite!important}.kvr-lazy-text{font-size:14px;font-weight:500}@keyframes kvr-lazy-rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.kvr-summary{display:flex;align-items:center;gap:32px;background:var(--nxp-card-bg);border:1px solid var(--nxp-border-rw);border-radius:16px;padding:28px 32px;margin-bottom:28px;box-shadow:0 1px 4px rgb(0 0 0 / .05);flex-wrap:wrap}.kvr-summary__score{display:flex;flex-direction:column;align-items:center;min-width:90px;text-align:center}.kvr-score-num{font-size:3rem;font-weight:800;line-height:1;color:var(--nxp-text);letter-spacing:-1px}.kvr-score-stars{margin:6px 0 4px}.kvr-score-label{font-size:12px;color:var(--nxp-text-2);font-weight:500}.kvr-summary__bars{flex:1;min-width:350px;display:flex;flex-direction:column;gap:6px}.kvr-bar-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--nxp-text-2)}.kvr-bar-label{width:36px;text-align:right;font-weight:600;white-space:nowrap}.kvr-bar-label i{color:var(--nxp-accent);font-size:10px}.kvr-bar-track{flex:1;height:8px;background:var(--nxp-bg-3);border-radius:99px;overflow:hidden}.kvr-bar-fill{height:100%;background:linear-gradient(90deg,var(--nxp-accent),var(--nxp-accent-dark));border-radius:99px;transition:width 0.5s ease}.kvr-bar-count{width:28px;font-weight:600;color:var(--nxp-text-2)}.kvr-stars{display:inline-flex;gap:2px}.kvr-star--full,.kvr-star--half{color:var(--nxp-accent)}.kvr-star--empty{color:var(--nxp-text-3)}.kvr-form-card{background:var(--nxp-card-bg);border:1px solid var(--nxp-border-rw);border-radius:16px;padding:24px;box-shadow:0 1px 3px rgb(0 0 0 / .05);margin-bottom:28px}.kvr-form-heading{font-size:16px;font-weight:700;color:var(--nxp-text);margin:0 0 18px}.kvr-login-prompt{display:flex;align-items:center;gap:12px;color:var(--nxp-text-2);font-size:14px}.kvr-login-prompt i{font-size:1.3rem;color:var(--nxp-accent)}.kvr-login-prompt a{color:var(--nxp-primary)}.kvr-login-prompt a:hover{color:var(--nxp-primary-dark)}.kvr-star-picker{display:flex;align-items:center;gap:4px;margin-bottom:16px}.kvr-star-btn{background:none;border:none;cursor:pointer;font-size:1.6rem;line-height:1;color:var(--nxp-text-3);padding:2px;transition:color 0.12s,transform 0.1s}.kvr-star-btn.active,.kvr-star-btn.kvr-star-hover{color:var(--nxp-accent)}.kvr-star-btn:hover{transform:scale(1.2)}.kvr-star-label{font-size:13px;font-weight:600;color:var(--nxp-text-2);margin-left:6px}.kvr-title-input{display:block;width:100%;background:var(--cr-bg);border:1px solid var(--nxp-border);border-radius:10px;padding:10px 14px;font-size:14px;font-family:inherit;color:var(--nxp-text);margin-bottom:12px;box-sizing:border-box;outline:none;transition:border-color 0.15s}.kvr-editor-wrap{position:relative;border:1px solid var(--nxp-border-rw);border-radius:10px 10px 4px 4px;overflow:hidden;transition:border-color 0.15s}.kvr-toolbar{display:flex;gap:4px;padding:8px 10px;background:var(--nxp-bg-tr);border-bottom:1px solid var(--nxp-border-rw)}.kvr-toolbar-btn{background:none;border:1px solid #fff0;border-radius:6px;cursor:pointer;padding:4px 8px;font-size:13px;color:var(--nxp-text-2);transition:background 0.12s,color 0.12s;display:inline-flex;align-items:center;gap:4px}.kvr-toolbar-btn:hover{background:var(--nxp-bg-3);color:var(--nxp-text)}.kvr-textarea{width:100%;background:#fff0;border:none;border-radius:0;padding:14px;font-size:14px;font-family:inherit;min-height:110px;box-sizing:border-box;outline:none;resize:vertical;color:var(--nxp-text)}.kvr-char-count{text-align:right;font-size:11px;color:var(--nxp-text-3);padding:4px 12px;background:var(--nxp-bg-2);border-top:1px solid var(--nxp-border-rw)}.kvr-policy-note{margin-top:12px;font-size:11px;color:var(--cr-meta,#94a3b8)}.kvr-policy-note a{color:inherit;text-decoration:underline;cursor:pointer}.kvr-policy-note a:hover{color:#64748b}.kvr-form-footer-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:15px}.kvr-form-actions{display:flex;gap:8px;align-items:center}.kvr-notice{padding:10px 14px;border-radius:8px;font-size:13px;font-weight:600;margin-bottom:14px}.kvr-notice--error{background:rgb(239 68 68 / .1);color:var(--nxp-danger);border:1px solid rgb(239 68 68 / .25)}.kvr-notice--success{background:rgb(16 185 129 / .1);color:var(--nxp-success);border:1px solid rgb(16 185 129 / .22)}.kvr-btn{display:inline-flex;align-items:center;gap:6px;border-radius:50px;font-size:14px;font-weight:600;cursor:pointer;transition:all 0.15s;padding:10px 28px}.kvr-btn--primary{background:var(--nxp-primary);color:#fff;border-color:var(--nxp-primary)}.kvr-btn--primary:hover{background:var(--nxp-primary-dark);border-color:var(--nxp-primary-dark);transform:translateY(-1px);box-shadow:0 4px 8px rgb(59 130 246 / .2)}.kvr-btn--ghost{background:#fff0;color:var(--nxp-text-2);border-color:var(--nxp-border-rw)}.kvr-btn--ghost:hover{background:var(--nxp-bg-3);border-color:var(--nxp-primary);color:var(--nxp-primary)}.kvr-btn--danger{background:#fff0;color:var(--nxp-danger);border-color:var(--nxp-danger)}.kvr-btn--danger:hover{background:rgb(239 68 68 / .08);border-color:var(--nxp-danger)}.kvr-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:10px}.kvr-list-title{font-size:17px;font-weight:700;color:var(--nxp-text);margin:0}.kvr-sort-select{border:1px solid var(--nxp-border-rw);padding:6px 12px;border-radius:8px;background:var(--nxp-surface);font-size:13px;color:var(--nxp-text);outline:none;cursor:pointer;font-family:inherit;transition:border-color 0.15s}.kvr-sort-select:focus{border-color:var(--nxp-primary);box-shadow:0 0 0 3px var(--nxp-glow)}.kvr-card{background:var(--nxp-card-bg);border:1px solid var(--nxp-border-rw);border-radius:14px;padding:20px 22px;margin-bottom:14px;transition:box-shadow 0.15s;contain-intrinsic-size:auto 200px}.kvr-card:hover{box-shadow:0 4px 16px rgb(0 0 0 / .07)}.kvr-card__user{display:flex;align-items:center;gap:12px;margin-bottom:14px}.kvr-avatar{width:44px;height:44px;border-radius:10px;object-fit:cover;flex-shrink:0}.kvr-card__user .kts-rank-wrap{flex-shrink:0;display:inline-block}.kvr-card__meta{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1}.kvr-card__author{font-size:14px;font-weight:700;color:var(--nxp-text);display:flex;align-items:center;flex-wrap:wrap;gap:6px}.kvr-card__date{font-size:12px;color:var(--nxp-text-3);white-space:nowrap;font-weight:500;line-height:1}.kvr-edited-label{font-size:11px;color:var(--nxp-text-3);font-style:italic}.kvr-card__stars{flex-shrink:0;margin-top:2px}.kvr-card__title{font-size:15px;font-weight:700;color:var(--nxp-text);margin:0 0 4px}.kvr-card__body{font-size:14px;color:var(--nxp-text-2);line-height:1.7;margin-bottom:14px;display:block}.kvr-card__footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-top:12px;border-top:1px solid var(--nxp-border-rw)}.kvr-helpful{display:flex;align-items:center;gap:6px}.kvr-helpful-label{font-size:12px;color:var(--nxp-text-3);font-weight:500}.kvr-helpful-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;font-size:12px;font-weight:600;border-radius:20px;border:1px solid var(--nxp-border-rw);background:#fff0;color:var(--nxp-text-2);cursor:pointer;font-family:inherit;transition:all 0.12s}.kvr-helpful-btn:hover{border-color:var(--nxp-primary);color:var(--nxp-primary);background:rgb(59 130 246 / .05)}.kvr-helpful-btn.active{border-color:var(--nxp-primary);background:var(--nxp-primary);color:#fff}.kvr-unhelpful-btn:hover{border-color:var(--nxp-danger);color:var(--nxp-danger);background:rgb(239 68 68 / .05)}.kvr-unhelpful-btn.active{border-color:var(--nxp-danger);background:var(--nxp-danger);color:#fff}.kvr-card__actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.kvr-more-wrap{position:relative;margin-left:auto}.kvr-more-btn{background:none;border:none;cursor:pointer;color:var(--nxp-text-3);font-size:16px;line-height:1;padding:6px 9px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;transition:background 0.15s,color 0.15s}.kvr-more-btn:hover{background:var(--nxp-bg-3);color:var(--nxp-text)}.kvr-dropdown{display:none;position:absolute;right:0;bottom:calc(100% + 6px);background:var(--nxp-surface);border:1px solid var(--nxp-border-rw);border-radius:10px;box-shadow:0 8px 24px rgb(0 0 0 / .12);min-width:180px;z-index:200;padding:6px 0;white-space:nowrap;overflow:hidden}.kvr-dropdown.open{display:block;animation:kvr-dropdown-slide 0.18s ease}@keyframes kvr-dropdown-slide{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.kvr-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 16px;background:none;border:none;font-size:13px;font-family:inherit;font-weight:500;color:var(--nxp-text-2);cursor:pointer;text-align:left;transition:background 0.1s,color 0.1s}.kvr-dropdown-item:hover{background:var(--nxp-bg-3);color:var(--nxp-text)}.kvr-dropdown-item>i{width:16px;flex-shrink:0;text-align:center;font-size:13px}.kvr-dropdown-item.kvr-dropdown-danger{color:var(--nxp-danger);font-weight:600}.kvr-dropdown-item.kvr-dropdown-danger:hover{background:rgb(239 68 68 / .08)}.kvr-dropdown-sep{border:none;border-top:1px solid var(--nxp-border-rw);margin:4px 0}.kvr-pager{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:20px}.kvr-pager-btn{background:var(--nxp-surface);border:1px solid var(--nxp-border-rw);border-radius:8px;padding:8px 14px;font-size:13px;cursor:pointer;color:var(--nxp-text-2);transition:all 0.12s;font-family:inherit}.kvr-pager-btn:hover:not(:disabled){border-color:var(--nxp-primary);color:var(--nxp-primary)}.kvr-pager-btn:disabled{opacity:.35;cursor:not-allowed}.kvr-pager-info{font-size:13px;color:var(--nxp-text-3);font-weight:500}.kvr-empty,.kvr-empty-list{text-align:center;padding:94px 20px;color:var(--nxp-text-3);background:var(--nxp-card-bg);border:1px solid var(--nxp-border-rw);border-radius:16px;box-shadow:0 1px 3px rgb(0 0 0 / .05)}.kvr-empty i{font-size:2.5rem;display:block;margin-bottom:12px}.kvr-empty p,.kvr-empty-list{font-size:14px}.kvr-empty p{margin:0 0 4px;font-weight:600;color:var(--nxp-text-2,var(--nxp-text-3))}.kvr-empty span{display:block;font-size:13px}.kvr-toast{position:fixed;bottom:24px;right:24px;padding:12px 20px;border-radius:10px;font-size:13px;font-weight:600;color:#fff;z-index:99999;animation:kvr-fadein 0.25s ease;box-shadow:0 4px 20px rgb(0 0 0 / .15)}.kvr-toast--success{background:var(--nxp-success)}.kvr-toast--error{background:var(--nxp-danger)}.kvr-toast--info{background:var(--nxp-primary)}@keyframes kvr-fadein{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.kvr-already-reviewed{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--nxp-success);font-weight:600;padding:14px 0}.kvr-already-reviewed i{font-size:1.1rem}@media (max-width:600px){.kvr-summary{flex-direction:column;gap:20px;padding:20px}.kvr-form-footer-row{flex-direction:column;align-items:flex-start}.kvr-card__user{flex-wrap:wrap}.kvr-card__stars{width:100%}}.kvr-editor{width:100%;min-height:110px;padding:14px;font-size:14px;font-family:inherit;color:var(--nxp-text);line-height:1.6;box-sizing:border-box;outline:none;resize:vertical;overflow:auto;background:#fff0}.kvr-editor:empty:not(.kvr-editor--active)::before{content:attr(data-placeholder);color:var(--nxp-text-3);pointer-events:none}.kvr-editor strong{font-weight:700}.kvr-editor em{font-style:italic}.kvr-admin-more-wrap{position:relative;display:inline-block}.kvr-admin-dropdown{display:none;position:absolute;right:0;bottom:calc(100% + 6px);background:var(--nxp-surface);border:1px solid var(--nxp-border-rw);border-radius:10px;box-shadow:0 8px 24px rgb(0 0 0 / .12);min-width:190px;z-index:200;padding:6px 0;white-space:nowrap}.kvr-admin-dropdown.open{display:block}.kvr-admin-action-btn{display:flex;align-items:center;gap:8px;width:100%;padding:8px 16px;background:none;border:none;font-size:13px;font-family:inherit;font-weight:500;color:var(--nxp-text-2);cursor:pointer;text-align:left;transition:background 0.1s}.kvr-admin-action-btn:hover{background:var(--nxp-bg-3);color:var(--nxp-text)}.kvr-admin-sep{border:none;border-top:1px solid var(--nxp-border-rw);margin:4px 0}.kvr-admin-badge{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700;border-radius:99px;padding:1px 7px}.kvr-admin-badge--ban{color:#8b5cf6;background:rgb(139 92 246 / .1);border:1px solid rgb(139 92 246 / .25)}.kvr-admin-badge--report{color:var(--nxp-danger);background:rgb(239 68 68 / .1);border:1px solid rgb(239 68 68 / .25)}.kvr-shadow-banned{border-color:rgb(239 68 68 / .4)!important;background:rgb(239 68 68 / .04)!important}.kvr-shadow-banned .kvr-card__user,.kvr-shadow-banned .kvr-card__title,.kvr-shadow-banned .kvr-card__body{opacity:.8}.kvr-btn.kvr-admin-tool{color:var(--nxp-text-2);border-color:var(--nxp-border-rw)}@media (max-width:480px){.kvr-summary{position:relative;border:none!important;border-radius:0!important;padding-left:0!important;padding-right:0!important;background:transparent!important;box-shadow:none!important;margin-bottom:var(--space-6)!important;padding-bottom:var(--space-6)!important}.kvr-summary::after{content:"";position:absolute;bottom:0;left:50%;width:100vw;transform:translateX(-50%);border-bottom:1px solid var(--nxp-border,#444444)}.kvr-form-card{position:relative;border:none!important;border-radius:0!important;padding-left:0!important;padding-right:0!important;background:transparent!important;box-shadow:none!important;margin-bottom:var(--space-6)!important;padding-bottom:var(--space-4)!important}.kvr-form-card::after{content:"";position:absolute;bottom:0;left:50%;width:100vw;transform:translateX(-50%);border-bottom:1px solid var(--nxp-border,#444444)}.kvr-card{position:relative;padding:15px 10px 5px 15px!important}.kvr-card__user{margin-bottom:5px}.kvr-card__body{margin-bottom:5px}.kvr-card__footer{padding-top:5px}.kvr-summary__bars{min-width:100%!important}}.kts-author-pill{display:inline-flex;align-items:center;font-size:12px;font-weight:600;color:#fff;border-radius:4px;padding:1px 8px;line-height:1.3;background:#339dbe}.kts-author-pill i{font-size:9px}.kts-report-overlay{position:fixed;inset:0;background:rgb(15 23 42 / .55);z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px}.kts-report-dialog{background:var(--cr-bg,var(--nxp-card-bg,#fff));color:var(--cr-text,var(--nxp-text,#334155));border-radius:14px;width:min(420px, 100%);padding:20px 22px;box-shadow:0 20px 50px rgb(0 0 0 / .3)}.kts-report-dialog h3{margin:0 0 4px;font-size:16px;font-weight:800;display:flex;align-items:center;gap:8px}.kts-report-dialog h3 i{color:#ef4444;font-size:13px}.kts-report-why{margin:0 0 12px;font-size:12.5px;color:var(--cr-meta,var(--nxp-text-3,#64748b))}.kts-report-reasons{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}.kts-report-reason{display:flex;align-items:center;gap:9px;font-size:13.5px;padding:7px 10px;border-radius:8px;cursor:pointer;transition:background .12s ease}.kts-report-reason:hover{background:var(--cr-surface,rgb(100 116 139 / .08))}.kts-report-reason input{margin:0;accent-color:var(--cr-accent,#3b82f6)}.kts-report-note{width:100%;border:1px solid var(--cr-border,#e2e8f0);border-radius:9px;background:var(--cr-surface,#f8fafc);color:var(--cr-text,#334155);font-size:13px;font-family:inherit;padding:9px 11px;resize:vertical;margin-bottom:14px;box-sizing:border-box}.kts-report-note:focus{outline:none;border-color:var(--cr-accent,#3b82f6)}.kts-report-actions{display:flex;justify-content:flex-end;gap:8px}.kts-report-actions button{border:0;border-radius:999px;padding:8px 18px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit}.kts-report-cancel{background:#fff0;color:var(--cr-meta,#64748b)}.kts-report-cancel:hover{color:var(--cr-text,#334155)}.kts-report-submit{background:#ef4444;color:#fff}.kts-report-submit:disabled{opacity:.45;cursor:not-allowed}.kts-report-submit:not(:disabled):hover{background:#dc2626}.kvr-picker-wrap{position:relative}.kvr-inline-gif{display:block;max-width:220px;max-height:180px;border-radius:10px;margin:8px 0}.kvr-card__body img{max-width:260px;max-height:220px;border-radius:10px}.kvr-editor-wrap .kts-toolbar{border-left:0;border-right:0;border-top:0;border-radius:0}.kvr-fmt-bold,.kvr-fmt-italic{padding:4px 9px;font-weight:700;min-width:28px;justify-content:center}.nxp-novel-badge{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;font-size:10px;font-weight:700;line-height:1.2;white-space:nowrap;vertical-align:middle;transition:opacity .15s,transform .15s;text-decoration:none;cursor:default}.nxp-badge-icon{display:inline-flex;align-items:center;font-style:normal;line-height:1}.nxp-badge-icon--svg svg{width:1em;height:1em;vertical-align:middle}.nxp-badge-label{display:inline}.nxp-badge-strip{display:flex;flex-wrap:wrap;gap:4px;line-height:1}.nxp-badge-strip--cover{position:absolute;top:6px;left:6px;z-index:10;flex-direction:column;align-items:flex-start;pointer-events:none}.nxp-badge-strip--inline{position:relative;margin-bottom:2px}.cms-badge-strip{display:flex;flex-wrap:wrap;gap:4px;line-height:1}.cms-badge-strip--cover{position:absolute;top:6px;left:6px;z-index:10;flex-direction:column;align-items:flex-start;pointer-events:none}.cms-novel-badge{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;font-size:10px;font-weight:700;line-height:1.2;white-space:nowrap}:root{--nxp-primary:#007bff;--nxp-primary-dark:#0070e7;--nxp-accent:#F59E0B;--nxp-accent-dark:#D97706;--nxp-danger:#EF4444;--nxp-success:#10B981;--nxp-bg:#202020;--nxp-bg-2:#1b1b1b;--nxp-bg-tr:#41414166;--nxp-bg-5:#000000;--nxp-bg-3:#252525;--nxp-bg-4:#22222F;--nxp-surface:#1c1c1c;--nxp-card-bg:#0e0d0d;--nxp-border:rgba(255,255,255,0.07);--nxp-border-rw:rgba(255,255,255,0.07);--nxp-border-light:rgba(255,255,255,0.12);--nxp-text:#E8E8F0;--nxp-text-11:#ffffff;--nxp-text-2:#adadad;--nxp-text-3:#636363;--nxp-glow:rgba(59,130,246,0.15);--nxp-header-bg:#131415;--nxp-p-button:#ffffff;--nxp-patreon:#ffffff;--nxp-patreon-ink:#000000;--nxp-patreon-rgb:255,255,255;--nxp-patreon-mark:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path transform='matrix(.47407 0 0 .47407 .383 .422)' d='M1033.05 324.45c-.19-137.9-107.59-250.92-233.6-291.7-156.48-50.64-362.86-43.3-512.28 27.2-181.1 85.46-237.99 272.66-240.11 459.36-1.74 153.5 13.58 557.79 241.62 560.67 169.44 2.15 194.67-216.18 273.07-321.33 55.78-74.81 127.6-95.94 216.01-117.82 151.95-37.61 255.51-157.53 255.29-316.38z'/></svg>");

  /* Typography */
  --font-display:   'Open Sans', 'Palatino Linotype', serif;
  --font-heading:   'Inter', 'Helvetica Neue', sans-serif;
  --font-body:      'Inter', Georgia, serif;
  --font-ui:        'Plus Jakarta Sans', system-ui, sans-serif;
  --font-mono:      'Space Mono', ui-monospace, monospace;

  /* Spacing */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 96px;

  /* Layout */
  --max-width:       1280px;
  --content-width:   780px;

  /* Page shell — single source of truth for user-facing page padding.
     Change these two values to re-gutter / re-space every page at once.
     Responsive step-downs live in the media queries just below :root. */
  --gutter-x:        48px;   /* horizontal page gutter (side padding) */
  --page-pad-y:      32px;   /* default vertical rhythm for .nxp-page  */
  --sidebar-width:   300px;
  --header-height:   64px;
  --radius-sm:       3px;
  --radius:          4px;
  --radius-lg:       6px;
  --radius-xl:       15px;

  /* Shadows */
  --shadow-sm:  0 1px 3px rgba(0,0,0,0.4);
  --shadow:     0 4px 16px rgba(0,0,0,0.5);
  --shadow-lg:  0 12px 40px rgba(0,0,0,0.6);
  --shadow-glow:0 0 30px rgba(59,130,246,0.2);

  /* Transitions */
  --ease:       cubic-bezier(0.4, 0, 0.2, 1);
  --ease-spring:cubic-bezier(0.34, 1.56, 0.64, 1);
  --dur-fast:   150ms;
  --dur:        250ms;
  --dur-slow:   400ms;
}

/* Responsive step-downs for the page shell tokens. These are the ONLY
   places the side gutter changes across breakpoints — every container
   reads --gutter-x, so nothing else needs per-breakpoint padding. */
@media (max-width: 600px) {
  :root { --gutter-x: 48px; --page-pad-y: 24px; }
}
@media (max-width: 480px) {
  :root { --gutter-x: 16px; }
}
@media (max-width: 360px) {
  :root { --gutter-x: 14px; }
}

/* Light Mode */
html[data-theme="light"] {
  --nxp-bg:           #ffffff;
  --nxp-bg-2:         #ffffff;
  --nxp-bg-tr:         #f8f8f8;
  --nxp-bg-5:         #ffffff;
  --nxp-bg-3:         #e9e9e9;
  --nxp-bg-4:         #D5D5E8;
  --nxp-surface:      #FFFFFF;
  --nxp-card-bg:      #FFFFFF;
  --nxp-border:       rgba(128, 128, 128, 0.267);
  --nxp-border-rw:       #f1f5f9;
  --nxp-border-light: rgba(0,0,0,0.12);
  --nxp-text:         #1A1A2E;
  --nxp-text-11:      #000000;
  --nxp-text-2:       #555570;
  --nxp-text-3:       #999AAA;
  --nxp-glow:         rgba(37,99,235,0.1);
  --nxp-header-bg:    #ffffff;
  --nxp-p-button:   #000000;
  --nxp-patreon:      #000000;
  --nxp-patreon-ink:  #ffffff;
  --nxp-patreon-rgb:  0,0,0;
}

/* Sepia Mode */
html[data-theme="sepia"] {
  --nxp-bg:           #fdf6e3;
  --nxp-bg-2:         #f5eed8;
  --nxp-bg-tr:        #f5eed8cc;
  --nxp-bg-5:         #fffbef;
  --nxp-bg-3:         #efe6cc;
  --nxp-bg-4:         #d6a41b;
  --nxp-surface:      #faf3de;
  --nxp-card-bg:      #fffdf5;
  --nxp-border:       #e6dfca;
  --nxp-border-rw:    #efe8d3;
  --nxp-border-light: #dcd3b8;
  --nxp-text:         #5b4636;
  --nxp-text-11:      #3e2f23;
  --nxp-text-2:       #7d6a55;
  --nxp-text-3:       #9d8a74;
  --nxp-glow:         rgba(181,131,60,0.15);
  --nxp-header-bg:    #fdf6e3;
  --nxp-p-button:     #3e2f23;
  --nxp-patreon:      #000000;
  --nxp-patreon-ink:  #fdf6e3;
  --nxp-patreon-rgb:  0,0,0;
}

/* Soft Green Mode */
html[data-theme="soft"] {
  --nxp-bg:           #e8f5e9;
  --nxp-bg-2:         #dcf0de;
  --nxp-bg-tr:        #dcf0decc;
  --nxp-bg-5:         #f3faf3;
  --nxp-bg-3:         #d2ead4;
  --nxp-bg-4:         #c5e2c8;
  --nxp-surface:      #e2f2e3;
  --nxp-card-bg:      #f4fbf4;
  --nxp-border:       #c8e6c9;
  --nxp-border-rw:    #d7edd8;
  --nxp-border-light: #b7dcb9;
  --nxp-text:         #2e4d32;
  --nxp-text-11:      #1f3a23;
  --nxp-text-2:       #4e6f53;
  --nxp-text-3:       #5e7d62;
  --nxp-glow:         rgba(46,125,50,0.15);
  --nxp-header-bg:    #e8f5e9;
  --nxp-p-button:     #1f3a23;
  --nxp-patreon:      #000000;
  --nxp-patreon-ink:  #f3faf3;
  --nxp-patreon-rgb:  0,0,0;
}

/* Reading Mode Overrides */
body.nxp-reading-sepia {
  --nxp-bg:     #F4ECD8;
  --nxp-bg-2:   #EDE3CA;
  --nxp-surface:#F8F4E8;
  --nxp-text:   #2D1B00;
  --nxp-text-2: #6B4C1E;
  --nxp-patreon:      #000000;
  --nxp-patreon-ink:  #F8F4E8;
  --nxp-patreon-rgb:  0,0,0;
}

/* Patreon logo — Font Awesome's fa-patreon is still the pre-2023 mark
   (the circle-and-bar "P"), and there is no updated glyph to switch to.
   Blank the glyph and mask the current logo over the element instead, so
   every `<i class="fab fa-patreon">` in the theme renders the new mark
   without touching its ~40 call sites. Inherits colour via currentColor,
   so existing `color:` rules keep working. */
.fa-patreon::before { content: "" !important; }
.fa-patreon {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -0.125em;
  background-color: currentColor;
  -webkit-mask: var(--nxp-patreon-mark) no-repeat center / contain;
          mask: var(--nxp-patreon-mark) no-repeat center / contain;
}

/* ═══════════════════════════════════════════════════════════════
   02 · RESET & BASE
═══════════════════════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
  font-size: 16px;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  overscroll-behavior-x: none;
}

body {
  font-family: var(--font-ui);
  /* Plus Jakarta Sans sets noticeably wider than the DM Sans it replaced, so
     copy that fitted its container before — novel-page blurbs, card subtext,
     tab labels — started running long and looser. A touch of negative
     tracking brings the measure back without changing the face. Headings are
     unaffected: h1–h6 set their own -0.02em and out-specify this. */
  letter-spacing: -0.005em;
  background: var(--nxp-bg);
  color: var(--nxp-text);
  line-height: 1.6;
  min-height: 100vh;
  overflow-x: hidden;
  transition: background var(--dur), color var(--dur);
  -webkit-tap-highlight-color: transparent;
}

/* Remove 300ms tap delay on all interactive elements */
a, button, [role="button"], input[type="submit"], input[type="button"], label {
  touch-action: manipulation;
}

img { max-width: 100%; height: auto; display: block; }
a { color: var(--nxp-primary); text-decoration: none; transition: color var(--dur-fast); }
/* a:hover { color: var(--nxp-primary-dark); } */
button { cursor: pointer; border: none; background: none; font-family: inherit; }
input, textarea, select { font-family: inherit; }
ul, ol { list-style: none; }
svg { display: block; }

/* ═══════════════════════════════════════════════════════════════
   03 · TYPOGRAPHY
═══════════════════════════════════════════════════════════════ */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: var(--nxp-text);
}
h1 { font-size: clamp(2rem, 5vw, 3.5rem); }
h2 { font-size: clamp(1.5rem, 3.5vw, 2.25rem); }
h3 { font-size: clamp(1.2rem, 2.5vw, 1.5rem); }
h4 { font-size: 1.125rem; }

.display-title {
  font-family: var(--font-display);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

/* ═══════════════════════════════════════════════════════════════
   04 · LAYOUT UTILITIES
═══════════════════════════════════════════════════════════════ */
/* ── Canonical page container ──────────────────────────────────────
   ONE job: max-width + centering + horizontal gutter. No vertical
   padding — that is .nxp-page's job. Side gutter comes from the
   --gutter-x token so every page re-gutters from a single knob. */
.nxp-container {
  width: 100%;
  max-width: var(--max-width);
  margin-inline: auto;
  padding-inline: var(--gutter-x);
  box-sizing: border-box;
  padding-top: 20px;
  padding-bottom: 20px;
}
.nxp-container--narrow  { max-width: 860px; }
.nxp-container--reading { max-width: 820px; }  /* legal / long-form text */
.nxp-container--wide    { max-width: 1440px; }

/* Vertical rhythm helper — add alongside .nxp-container on pages that
   need standard top/bottom breathing room. Kept separate from the
   container so gutter and vertical space stay independently tunable. */
/* .nxp-page { padding-block: var(--page-pad-y); } */

.nxp-grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-5); }
.nxp-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
.nxp-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-5); }
.nxp-grid-5 { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--space-4); }

.nxp-flex { display: flex; }
.nxp-flex-center { display: flex; align-items: center; justify-content: center; }
.nxp-flex-between { display: flex; align-items: center; justify-content: space-between; }
.nxp-gap-2 { gap: var(--space-2); }
.nxp-gap-3 { gap: var(--space-3); }
.nxp-gap-4 { gap: var(--space-4); }
.nxp-gap-5 { gap: var(--space-5); }

/* ═══════════════════════════════════════════════════════════════
   05 · COMPONENTS — BUTTONS
═══════════════════════════════════════════════════════════════ */
.nxp-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: 10px 22px;
  border-radius: var(--radius);
  font-family: var(--font-ui);
  font-weight: 600;
  font-size: 0.9rem;
  transition: all var(--dur) var(--ease);
  white-space: nowrap;
  cursor: pointer;
}
.nxp-btn--primary {
  background: linear-gradient(135deg, var(--nxp-primary), var(--nxp-primary-dark));
  color: #fff;
  box-shadow: 0 4px 16px color-mix(in srgb, var(--nxp-primary) 30%, transparent);
}
.nxp-btn--primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px color-mix(in srgb, var(--nxp-primary) 45%, transparent);
  color: #fff;
}
.nxp-btn--coin {
  background: linear-gradient(135deg, #F59E0B, #D97706);
  color: #fff;
  box-shadow: 0 4px 16px rgba(245,158,11,0.3);
}
.nxp-btn--coin:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(245,158,11,0.45);
  color: #fff;
}
.nxp-btn--ghost {
  background: transparent;
  border: 1px solid var(--nxp-border-light);
  color: var(--nxp-text);
}
/* .nxp-btn--ghost:hover {
  border-color: var(--nxp-primary);
  color: var(--nxp-primary);
} */
.nxp-btn--danger {
  background: var(--nxp-danger);
  color: #fff;
}
.nxp-btn--sm { padding: 6px 14px; font-size: 0.8rem; }
.nxp-btn--lg { padding: 14px 32px; font-size: 1rem; border-radius: var(--radius-lg); }
.nxp-btn--full { width: 100%; justify-content: center; }



/* ═══════════════════════════════════════════════════════════════
   06 · COMPONENTS — BADGES & TAGS
═══════════════════════════════════════════════════════════════ */
.nxp-tag {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border-radius: 3px;
  font-size: 0.75rem;
  font-weight: 600;
  /* background: var(--nxp-bg-3); */
  background: transparent;
  color: var(--nxp-text-2);
  border: 1px solid var(--nxp-border);
  transition: all var(--dur-fast);
  white-space: nowrap;
}

@media (max-width:480px) {
  .nxp-tag {
    line-height: 1.2;
  }
.nxp-title {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  font-size:15px !important;
}
.nxp-author {
  font-size: 13px;
}
.nxp-genre-row {
  margin-top: -8px;
}
}

.nxp-tag:hover, .nxp-tag.active {
  background: var(--nxp-primary);
  color: #fff;
  border-color: var(--nxp-primary);
}
.nxp-tags-row { display: flex; flex-wrap: wrap; gap: 4px; }

/* ═══════════════════════════════════════════════════════════════
   07 · COMPONENTS — FORMS
═══════════════════════════════════════════════════════════════ */
.nxp-field { margin-bottom: var(--space-5); }
.nxp-label {
  display: block;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--nxp-text-2);
  margin-bottom: var(--space-2);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.nxp-input, .nxp-textarea, .nxp-select {
  width: 100%;
  background: var(--nxp-bg);
  border: 1px solid var(--nxp-border);
  border-radius: var(--radius);
  color: var(--nxp-text);
  font-size: 0.95rem;
  padding: 12px 16px;
  transition: border-color var(--dur-fast), box-shadow var(--dur-fast);
  outline: none;
}
.nxp-input:focus, .nxp-textarea:focus, .nxp-select:focus {
  border-color: var(--nxp-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--nxp-primary) 18%, transparent);
}
.nxp-textarea { resize: vertical; min-height: 120px; }
.nxp-select { appearance: none; cursor: pointer; }

/* ═══════════════════════════════════════════════════════════════
   08 · COMPONENTS — STARS
═══════════════════════════════════════════════════════════════ */
.nxp-stars { display: flex; gap: 2px; }
.nxp-star {
  width: 16px; height: 16px;
  color: var(--nxp-accent);
  fill: currentColor;
}
.nxp-star--empty { color: var(--nxp-bg-4); }

/* ═══════════════════════════════════════════════════════════════
   09 · COMPONENTS — COIN DISPLAY
═══════════════════════════════════════════════════════════════ */
.nxp-coin-display {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  padding: 7px 15px;
  background: linear-gradient(135deg, rgba(245,158,11,0.15), rgba(217,119,6,0.1));
  border: 1px solid rgba(245,158,11,0.25);
  border-radius: 99px;
  font-family: var(--font-ui);
  font-weight: 700;
  font-size: 0.9rem;
  color: var(--nxp-accent);
}
.nxp-coin-icon { width: 18px; height: 18px; }

/* ═══════════════════════════════════════════════════════════════
   10 · COMPONENTS — ALERTS & NOTICES
═══════════════════════════════════════════════════════════════ */
.nxp-alert {
  padding: var(--space-4) var(--space-5);
  border-radius: var(--radius);
  font-size: 0.9rem;
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
}
.nxp-alert--success { background: rgba(16,185,129,0.1); border-left: 3px solid var(--nxp-success); color: var(--nxp-success); }
.nxp-alert--error   { background: rgba(239,68,68,0.1); border-left: 3px solid var(--nxp-danger); color: var(--nxp-danger); }
.nxp-alert--info    { background: color-mix(in srgb, var(--nxp-primary) 10%, transparent); border-left: 3px solid var(--nxp-primary); color: var(--nxp-primary); }
.nxp-alert--warn    { background: rgba(245,158,11,0.1); border-left: 3px solid var(--nxp-accent); color: var(--nxp-accent); }

/* ═══════════════════════════════════════════════════════════════
   11 · COMPONENTS — LOADING
═══════════════════════════════════════════════════════════════ */
.nxp-spinner {
  width: 24px; height: 24px;
  border: 2px solid var(--nxp-border);
  border-top-color: var(--nxp-primary);
  border-radius: 50%;
  animation: nxpSpin 0.7s linear infinite;
}
@keyframes nxpSpin { to { transform: rotate(360deg); } }

.nxp-skeleton {
  background: linear-gradient(90deg, var(--nxp-bg-3) 25%, var(--nxp-bg-4) 50%, var(--nxp-bg-3) 75%);
  background-size: 200% 100%;
  animation: nxpSkeleton 1.5s ease-in-out infinite;
  border-radius: var(--radius-sm);
}
@keyframes nxpSkeleton { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }

/* ═══════════════════════════════════════════════════════════════
   12 · HEADER
   (layout, logo, search, nav, dropdown, mobile nav — see header.php's
   inline <style>, which owns all of that; .nxp-avatar stays here
   since it's also used outside the header)
═══════════════════════════════════════════════════════════════ */
.nxp-avatar {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--nxp-primary), var(--nxp-primary-dark));
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.875rem;
  color: #fff;
  cursor: pointer;
  flex-shrink: 0;
  overflow: hidden;
  border: 2px solid var(--nxp-rc, var(--nxp-primary));
  transition: border-color var(--dur-fast);
}
.nxp-avatar:hover { border-color: var(--nxp-primary); }
.nxp-avatar img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }







/* ═══════════════════════════════════════════════════════════════
   13 · SINGLE NOVEL PAGE
═══════════════════════════════════════════════════════════════ */

/* ==========================================================================
   01. GLOBAL & UTILITIES
   ========================================================================== */
/* Small spacing correction for icons inside buttons */
.nxp-btn i.fas { 
    margin-right: 2px; 
}

@media (max-width: 600px) {
    .nxp-hide-mobile { display: none; }
}
.nxp-container-novel {
  width: 100%;
  max-width: var(--max-width);
  margin-inline: auto;
  padding-inline: var(--gutter-x);
  box-sizing: border-box;
}
/* ==========================================================================
   02. HERO SECTION
   ========================================================================== */
.nxp-novel-hero__info { min-width: 0; }

.nxp-hero-actions {
    display: flex;
    flex-direction: row;
    align-items: stretch; /* both buttons always share the same height */
    gap: 10px;
    min-height: 54px;
    margin-top: var(--space-4);
    width: 100%;
    min-width: 0;
    max-width: 100%;
}
.nxp-hero-actions .bl-status-wrapper {
    flex: 1 1 50%;
    min-width: 0;
}
.nxp-hero-actions .bl-status-btn { width: 100%; }
@media (min-width: 769px) {
    .nxp-hero-actions .bl-status-wrapper { max-width: 220px; }
}
.nxp-hero-read-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex: 1;
    min-width: 0;
    min-height: 48px;
    padding: 0 20px;
    border-radius: var(--radius-lg);
    font-family: var(--font-ui);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
    text-decoration: none;
    cursor: pointer;
    border: none;
    /* Brand gradient, matching the comment submit button and the reader's
       primary actions. The glow was a hardcoded #007bff5c — a literal blue
       that stayed blue on a crimson site, and the single most visible place
       the old palette leaked through. It is now derived from the brand
       colour via color-mix, so it follows whatever --nxp-primary is. */
    background: linear-gradient(135deg, var(--nxp-primary), var(--nxp-primary-dark));
    color: #fff;
    transition: background 0.15s, transform 0.1s, box-shadow 0.15s, filter 0.15s;
    box-shadow: 0 2px 8px color-mix(in srgb, var(--nxp-primary) 36%, transparent);
    max-width: 220px;
    overflow: hidden;
    -webkit-tap-highlight-color: transparent;
}
.nxp-hero-read-btn:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px color-mix(in srgb, var(--nxp-primary) 30%, transparent);
}
.nxp-hero-read-btn:focus-visible {
    outline: 2px solid var(--nxp-primary);
    outline-offset: 2px;
}
.nxp-hero-read-btn--disabled {
    cursor: not-allowed;
    /* Flat, not the gradient: "disabled" should read as inert. */
    background: var(--nxp-primary);
    color: #fff;
    box-shadow: none;
}
/* Continue variant stacks the label over a faint chapter name.
   Text is left-aligned but the block stays vertically centered. */
.nxp-hero-read-btn--continue {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 2px;
    padding: 8px 16px;
}
.nxp-hero-read-btn__label {
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}
.nxp-hero-read-btn__sub {
    max-width: 100%;
    min-width: 0;
    font-size: 0.72rem;
    font-weight: 500;
    line-height: 1;
    color: rgba(255, 255, 255, 0.55);
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── Cover Badge (Members Only lock, admin-only) ── */
.nxp-cover-badge {
    position: absolute;
    top: 6px;
    right: 6px;
    background: #00000063;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 800;
    padding: 2px 12px;
    border-radius: 6px;
    letter-spacing: 0.05em;
    z-index: 10;
    transition: font-size 0.2s, padding 0.2s;
}
@media (min-width: 769px) {
    .nxp-cover-badge {
        font-size: 0.95rem;  
        padding: 4px 18px;    
        top: 10px;            
        right: 10px;
        border-radius: 8px;
    }
}

/* ── Genre Tags ── */
.nxp-genre-row {
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
    margin-bottom: var(--space-2);
}
@media (min-width:480px) {
    .nxp-genre-row {
margin-top: 10px;
}
}
.nxp-genre-tag {
  display: inline-flex;
  align-items: center;
  line-height: 1;
  padding: 4px 10px;
  border-radius: 2px;
  text-decoration: none;
  color: #FFF;
  background: rgba(95, 95, 95, 0.47);
  transition: background 0.15s, border-color 0.15s, color 0.15s;
  white-space: nowrap;
  font-size: 0.75rem;
}
.nxp-genre-tag:hover {
    background: rgb(255, 34, 34);
    color: #fff;
}

/* ── Inline Stats Bar ── */
.nxp-fic-stats {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 2px;
    margin: var(--space-2) 0 var(--space-3); 
    font-size: 0.8rem;
    color: var(--nxp-text-2);
    font-family: var(--font-ui);
    width: 100%;
}
.nxp-fic-stat {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
    font-weight: 600;
}
.nxp-fic-stat i { font-size: 0.85em; opacity: 0.75; }
.nxp-fic-stat__label {
    font-weight: 500;
    color: var(--nxp-text-4);
    font-size: 1em;
}
.nxp-fic-stat__sep {
    color: var(--nxp-text-3);
    font-weight: 400;
    margin: 0 3px;
    user-select: none;
}

/* ── Synopsis Engine ── */
.novel-synopsis-container {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.novel-synopsis-text {
    font-family: var(--font-body), sans-serif;
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--nxp-text, #ffffff);
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    transition: max-height 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}
.novel-synopsis-text.is-expanded {
    display: block;
    -webkit-line-clamp: unset;
    max-height: none;
}
.novel-synopsis-fade {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 35px; 
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0), var(--nxp-bg-2, #1a1a1c));
    pointer-events: none;
    transition: opacity 0.3s ease;
}
.novel-synopsis-text.is-expanded + .novel-synopsis-fade {
    opacity: 0;
}
.novel-synopsis-text p { 
    margin-top: 0 !important;
    margin-bottom: 12px !important; 
    line-height: 1.65 !important;
}
.novel-synopsis-text p:last-child {
    margin-bottom: 0 !important;
}
.novel-synopsis-text strong, 
.novel-synopsis-text b {
    font-weight: 700 !important;
    color: var(--nxp-text,) !important;
}
.novel-synopsis-text em, 
.novel-synopsis-text i {
    font-style: italic !important;
}
.nxp-synopsis-toggle {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 6px;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--nxp-primary);
    font-family: var(--font-ui);
    font-size: 0.95rem;
    font-weight: 600;
    padding: 2px 0;
    touch-action: manipulation;
}
.nxp-synopsis-toggle__icon {
    font-size: 0.7rem;
    transition: transform 0.25s var(--ease);
}
.nxp-synopsis-toggle[aria-expanded="true"] .nxp-synopsis-toggle__icon {
    transform: rotate(180deg);
}

/* Cover Lightbox Overlay styles live in style.css — "SHARED COMPONENTS". */

/* ==========================================================================
   03. TABS SECTION & LAYOUT
   ========================================================================== */
.nxp-tabs-wrapper {
    grid-column: 1 / -1;
    position: relative; 
    width: 100%;
    margin-bottom: var(--space-1);
}
.nxp-novel-body .nxp-novel-tabs {
    width: 100%;
    margin-bottom: 0 !important;
    margin-top: 0 !important;
}
hr.nxp-full-bleed-hr {
    border: none;
    border-top: 1px solid var(--nxp-border);
    position: absolute;
    bottom: 0; 
    left: 50%;
    width: 100vw !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
    padding: 0 !important;
}
#nxpNovelTabs {
    position: static !important;
    top: auto !important;
    z-index: auto !important;
}

/* ==========================================================================
   04. CHAPTERS TAB
   ========================================================================== */
/* ── Chapter Controls ── */
@media (min-width: 769px) {
    .nxp-ch-controls-row {
        flex-wrap: nowrap !important;
    }
    .nxp-ch-controls-row #nxpChSearch {
        flex-shrink: 1;
        min-width: 120px;
    }
}
.nxp-ch-filter-btn { padding: 6px 11px; }
.nxp-ch-filter-btn i { margin-right: 0; }
.nxp-ch-filter-btn--fav.active {
    background: rgba(239,68,68,0.12); border-color: rgba(239,68,68,0.4); color: #ef4444;
}
.nxp-ch-filter-btn--bookmark.active {
    background: rgba(92, 159, 246, 0.13); border-color: var(--nxp-primary); color: var(--nxp-primary);
}

/* ── Grid Layout ── */
/* Base list is a plain vertical stack so volume cards sit on top of each other */
.nxp-chapter-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
}
/* A flat (no-volume) list IS the 2-col grid; a volume body grids only inside its card */
.nxp-chapter-list.is-flat-grid,
.nxp-volume-body {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
}
.nxp-chapter-list.is-flat-grid {
    border-top: 1px solid var(--nxp-border);
    border-bottom: 1px solid var(--nxp-border);
}
@media (min-width: 769px) {
    .nxp-chapter-list.is-flat-grid,
    .nxp-volume-body {
        grid-template-columns: repeat(2, 1fr);
        column-gap: 24px;
    }
}

/* ── Chapter Item ── */
.nxp-chapter-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 0px;
    border-bottom: 1px solid var(--nxp-border);
    text-decoration: none;
    color: inherit;
    gap: 16px;
    min-width: 0;
}
.nxp-chapter-item.read .nxp-chapter-item__title { 
    color: var(--nxp-text-3); 
}
.nxp-chapter-item__left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex: 1;
    min-width: 0;
}
.nxp-chapter-item__title {
    font-size: 1rem;
    font-weight: 600;
    color: var(--nxp-text);
    line-height: 1.35;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
}
.nxp-chapter-item__submeta {
    display: flex;
    align-items: center;      
    justify-content: flex-start;
    gap: 3px;                 
    font-size: 0.72rem;
    color: var(--nxp-text-3);
    width: 100%;              
}
.nxp-chapter-item__date,
.nxp-chapter-item__views {
    display: inline-flex;     
    align-items: center;      
    white-space: nowrap;      
}
.nxp-chapter-item__views svg {
    flex-shrink: 0;
    margin-right: 3px;        
    display: inline-block;
    vertical-align: middle;
}
.nxp-chapter-item__sep {
    color: var(--nxp-text-3);
    user-select: none;
    display: inline-block;
    font-size: 20px;
    line-height: .001;
}
.nxp-chapter-item__right {
    display: flex;
    align-items: center;
    gap: 10px; 
    flex-shrink: 0;
}
.nxp-chapter-item__badge-wrap {
    display: flex;
    align-items: center;
}
.nxp-chapter-item__read-icon {
    display:none;
    color: var(--nxp-success, #10B981);
    font-size: 0.85rem;
    line-height: 1;
}

/* ── Badges & Icons ── */
.nxp-chapter-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 6px 7px;
    border-radius: 5px;
    line-height: 1;
}
.nxp-chapter-badge svg { width: 11px; height: 11px; flex-shrink: 0; }
.nxp-chapter-badge--locked   { background: rgba(245,158,11,0.12); color: #F59E0B; border: 1px solid rgba(245,158,11,0.3); }
.nxp-chapter-badge--unlocked { background: rgba(34,197,94,0.1);   color: #22c55e; border: 1px solid rgba(34,197,94,0.25); }
.nxp-chapter-badge--read     { background: rgba(139,92,246,0.1);  color: var(--nxp-primary); border: 1px solid rgba(139,92,246,0.2); }

.nxp-chapter-item__fav-icon,
.nxp-chapter-item__bookmark-icon {
    font-size: 0.8rem;
    line-height: 1;
}
.nxp-chapter-item__fav-icon      { color: #ef4444; }
.nxp-chapter-item__bookmark-icon { color: var(--nxp-primary); }

/* ── Empty State ── */
.nxp-chapter-list__empty {
    grid-column: 1 / -1;
    text-align: center;
    padding: 36px 12px;
    color: var(--nxp-text-3);
    font-size: 0.85rem;
}

/* ── Volumes (collapsible card groups) ── */
.nxp-volume-group {
    margin-bottom: var(--space-4);
    border: 1px solid var(--nxp-border-rw);
    border-radius: 10px;
    overflow: hidden;
    background: var(--nxp-bg-2);
    transition: box-shadow 0.35s;
}
.nxp-volume-group:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.07);
}
.nxp-volume-header {
    display: flex;
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid var(--nxp-border);
    padding: 14px 18px;
    background: var(--nxp-surface);
    cursor: pointer;
    user-select: none;
    transition: background 0.2s;
}
.nxp-volume-header__icon { color: var(--nxp-primary); font-size: 0.85rem; }
.nxp-volume-header__title {
    font-size: 18px;
    font-weight: 700;
    /* text-transform: uppercase; */
    /* letter-spacing: 0.05em; */
    color: var(--nxp-text);
}
.nxp-volume-header__meta {
    font-size: 0.72rem;
    color: var(--nxp-text-3);
    font-weight: 600;
}
.nxp-volume-header__arrow {
    margin-left: auto;
    color: var(--nxp-text-3);
    transition: transform 0.2s;
    font-size: 0.8rem;
}
.nxp-volume-group.collapsed .nxp-volume-header__arrow { transform: rotate(-90deg); }

/* Smooth collapse/expand via grid-template-rows (animates unknown content height) */
.nxp-volume-collapse {
    display: grid;
    grid-template-rows: 1fr;
    transition: grid-template-rows 0.32s cubic-bezier(0.4, 0, 0.2, 1);
}
.nxp-volume-group.collapsed .nxp-volume-collapse { grid-template-rows: 0fr; }
.nxp-volume-collapse > .nxp-volume-body { overflow: hidden; min-height: 0; }
/* Header divider disappears with the body so a collapsed card reads as one clean bar */
.nxp-volume-group.collapsed .nxp-volume-header { border-bottom-color: transparent; }

/* Grid lives inside the card body */
.nxp-volume-body { padding: 0 16px; background: var(--nxp-surface); }
/* Kill the bottom border on the last row so cards don't end on a stray line.
   Mobile = 1 col (just the last item); desktop = 2 cols (also the left item of the last row). */
.nxp-volume-body .nxp-chapter-item:last-child { border-bottom: none; }
@media (min-width: 769px) {
    .nxp-volume-body .nxp-chapter-item:nth-last-child(2):nth-child(odd) { border-bottom: none; }
}
/* Same treatment for the flat (no-volume) list */
.nxp-chapter-list.is-flat-grid .nxp-chapter-item:last-child { border-bottom: none; }
@media (min-width: 769px) {
    .nxp-chapter-list.is-flat-grid .nxp-chapter-item:nth-last-child(2):nth-child(odd) { border-bottom: none; }
}

/* ── Pagination ── */
.nxp-ch-pagination {
    display: flex;
    align-items: center;
    justify-content: right;
    gap: 8px;
    padding: 24px 0 16px;
    flex-wrap: wrap;
    width: 100%;
}
.nxp-ch-pager-pages {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
.nxp-pager-btn {
    min-width: 36px;
    height: 36px;
    border: 1px solid var(--nxp-border);
    border-radius: 4px;
    background: var(--nxp-surface);
    color: var(--nxp-text-2);
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    font-family: var(--font-ui, inherit);
    
}
/* .nxp-pager-btn:hover:not(:disabled) { 
    border-color: var(--nxp-primary); 
    color: var(--nxp-primary); 
    background: rgba(139, 92, 246, 0.05); 
    transform: translateY(-1px);
} */
.nxp-pager-btn.active { 
    background: var(--nxp-primary); 
    border-color: var(--nxp-primary); 
    color: #fff; 
    
}
.nxp-pager-btn:disabled { 
    opacity: 0.4; 
    cursor: not-allowed; 
    box-shadow: none;
}
.nxp-pager-ellipsis { 
    color: var(--nxp-text-3); 
    padding: 0 4px; 
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem; 
    font-weight: 700;
    letter-spacing: 1px;
}

/* Pagination Mobile Adjustments */
@media (max-width: 480px) {
    .nxp-ch-pagination { gap: 6px; padding: 16px 0; }
    .nxp-ch-pager-pages { gap: 4px; }
    .nxp-pager-btn { 
        min-width: 30px; 
        height: 30px; 
        font-size: 0.8rem; 
        padding: 0 6px; 
    }
}

/* ==========================================================================
   05. ABOUT TAB
   ========================================================================== */
.nxp-about-info-rows {
    border: 1px solid var(--nxp-border);
    border-radius: var(--radius-lg);
    overflow: hidden;
    margin-bottom: var(--space-4);
}
.nxp-about-info-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 11px var(--space-4);
    font-size: 0.85rem;
    border-bottom: 1px solid var(--nxp-border);
}
.nxp-about-info-row:last-child { border-bottom: none; }
.nxp-about-info-row__key {
    color: var(--nxp-text-2);
    display: flex;
    align-items: center;
    gap: 8px;
}
.nxp-about-info-row__key i { width: 14px; text-align: center; color: var(--nxp-primary); }
.nxp-about-info-row__val { font-weight: 700; color: var(--nxp-text); }

/* ==========================================================================
   06. REVIEWS SECTION
   ========================================================================== */
.nxp-novel-reviews-section {
    max-width: 100%;
}
.nxp-reviews-title-wrapper {
    position: relative; 
    width: 100%;
    margin-bottom: var(--space-4);
    padding-top: var(--space-4); 
}
.nxp-reviews-heading {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--nxp-text-1);
    margin: 0;
    padding: 0;
}
hr.nxp-full-bleed-hr-reviews {
    border: none;
    border-top: 1px solid var(--nxp-border);
    position: absolute;
    top: 0; 
    left: 50%;
    width: 100vw !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ==========================================================================
   07. RESPONSIVE BREAKPOINTS (MOBILE OVERRIDES)
   ========================================================================== */
@media (max-width: 768px) {
    /* Hero action bar stays a row, full width */
    .nxp-hero-actions {
        gap: 8px;
        min-height: 50px;
    }

    .nxp-chapter-item__submeta {
        gap: 3px;                 
        font-size: 0.6rem;        
    }
    .nxp-hero-read-btn {
        max-width: none;
        flex: 1 1 50%;
        min-height: 50px;
        font-size: 0.95rem;
        padding: 0 12px;
    }
    .nxp-hero-read-btn--continue {
        padding: 6px 10px;
    }
    .nxp-hero-read-btn__label {
        font-size: 1.1rem;
    }
    .nxp-hero-read-btn__sub {
        font-size: 0.65rem;
    }
    /* About stats: 2x2 grid on mobile */
    .nxp-about-stats {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 345px) {
    .nxp-hero-actions { gap: 6px; }
    .nxp-hero-read-btn {
        flex: 1 1 44%;
        font-size: 0.9rem;
        padding: 0 10px;
    }
    .nxp-hero-read-btn--continue { padding: 6px 12px; }
    .nxp-hero-read-btn__label { font-size: 1.1rem; }
}

@media (max-width: 480px) {
    .nxp-genre-row,
    .nxp-fic-stats {
        justify-content: center;
        text-align: center;
    }

    /* Hero cover a bit smaller, centered */
    .nxp-novel-hero__cover { width: 150px; }

    /* Synopsis slightly tighter font */
    .nxp-synopsis-text { font-size: 0.95rem; }

    /* Tap targets for toggle */
    .nxp-synopsis-toggle { padding: 2px 0; margin-top: 0px; }

    /* Chapter controls: full-width stack */
    .nxp-chapter-controls {
        flex-direction: column !important;
        gap: 8px !important;
    }
    .nxp-chapter-controls .nxp-input {
        max-width: 100% !important;
        width: 100%;
    }

    /* About info rows: slightly smaller text */
    .nxp-about-info-row { font-size: 0.8rem; padding: 10px var(--space-3); }
}

/* ── Author Widget Buttons ── */
.nxp-author-widget-btns { display: flex; gap: 8px; align-items: stretch; width: 100%; margin-top: 12px; }
.nxp-author-widget-btns > .nxp-btn, 
.nxp-author-widget-btns > .nxp-tip-wrap { flex: 1; display: flex; }
.nxp-author-widget-btns .nxp-tip-toggle { width: 100%; justify-content: center; }

@media (max-width: 500px) {
    .nxp-author-widget-btns { flex-direction: column; gap: 8px; }
    .nxp-author-widget-btns > .nxp-btn, 
    .nxp-author-widget-btns > .nxp-tip-wrap { width: 100%; flex: none; }
}






.cms-hz-genre-pill:hover, 
.cms-chsort-genre-pill:hover, 
.nxp-genre-rank:hover, 
.nxp-genre-tag:hover, 
.nxp-hcard-genre-tag:hover {
    background: rgb(255, 34, 34) !important;
    color: #fff !important;
}

.nxp-novel-hero {
  background: var(--nxp-bg-2);
  border-bottom: 1px solid var(--nxp-border);
  padding: 50px 0px;
}
.nxp-novel-hero__layout {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: var(--space-7);
  align-items: start;
}
.nxp-novel-hero__cover {
  width: 300px;
  aspect-ratio: 2/3;
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--nxp-border-light);
  flex-shrink: 0;
}
.nxp-novel-hero__cover img { width: 100%; height: 100%; object-fit: cover; }
.nxp-novel-hero__info { padding-bottom: var(--space-6); }
.nxp-novel-hero__type {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--nxp-primary);
  margin-bottom: var(--space-2);
}
.nxp-novel-hero__title {
  font-family: var(--font-body);
  font-size: clamp(1.5rem, 4vw, 2.5rem);
  margin-bottom: var(--space-3);
  line-height: 1.15;
}
.nxp-novel-hero__author-row {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 8px;
}
.nxp-novel-hero__author-name {
  font-weight: 600;
  font-size: 0.95rem;
}
.nxp-novel-hero__stats {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-5);
  margin-bottom: var(--space-4);
}
.nxp-novel-stat { display: flex; flex-direction: column; }
.nxp-novel-stat__value { font-size: 1.25rem; font-weight: 800; color: var(--nxp-text); }
.nxp-novel-stat__label { font-size: 0.72rem; color: var(--nxp-text-2); text-transform: uppercase; letter-spacing: 0.08em; }
.nxp-novel-hero__actions { display: flex; gap: var(--space-3); flex-wrap: wrap; }

/* Novel Tabs */
.nxp-novel-tabs {
  display: flex;
  gap: 0;
  margin-top: var(--space-5);
}
.nxp-tab-btn {
  padding: 12px 20px;
  font-family: var(--font-ui);
  font-size: 1rem;
  font-weight: 600;
  color: var(--nxp-text);
  border-bottom: 3px solid transparent;
  margin-bottom: -1px;
  transition: all var(--dur-fast);
  cursor: pointer;
  background: none;
  border-top: none;
  border-left: none;
  border-right: none;
}
.nxp-tab-btn:hover { color: var(--nxp-text); }
.nxp-tab-btn.active { color: var(--nxp-primary); border-bottom-color: var(--nxp-primary); }

/* Count pill on a tab (Early Access) */
.nxp-tab-count {
  display: inline-block; margin-left: 6px; padding: 1px 7px;
  border-radius: 99px; font-size: 0.72rem; font-weight: 800;
  background: rgba(var(--nxp-patreon-rgb), 0.14); color: var(--nxp-patreon);
  vertical-align: middle;
}
.nxp-tab-btn--ea.active { color: var(--nxp-patreon); border-bottom-color: var(--nxp-patreon); }

/* ── Early Access tab ──────────────────────────────────────────────────────
   Patreon coral throughout, so the perk reads as the author's rather than as
   another site currency. Metadata only — no chapter body is ever rendered
   here; access is decided per request by nxp_ea_reader_can_access(). */
.nxp-ea-intro {
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
  padding: 16px 18px; margin: var(--space-4) 0 18px;
  border: 1px solid rgba(var(--nxp-patreon-rgb), 0.28); border-radius: 14px;
  background: rgba(var(--nxp-patreon-rgb), 0.06);
}
.nxp-ea-intro__icon {
  width: 40px; height: 40px; flex-shrink: 0; border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  background: var(--nxp-patreon); color: var(--nxp-patreon-ink); font-size: 1rem;
}
.nxp-ea-intro__text { flex: 1; min-width: 0; }
.nxp-ea-intro__text strong { display: block; font-size: 0.98rem; font-weight: 800; }
.nxp-ea-intro__text span { font-size: 0.82rem; color: var(--nxp-text-2); line-height: 1.5; }
.nxp-ea-intro__cta {
  display: inline-flex; align-items: center; gap: 7px; flex-shrink: 0;
  padding: 9px 16px; border-radius: 99px; text-decoration: none;
  background: var(--nxp-patreon); color: var(--nxp-patreon-ink); font-weight: 700; font-size: 0.82rem;
  transition: filter var(--dur-fast), transform var(--dur-fast);
}
.nxp-ea-intro__cta:hover { opacity: 0.85; transform: translateY(-1px); color: var(--nxp-patreon-ink); }

.nxp-ea-list { display: flex; flex-direction: column; gap: 8px; }
.nxp-ea-row {
  display: flex; align-items: center; gap: 14px;
  padding: 12px 16px; border-radius: 12px; text-decoration: none;
  background: var(--nxp-bg-2, rgba(255,255,255,0.02));
  border: 1px solid var(--nxp-border, rgba(255,255,255,0.08));
  transition: border-color var(--dur-fast), transform var(--dur-fast);
}
.nxp-ea-row:hover { border-color: rgba(var(--nxp-patreon-rgb), 0.5); transform: translateY(-1px); }
.nxp-ea-row__pos {
  width: 30px; height: 30px; flex-shrink: 0; border-radius: 9px;
  display: flex; align-items: center; justify-content: center;
  font-size: 0.78rem; font-weight: 800;
  background: rgba(var(--nxp-patreon-rgb), 0.12); color: var(--nxp-patreon);
}
/* Unlocked rows reuse the coin "unlocked" green (--nxp-success) rather than a
   green of their own, so a Patreon unlock and a coin unlock read identically. */
.nxp-ea-row.is-open .nxp-ea-row__pos { background: rgba(16,185,129,0.14); color: var(--nxp-success); }
.nxp-ea-row__main  { flex: 1; min-width: 0; }
.nxp-ea-row__title {
  display: block; font-weight: 700; font-size: 0.92rem; color: var(--nxp-text);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.nxp-ea-row__meta {
  display: block; margin-top: 2px; font-size: 0.75rem; color: var(--nxp-text-3);
}
.nxp-ea-row__meta i { font-size: 0.68rem; margin-right: 3px; }
.nxp-ea-row.is-open .nxp-ea-row__meta i { color: var(--nxp-success); }
.nxp-ea-row__go { flex-shrink: 0; color: var(--nxp-text-3); font-size: 0.78rem; }
.nxp-ea-row:hover .nxp-ea-row__go { color: var(--nxp-patreon); }

.nxp-ea-foot {
  margin: 18px 0 0; padding-top: 14px; font-size: 0.8rem; line-height: 1.6;
  color: var(--nxp-text-3); border-top: 1px solid var(--nxp-border, rgba(255,255,255,0.08));
}

@media (max-width: 600px) {
  .nxp-ea-intro { padding: 14px; }
  .nxp-ea-intro__cta { width: 100%; justify-content: center; }
  .nxp-ea-row { padding: 11px 13px; gap: 11px; }
}

/* ── Free chapters banner (Wait To Unlock) ─────────────────────────────────
   Sits under the hero action buttons. A quiet secondary strip, not a call to
   action: the reader has already been given Continue and Library above, and
   this only tells them what the novel is offering.

   Layout: a fixed icon badge on the left spanning both content lines, then a
   body column — title + count on the top row, a segmented progress bar beneath.
   One segment per free chapter, so the bar is countable at a glance.

   Colour comes from --nxp-primary and the neutral tokens rather than literal
   slate/blue, because the site's DEFAULT theme is dark and there are four more
   (light, sepia, soft, and the reader themes). Hardcoding the light palette
   would leave the banner glowing white on a #202020 page.

   The countdown reuses the lock box's class contract (.nxp-lb-countdown /
   .nxp-lb-cd-unit / .nxp-lb-cd-sep) so one ticker in main.js drives both
   surfaces. Those rules cannot simply be shared: reader.css is enqueued only on
   chapter pages, so the few lines the banner needs are restated here. */
.nxp-wtu-banner {
  display: flex; align-items: center; gap: 8px;
  background: var(--nxp-bg-2); border: 1px solid var(--nxp-border);
  border-radius: 6px; padding: 6px 8px;
  margin: 12px 0 20px;
  transition: border-color var(--dur-fast, .18s), box-shadow var(--dur-fast, .18s);
}
.nxp-wtu-banner:hover { border-color: var(--nxp-border-light); }

/* Fixed square so the two text lines always sit against the same anchor,
   whatever the title wraps to. */
.nxp-wtu-banner__left-icon {
  display: flex; align-items: center; justify-content: center;
  width: 34px; height: 34px; flex-shrink: 0;
  border-radius: 8px; font-size: 0.875rem;
  background: color-mix(in srgb, var(--nxp-primary) 12%, transparent); color: var(--nxp-primary);
}
.nxp-wtu-banner.is-charging .nxp-wtu-banner__left-icon {
  background: var(--nxp-bg-3); color: var(--nxp-text-3);
}

.nxp-wtu-banner__body {
  display: flex; flex-direction: column; gap: 4px; flex: 1; min-width: 0; margin-bottom: 4px;
}
.nxp-wtu-banner__main {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
}

/* flex:1 makes the title the element that GIVES WAY on a narrow screen, and
   min-width:0 is what lets the ellipsis actually engage inside a flex row —
   without it the title refuses to shrink below its content and shoves the
   status out of the row. */
.nxp-wtu-banner__text { flex: 1 1 auto; min-width: 0; }
.nxp-wtu-banner__text strong {
  display: block; font-size: 0.8125rem; font-weight: 600; color: var(--nxp-text-2);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-align: left;
}

/* Never shrinks and never wraps: the count is the one thing that must stay
   readable and pinned right, whatever the title does. */
.nxp-wtu-banner__status {
  display: flex; align-items: center; gap: 5px; flex-shrink: 0; line-height: 1;
  white-space: nowrap; margin-left: auto;
}
.nxp-wtu-banner__count { font-size: 0.8125rem; font-weight: 700; color: var(--nxp-text); }
.nxp-wtu-banner__count span { font-size: 0.75rem; font-weight: 500; color: var(--nxp-text-3); }
.nxp-wtu-banner__lbl { font-size: 0.7rem; font-weight: 500; color: var(--nxp-text-3); }
.nxp-wtu-banner__lbl::before { content: '\00b7'; margin-right: 2px; }

/* The shared ticker writes h / m / s into three units. The banner wants only
   "22h 59m", so the seconds unit and both separators are hidden rather than the
   ticker being taught a second output format. */
.nxp-wtu-banner .nxp-lb-countdown {
  display: inline-flex; align-items: baseline; gap: 3px;
  font-variant-numeric: tabular-nums;
}
.nxp-wtu-banner .nxp-lb-cd-sep,
.nxp-wtu-banner .nxp-lb-cd-unit:last-child { display: none; }
.nxp-wtu-banner .nxp-lb-cd-unit i { font-style: normal; }

/* Segmented bar. Slots are equal-width by default; the >10 fallback overrides
   flex inline to become one proportional fill. */
.nxp-wtu-banner__bar {
  width: 100%; display: flex; gap: 4px; margin-top: 1px;
  position: relative; border-radius: 999px; overflow: hidden;
}
.nxp-wtu-banner__segment {
  height: 4px; flex: 1; border-radius: 999px;
  background-color: var(--nxp-bg-3);
  transition: background-color var(--dur-fast, .18s) ease;
}
.nxp-wtu-banner__segment--filled { background: var(--nxp-primary); }
.nxp-wtu-banner__bar--solid { background: var(--nxp-bg-3); }

/* Charging: one sweep across the WHOLE bar, not per segment — the refill is a
   single event that returns every chapter at once, and n independent shimmers
   would imply they come back one at a time. */
.nxp-wtu-banner.is-charging .nxp-wtu-banner__bar::after {
  content: ''; position: absolute; inset: 0 auto 0 -100%; width: 100%;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--nxp-primary) 75%, transparent), transparent);
  animation: nxp-wtu-charging 1.6s infinite ease-in-out;
  pointer-events: none;
}
@keyframes nxp-wtu-charging { 0% { left: -100%; } 100% { left: 100%; } }

/* Respect a reader who has asked the OS for less motion: the shimmer is
   decorative, and the countdown already carries the information. */
@media (prefers-reduced-motion: reduce) {
  .nxp-wtu-banner.is-charging .nxp-wtu-banner__bar::after { animation: none; opacity: 0; }
}

/* Deliberately NO mobile wrap rule. Letting .__main wrap puts the status on its
   own line, where justify-content:space-between leaves it stranded on the LEFT.
   The title ellipsis is what absorbs a narrow screen instead — which is how the
   row is designed to behave, and it was authored at mobile width to begin with. */

/* Desktop: match the action buttons above, never outrun them.
   .nxp-hero-actions is width:100%, but its two children are individually capped
   from 769px up, so the buttons occupy a fixed 450px inside a wider hero column
   and the banner would otherwise overhang them. The sum is spelled out rather
   than hardcoded as 450px so it stays traceable:
       220px  .nxp-hero-read-btn        max-width
        10px  .nxp-hero-actions         gap
       220px  .bl-status-wrapper        max-width (@media min-width:769px)
   Change any of those three and this must follow. Below 769px both caps are
   lifted and the buttons go full width, so the banner does too — which is why
   this is scoped to the same breakpoint rather than applied unconditionally. */
@media (min-width: 769px) {
  .nxp-wtu-banner { max-width: calc(220px + 10px + 220px); }
}

/* Novel Body Layout */
.nxp-novel-body {
  display: grid;
  grid-template-columns: 1fr var(--sidebar-width);
  gap: var(--space-5);
  padding: var(--space-1) 0;
}

@media (max-width:768px) {
.nxp-novel-body {
  gap: 12px !important;
}
}
.nxp-sidebar {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}
.nxp-widget {
  background: var(--nxp-card-bg);
  border: 1px solid var(--nxp-border);
  border-radius: var(--radius-lg);
  /* overflow: hidden; */
}
.nxp-widget__title {
  padding: var(--space-4);
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--nxp-text-2);
  border-bottom: 1px solid var(--nxp-border);
}
.nxp-widget__body { padding: var(--space-4); }

/*  Locked — amber pill */
.nxp-chapter-badge--locked {
  background: rgba(245,158,11,0.12);
  color: var(--nxp-accent);
  border: 1px solid rgba(245,158,11,0.25);
}

/*  Unlocked (paid) — green pill */
.nxp-chapter-badge--unlocked {
  background: rgba(16,185,129,0.1);
  color: var(--nxp-success);
  border: 1px solid rgba(16,185,129,0.22);
}

/* ✓ Read (free) — subtle muted pill */
.nxp-chapter-badge--read {
  background: rgba(255,255,255,0.04);
  color: var(--nxp-text-3);
  border: 1px solid var(--nxp-border);
}

/*  Patreon Early Access badge — Patreon brand colour (see --nxp-patreon) */
.nxp-chapter-badge--patreon {
  background: rgba(var(--nxp-patreon-rgb), 0.1);
  color: var(--nxp-patreon);
  border: 1px solid rgba(var(--nxp-patreon-rgb), 0.25);
  font-size: 0.66rem;
}
.nxp-chapter-badge--patreon .fab {
  font-size: 0.7rem;
}

/* ✅ Patreon Unlocked badge — deliberately identical to .nxp-chapter-badge--unlocked
   (the coin one) so an unlock reads the same whichever way it was earned. Only the
   glyph inside differs. Keep these two rules in sync. */
.nxp-chapter-badge--patreon-unlocked {
  background: rgba(16,185,129,0.1);
  color: var(--nxp-success);
  border: 1px solid rgba(16,185,129,0.22);
  font-size: 0.66rem;
}
.nxp-chapter-badge--patreon-unlocked .fab {
  font-size: 0.7rem;
}

/* Patreon tier label in chapter submeta row */
.nxp-chapter-item__pt-tier {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 0.68rem;
  font-weight: 700;
  color: var(--nxp-patreon);
  opacity: 0.85;
}
.nxp-chapter-item__pt-tier .fab {
  font-size: 0.65rem;
}

/* Green variant — when reader already has Patreon access */
.nxp-chapter-item__pt-tier--unlocked {
  color: var(--nxp-success);
  opacity: 1;
}

/* ═══════════════════════════════════════════════════════════════
   14 · COIN STORE
═══════════════════════════════════════════════════════════════ */
.nxp-coin-packages {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-4);
  margin-top:15px;
}
.nxp-coin-pkg {
  background: var(--nxp-surface);
  border: 2px solid var(--nxp-border);
  border-radius: var(--radius-xl);
  padding: var(--space-6);
  text-align: center;
  transition: all var(--dur) var(--ease);
  position: relative;
  overflow: hidden;
  cursor: pointer;
}
.nxp-coin-pkg::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 80%;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--nxp-accent), transparent);
  opacity: 0;
  transition: opacity var(--dur);
}
.nxp-coin-pkg:hover, .nxp-coin-pkg.popular {
  border-color: var(--nxp-accent);
  box-shadow: 0 8px 32px rgba(245,158,11,0.2);
  transform: translateY(-4px);
}
.nxp-coin-pkg:hover::before, .nxp-coin-pkg.popular::before { opacity: 1; }
.nxp-coin-pkg__badge {
  position: absolute;
  top: 12px;
  right: 12px;
  background: var(--nxp-accent);
  color: #fff;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: 99px;
}
.nxp-coin-pkg__icon { font-size: 2.5rem; margin-bottom: var(--space-3); }
.nxp-coin-pkg__amount {
  font-size: 2rem;
  font-weight: 900;
  color: var(--nxp-accent);
  margin-bottom: var(--space-1);
}
.nxp-coin-pkg__label { font-size: 0.8rem; color: var(--nxp-text-2); margin-bottom: var(--space-4); }
.nxp-coin-pkg__price {
  font-size: 1.3rem;
  font-weight: 800;
  margin-bottom: var(--space-2);
}
.nxp-coin-pkg__per { font-size: 0.72rem; color: var(--nxp-text-3); margin-bottom: var(--space-5); }


@media (min-width: 768px) {
  .nxp-coin-pkg {
    padding: var(--space-6); /* returns to roomier padding on desktop */
  }
}



/* ═══════════════════════════════════════════════════════════════
   15 · FOOTER - COMPACT & CENTERED MOBILE STYLE
═══════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════════
   16 · TOAST NOTIFICATIONS
═══════════════════════════════════════════════════════════════ */
.nxp-toast-container {
  position: fixed;
  top: 80px;
  bottom: auto;
  right: var(--space-5);
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  pointer-events: none;
}
/* On the reader (chapter) page a fixed footer bar holds the text-settings and
   navigation controls. Lift bottom-anchored toasts above it so they never
   cover those controls (main.js reads this var for the inline `bottom`). */
body:has(#nxpFooterBar) { --nxp-toast-safe-bottom: 65px; }
.nxp-toast {
  /* Per-type accent, overridden by the modifier classes below. All the
     configurable knobs (opacity/tint/radius/border) come in as custom
     properties set on the container by the Notification Center config. */
  --nxp-toast-accent: var(--nxp-primary);
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: 11px var(--space-4);
  /* Dark glass — the SAME on every theme (unless overridden by the Notification
     Center "Background color" picker): a translucent near-black panel with light
     text. Reads as "blackish" on the white/sepia/soft pages and still sits fine
     on dark pages. Not tied to --nxp-surface, so it can never match the page
     background and blend in. Default supplied as the var() fallback so a value
     set on the container (by main.js) wins instead of being shadowed. */
  color: #F3F4F8;
  /* Translucent frosted panel — neutral base, NO color tint in the fill. The
     accent lives only on the icon. Opacity stays high so the base reads DARK
     (not grey) even over a white page — the blur still lets a little through. */
  background:
    color-mix(in srgb, var(--nxp-toast-surface, #0A0A0D) var(--nxp-toast-opacity, 98%), transparent);
  border: var(--nxp-toast-border, 1px) solid rgba(255, 255, 255, 0.534);
  border-radius: var(--nxp-toast-radius, 12px);
  /* Whole-toast opacity — fades text, icon, border and fill together. */
  opacity: var(--nxp-toast-alpha, 1);
  /* box-shadow: 0 8px 28px rgba(0, 0, 0, 0.22); */
  backdrop-filter: blur(12px) saturate(1.3);
  -webkit-backdrop-filter: blur(12px) saturate(1.3);
  font-size: 0.875rem;
  font-weight: 500;
  pointer-events: all;
  animation: nxpToastIn 0.35s var(--ease-spring) forwards;
  max-width: 320px;
}
.nxp-toast i { color: var(--nxp-toast-accent); }
.nxp-toast.removing { animation: nxpToastOut 0.25s var(--ease) forwards; }
.nxp-toast--success { --nxp-toast-accent: var(--nxp-success); }
.nxp-toast--error   { --nxp-toast-accent: var(--nxp-danger); }
.nxp-toast--info    { --nxp-toast-accent: var(--nxp-primary); }
.nxp-toast--warn    { --nxp-toast-accent: #F59E0B; }
/* End states resolve to --nxp-toast-alpha (default 1) so the "overall opacity"
   knob survives the animation's `forwards` fill instead of snapping to 1. */
@keyframes nxpToastIn  { from { opacity: 0; transform: translateX(40px); } to { opacity: var(--nxp-toast-alpha, 1); transform: translateX(0); } }
@keyframes nxpToastOut { from { opacity: var(--nxp-toast-alpha, 1); transform: translateX(0); } to { opacity: 0; transform: translateX(40px); } }
/* Toast entrance variants (Notification Center → Appearance → Animation) */
.nxp-toast-anim--fade  { animation: nxpToastFade  0.35s var(--ease) forwards; }
.nxp-toast-anim--scale { animation: nxpToastScale 0.35s var(--ease-spring) forwards; }
@keyframes nxpToastFade  { from { opacity: 0; } to { opacity: var(--nxp-toast-alpha, 1); } }
@keyframes nxpToastScale { from { opacity: 0; transform: scale(0.9); } to { opacity: var(--nxp-toast-alpha, 1); transform: scale(1); } }

/* ═══════════════════════════════════════════════════════════════
   17 · MODAL
═══════════════════════════════════════════════════════════════ */
.nxp-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 5000;
  background: rgba(0,0,0,0.7);
  backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-5);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--dur);
}
.nxp-modal-overlay.open { opacity: 1; pointer-events: all; }
.nxp-modal {
  background: var(--nxp-surface);
  border: 1px solid var(--nxp-border-light);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-lg);
  width: 100%;
  max-width: 480px;
  transform: scale(0.95) translateY(8px);
  transition: transform var(--dur) var(--ease-spring);
  overflow: hidden;
}
.nxp-modal-overlay.open .nxp-modal { transform: scale(1) translateY(0); }
.nxp-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-5) var(--space-6);
  border-bottom: 1px solid var(--nxp-border);
}
.nxp-modal__title { font-size: 1.1rem; font-weight: 700; }
.nxp-modal__close {
  width: 32px; height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--nxp-bg-3);
  color: var(--nxp-text-2);
  cursor: pointer;
  transition: all var(--dur-fast);
}
.nxp-modal__close:hover { background: var(--nxp-danger); color: #fff; }
.nxp-modal__body { padding: var(--space-6); }
.nxp-modal__footer {
  padding: var(--space-4) var(--space-6);
  border-top: 1px solid var(--nxp-border);
  display: flex;
  gap: var(--space-3);
  justify-content: flex-end;
}

/* ═══════════════════════════════════════════════════════════════
   18 · RESPONSIVE — TABLET (≤ 1100px)
═══════════════════════════════════════════════════════════════ */
@media (max-width: 1100px) {
  .nxp-novel-row { grid-template-columns: repeat(5, 1fr); }
  .nxp-coin-packages { grid-template-columns: repeat(2, 1fr); }
  .nxp-footer__grid { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
  .nxp-stat-cards { grid-template-columns: repeat(2, 1fr); }

}

/* ═══════════════════════════════════════════════════════════════
   19 · RESPONSIVE — SMALL TABLET (≤ 900px)
═══════════════════════════════════════════════════════════════ */
@media (max-width: 900px) {
  .nxp-novel-hero__cover {width: 220px;}
  .nxp-novel-hero__layout { grid-template-columns: 220px 1fr; gap: var(--space-5); }
  .nxp-novel-body { grid-template-columns: 1fr; }
  /* Sidebar goes BELOW chapters on mobile — do not set grid-row: 1 */
  .nxp-sidebar { grid-row: auto; }
  .nxp-dash-layout { grid-template-columns: 1fr; }
  .nxp-novel-row { grid-template-columns: repeat(4, 1fr); }


  /* Tables always in scroll wrapper at this size */
  .nxp-table-wrap .nxp-table { min-width: 480px; }
}

/* ═══════════════════════════════════════════════════════════════
   20 · RESPONSIVE — MOBILE (≤ 768px)
═══════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  :root {
    --header-height: 56px;
    --space-8: 48px;   /* tighten large padding on mobile */
    --space-9: 64px;
  }

  .nxp-ranking-title {
      -webkit-line-clamp: 1 !important;
    }

  /* Shrink coin display so it doesn't crowd the header */
  .nxp-coin-display { padding: 5px 10px; font-size: 0.8rem; }
  .nxp-coin-icon    { width: 15px; height: 15px; }

  /* ── Novel Grid ── */
  .nxp-novel-row { grid-template-columns: repeat(3, 1fr); gap: var(--space-3); }

  /* ── Generic Grids ── */
  .nxp-grid-2,
  .nxp-grid-3,
  .nxp-grid-4 { grid-template-columns: 1fr 1fr; }

  /* ── Single Novel Hero ── */
  .nxp-novel-hero { padding: var(--space-5) 0 0; }
  .nxp-novel-hero__layout {
    grid-template-columns: 160px minmax(0, 1fr);   /* side-by-side on mobile: cover left, info right */
    gap: var(--space-4);
    text-align: left;
    align-items: flex-start;
  }
  .nxp-novel-hero__cover {
    width: 160px;
    margin: 0;
  }
  .nxp-novel-hero__info { text-align: left; padding-bottom: var(--space-3); }
  .nxp-novel-hero__author-row { justify-content: flex-start; flex-wrap: wrap; }
  .nxp-novel-hero__stats { justify-content: flex-start; }
  .nxp-novel-hero__actions { justify-content: flex-start; }
  /* Synopsis left-aligned, toggle visible */
  .nxp-synopsis-wrap { text-align: left; }
  .nxp-novel-tabs {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    flex-wrap: nowrap;
  }
  .nxp-novel-tabs::-webkit-scrollbar { display: none; }
  .nxp-tab-btn { flex-shrink: 0; padding: 10px 14px; font-size: .9rem; }

  /* ── Chapter Navigation ── */
  .nxp-chapter-nav { grid-template-columns: 1fr 1fr; }

  /* ── Chapter list controls: stack on mobile ── */
  .nxp-chapter-controls {
    flex-direction: column;
    align-items: stretch !important;
    gap: 10px !important;
  }
  .nxp-chapter-controls > div {
    width: 100%;
    justify-content: space-between;
  }
  .nxp-chapter-controls .nxp-input {
    max-width: 100% !important;
    flex: 1;
  }

  /* ── Lock Box ── */
  .nxp-lock-box { padding: var(--space-6) var(--space-4); }

  /* ── Hero Section ── */
  .nxp-hero { min-height: 380px; }

  /* ── Stat Cards ── */
  .nxp-stat-cards { grid-template-columns: 1fr 1fr; }
  .nxp-stat-card { padding: var(--space-4); }
  .nxp-stat-card__value { font-size: 1.5rem; }

  /* ── Dashboard layout on mobile ── */
  .nxp-dash-layout { padding: var(--space-4) 0; gap: var(--space-3); }
  .nxp-table-wrap .nxp-table { min-width: 320px; }

  /* Profile card sidebar: horizontal on mobile */
  .nxp-profile-card { display: flex; flex-wrap: wrap; gap: var(--space-3); text-align: left; align-items: center; }
  .nxp-profile-card__avatar-wrap { margin: 0; width: 56px; height: 56px; flex-shrink: 0; }
  .nxp-profile-card__avatar { width: 56px; height: 56px; }
  .nxp-profile-card__stats { margin: 0; padding: 0; border-top: none; flex-shrink: 0; }
  .nxp-profile-card__coins { margin-bottom: 0; }

  /* Profile card: stack on very narrow */
  .nxp-dash-profile { flex-wrap: wrap; }
  .nxp-dash-profile__avatar { width: 52px; height: 52px; }

  /* Panels */
  .nxp-dash-panel__body { padding: var(--space-4); }
  .nxp-dash-panel__head { padding: var(--space-3) var(--space-4); }

  /* Coin hero: smaller */
  .nxp-coin-hero { padding: var(--space-5); }
  .nxp-coin-hero__balance { font-size: 3rem; }

  /* Tables: always scrollable, ensure wrapper is used */
  .nxp-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .nxp-table { min-width: 480px; }
  .nxp-table th, .nxp-table td { padding: 10px var(--space-3); }

  /* ── Footer ── */
  .nxp-footer { padding: var(--space-6) 0 var(--space-5); margin-top: 50px}
  .nxp-footer__grid { grid-template-columns: 1fr; gap: var(--space-5); }
  .nxp-footer__bottom { flex-direction: column; gap: var(--space-2); text-align: center; }

  /* ── Modals ── */
  .nxp-modal { border-radius: var(--radius-lg); }
  .nxp-modal__body { padding: var(--space-4); }
  .nxp-modal__footer { padding: var(--space-3) var(--space-4); flex-wrap: wrap; }

  /* ── Tables: make horizontally scrollable ── */
  .nxp-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .nxp-table { min-width: 480px; }

  /* ── Auth Box ── */
  .nxp-auth-box { padding: var(--space-5); }

  /* ── Toast: full-width on mobile ── */
  .nxp-toast-container {
    left: var(--space-3);
    right: var(--space-3);
    top: 70px;
    bottom: auto;
  }
  .nxp-toast { max-width: 100%; }

  /* ── Coin Packages ── */
  .nxp-coin-packages { 
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-3);
    margin-top:12px; 
  }
  .nxp-coin-pkg { padding: var(--space-4); }
  .nxp-coin-pkg__icon { font-size: 2rem; }
  .nxp-coin-pkg__amount { font-size: 1.5rem; }

  /* ── Pagination ── */
  .nxp-pagination { gap: var(--space-1); flex-wrap: wrap; }

  /* ── Comments ── */
  .nxp-comment--reply { margin-left: var(--space-5); }
}

/* ═══════════════════════════════════════════════════════════════
   21 · RESPONSIVE — SMALL MOBILE (≤ 480px)
═══════════════════════════════════════════════════════════════ */
@media (max-width: 480px) {
  :root {
    --space-7: 36px;
    --space-8: 40px;
  }
  .nxp-author-follow {
  display: none;
}

.nxp-novel-hero__title {
  margin-bottom: 6px;
}

  .nxp-dash-nav {
    display: grid !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    border-radius: var(--radius-lg);
  }


  /* ── Novel Grid: 2 columns on small phones ── */
  .nxp-novel-row { grid-template-columns: repeat(2, 1fr); gap: var(--space-2); }

  /* ── Novel card text tighten ── */


  /* ── All grids: stack ── */
  .nxp-grid-2,
  .nxp-grid-3,
  .nxp-grid-4,
  .nxp-grid-5 { grid-template-columns: 1fr; }

  /* ── Auth ── */
  .nxp-auth-box { padding: var(--space-4); }
  .nxp-auth-wrap { padding: var(--space-3); }

  /* ── Coin packages: 1 col on smallest screens ── */


  /* ── Stat cards: 2 col ── */
  .nxp-stat-cards { grid-template-columns: repeat(2, 1fr); }
  .nxp-stat-card__value { font-size: 1.75rem; }

  /* ── Dashboard: full-width, tighter everything ── */
  .nxp-dash-layout { padding: var(--space-3) 0; }
  .nxp-dash-panel { margin-bottom: var(--space-3); border-radius: var(--radius); }
  .nxp-dash-panel__body { padding: var(--space-3); }
  .nxp-dash-panel__head { padding: var(--space-3); }

  /* Profile card: compact horizontal strip */
  .nxp-dash-profile { padding: var(--space-3); gap: var(--space-3); }
  .nxp-dash-profile__avatar { width: 44px; height: 44px; }
  .nxp-dash-profile__name { font-size: 0.9rem; }

  /* Sidebar profile card: ultra compact */
  .nxp-profile-card__avatar { width: 44px; height: 44px; font-size: 1.1rem; }
  .nxp-profile-card__avatar-wrap { width: 44px; height: 44px; }
  .nxp-profile-card__avatar-btn { width: 20px; height: 20px; }
  .nxp-profile-card__name { font-size: 0.82rem; }
  .nxp-profile-card__stat span { font-size: 0.85rem; }

  /* Stat cards: 2 cols still */
  .nxp-stat-card__value { font-size: 1.4rem; }

  /* Continue reading: tighten cover */
  .nxp-cr-card__cover { width: 32px; height: 48px; }
  .nxp-cr-card { padding: 10px var(--space-3); }
  .nxp-cr-card__title { font-size: 0.82rem; }

  /* Coin hero on tiny screens */
  .nxp-coin-hero { padding: var(--space-4); }
  .nxp-coin-hero__balance { font-size: 2.5rem; }

  /* Table: horizontal scroll, compact cells */
  .nxp-table { min-width: 310px; }
  .nxp-table th, .nxp-table td { padding: 8px var(--space-3); font-size: 0.8rem; }

  /* ── Hero ── */
  .nxp-hero { min-height: 300px; }

  /* ── Buttons: ensure tap targets ── */
  .nxp-btn { min-height: 44px; }
  .nxp-btn--sm { min-height: 36px; padding: 6px 12px; }

  /* ── Chapter item: smaller ── */
  .nxp-chapter-item { padding: 10px 0; }
  .nxp-chapter-item__title { font-size: 0.95rem; }

  /* ── Novel hero on small phones: stack cover on top ── */
  .nxp-novel-hero__layout {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .nxp-novel-hero__cover { width: 150px; margin: 0 auto; }
  .nxp-novel-hero__info { text-align: center; }
  .nxp-novel-hero__author-row { justify-content: center; }
  .nxp-novel-hero__stats { justify-content: center; }
  .nxp-novel-hero__actions { justify-content: center; }
  .nxp-synopsis-wrap { text-align: left; }

  /* ── Tags row: allow scroll ── */
  .nxp-tags-row {
    flex-wrap: wrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 4px;
  }
  .nxp-tags-row::-webkit-scrollbar { display: none; }

  /* ── Footer ── */
  .nxp-footer__grid { gap: var(--space-4); }
  .nxp-footer { padding: var(--space-5) 0 var(--space-4); }

  /* ── Modal: sheet from bottom on small screens ── */
  .nxp-modal-overlay {
    align-items: flex-end;
    padding: 0;
  }
  .nxp-modal {
    max-width: 100%;
    border-radius: var(--radius-xl) var(--radius-xl) 0 0;
  }

  /* ── Comment replies: less indent ── */
  .nxp-comment--reply { margin-left: var(--space-3); }
  .nxp-comment__avatar { width: 32px; height: 32px; font-size: 0.78rem; }

  /* ── Page title on browse ── */
  .nxp-browse-layout { padding: var(--space-4) 0; }
}

/* ═══════════════════════════════════════════════════════════════
   22 · UTILITY CLASSES
═══════════════════════════════════════════════════════════════ */
.hidden { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }
.text-center { text-align: center; }
.text-right  { text-align: right; }
.mt-auto     { margin-top: auto; }
.w-full      { width: 100%; }
.truncate    { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.text-muted  { color: var(--nxp-text-2); }
.text-xs     { font-size: 0.75rem; }
.text-sm     { font-size: 0.875rem; }
.text-coin   { color: var(--nxp-accent); }
.text-primary{ color: var(--nxp-primary); }
.text-success{ color: var(--nxp-success); }
.text-danger { color: var(--nxp-danger); }
.fw-bold     { font-weight: 700; }
.fw-black    { font-weight: 900; }


/* Container for the inline stats bar (Handles both templates and card variants) */
.nxp-hc-stats-strip {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 2px;

    font-size: 0.8rem;
    color: var(--nxp-text-3);
    font-family: var(--font-ui);
    width: 100%;           
}

/* Individual Stat Elements (Icons + Digits + Mini Labels) */
.nxp-hc-stat-item {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
  font-weight: 600;
}

.nxp-hc-stat-divider {
  color: var(--nxp-text-3);
  font-weight: 400;
  margin: 0 3px;
  user-select: none;
}

/* Text Labels ("Views", "Chapters") */

.nxp-fic-stat__label {
    font-weight: 500;
    color: var(--nxp-text-4);
    font-size: 1em;
}

/* The Inter-item Middle Dot Separators */
.nxp-fic-stat__sep {
    color: var(--nxp-text-3);
    font-weight: 400;
    margin: 0 3px;
    user-select: none;
}

/* Mobile Responsive Center-Alignment Block */
@media (max-width: 480px) {
  .nxp-fic-stats, 
  .nxp-hc-stats-strip {
    justify-content: center !important;
    text-align: center !important;
  }
}





/* ═══════════════════════════════════════════════════════════════
   23 · HORIZONTAL CARDS  (Library / Ranking / Browse / Archive — in use)
═══════════════════════════════════════════════════════════════ */

.nxp-novel-card {
    align-self: start;
}

/* --- Typography & Base --- */
.nxp-rank-header { margin-bottom: 24px; }
.nxp-header-title { font-size: 1.5rem; font-weight: 800; display: flex; align-items: center; gap: 8px; margin: 0 0 4px; color: var(--nxp-text); }
.nxp-header-window { font-size: 0.9rem; font-weight: 500; color: var(--nxp-text-3); }
.nxp-header-desc { font-size: 0.95rem; color: var(--nxp-text-2); margin: 0; }

/* --- Filters Dashboard --- */
.nxp-filters-wrapper { background: var(--nxp-surface); border: 1px solid var(--nxp-border); border-radius: 12px; padding: 12px; margin-bottom: 16px; display: flex; flex-direction: column; gap: 12px; }
.nxp-tabs-sort { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; }
.nxp-tabs-sort::-webkit-scrollbar { display: none; }
.nxp-tab-item {
  flex: 1;
  min-width: max-content;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 6px 12px;
  background: var(--nxp-border-rw);
  /* border: 1px solid var(--nxp-border); */
  border-radius: 6px;
  font-size: 0.80rem;
  font-weight: 600;
  color: var(--nxp-text-2);
  text-decoration: none;
  transition: 0.2s;
}
.nxp-tab-item.active {
  background: var(--nxp-primary);
  color: #fff;
  
}

/* --- Secondary Filters --- */
.nxp-filters-secondary { 
    display: flex; 
    flex-wrap: nowrap; 
    gap: 8px; 
    align-items: center; 
    justify-content: space-between; 
}

/* 1. The Switch Track (Container) */
.nxp-pills-window { 
    display: inline-flex; 
    background: var(--nxp-bg-5); /* Creates the darker inset track */
    padding: 4px; /* Creates the inner padding for the switch to move in */
    border-radius: 50px; /* Fully rounded track */
    border: 1px solid var(--nxp-border); 
    flex-shrink: 0; 
    gap: 0; /* Remove gap to make it a continuous track */
}

/* 2. The Inactive Flip Options */
.nxp-pill {
    padding: 5px 12px;
    font-size: 0.75em;
    font-weight: 600;
    color: var(--nxp-text-3); /* Dimmer text for inactive options */
    text-decoration: none;
    border-radius: 46px; /* Inner thumb rounding */
    border: none; /* Remove individual borders */
    background: transparent;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); /* Smooth snap animation */
    cursor: pointer;
}

.nxp-pill:hover {
    color: var(--nxp-text);
}

@media (max-width:600px) {
.nxp-pill {
    padding: 2px 10px;
    font-size: 0.70em;
    font-weight: 600;
    color: var(--nxp-text-3); /* Dimmer text for inactive options */
    text-decoration: none;
    border-radius: 46px; /* Inner thumb rounding */
    border: none; /* Remove individual borders */
    background: transparent;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); /* Smooth snap animation */
    cursor: pointer;
}
}



/* 3. The Active "Thumb" */
.nxp-pill.active {
    background: var(--nxp-surface); /* Matches your card backgrounds to pop out */
    color: var(--nxp-primary);
    box-shadow: 0 2px 6px rgba(0,0,0,0.12); /* Gives it a physical 3D raised look */
}

/* --- Select Dropdown --- */
.nxp-select-genre {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 8px;
  color: var(--nxp-text-2);
  font-size: 0.85rem;
  min-width: 0;
  flex: 1;
  max-width: 130px;
  border: 1px solid var(--nxp-border);
}
.nxp-select-genre select { 
  background: transparent; 
  border: none; 
  outline: none; 
  font-weight: 600; 
  color: inherit; 
  cursor: pointer; 
  padding-right: 4px; 
  width: 100%; 
  text-overflow: ellipsis; 
  overflow: hidden; 
  white-space: nowrap; 
}

.nxp-results-count { font-size: 0.85rem; color: var(--nxp-text-3); margin-bottom: 12px; }

/* --- Layout Grid --- */
.nxp-rank-grid { display: grid; grid-template-columns: 1fr; gap: 12px; }
.nxp-rank-row { display: flex; align-items: center; gap: 10px; margin-bottom: 0px; width: 100%; }

/* --- Novel Card Component (Mobile First) --- */
.nxp-novel-card { 
  box-sizing: border-box; 
  width: 100%;
  margin-top: 20px !important;
  background: var(--nxp-card-bg);
  border: 1px solid #6464644f;
  border-bottom: 2px solid #64646452;
  border-radius: 12px;
  padding: 14px 8px 10px 14px; 
  position: relative;
  display: flex;
  flex-direction: column; 
  transition: box-shadow 0.15s;
}
.nxp-novel-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.07); }

.nxp-card-top-flex { display: flex; gap: 8px; align-items: flex-start; }

.nxp-thumb-mask { background-color: transparent; margin-top: -35px; flex-shrink: 0; position: relative; }
.nxp-thumb { width: 75px; height: 112px; object-fit: cover; border-radius: 3px; display: block; box-shadow: 0 2px 6px rgba(0,0,0,0.15); }
.nxp-thumb.nxp-cover-ph { width: 75px; height: 112px; border-radius: 3px; box-shadow: 0 2px 6px rgba(0,0,0,0.15); }

.nxp-info-col {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 0;
  height: 77px; 
  min-width: 0;
}

/* 2-Line Title Clamp Rules Always */
.nxp-title {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--nxp-text);
  margin: 0;
  line-height: 1.15;
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

.nxp-author { font-size: 0.8rem; color: var(--nxp-text-2); display: flex; align-items: center; gap: 2px; font-weight: 600; line-height: 1.2; margin-bottom:auto;}
.nxp-author-by { color: var(--nxp-text-2); font-weight: 400; }

.nxp-meta-strip { display: flex; flex-wrap: nowrap; align-items: center; gap: 6px; line-height: 1.2; }
.nxp-meta-item { font-size: 0.75rem; color: var(--nxp-text-2); display: flex; align-items: center; gap: 3px; font-weight: 500; white-space: nowrap; }
.nxp-meta-item i { font-size: 0.85em; opacity: 0.75; color: inherit; }

/* Text Utilities Toggle */
.nxp-text-mobile { display: inline; font-weight: 500; color: var(--nxp-text-4); font-size: 1em; }
.nxp-text-desktop { display: none; }

.nxp-genre-row-rank { 
    display: flex; 
    flex-wrap: nowrap; 
    gap: 5px; 
    margin-top: 12px !important;
    margin-bottom: 8px !important;
    overflow: hidden; 
}

.nxp-hcard-genres {
  display: flex;
  gap: 6px;
  margin-top: 12px !important;
  margin-bottom: 8px !important;
}

.nxp-hcard-genre-tag {
  font-size: 0.65rem;
  padding: 3px 8px;
  border-radius: 3px;
  background: var(--nxp-bg-2, #2a2a2c);
  color: var(--nxp-text-2, #a1a1aa);
  text-decoration: none;
  border: 1px solid var(--nxp-border, #3f3f46);
  line-height: 1.2;
  flex-shrink: 0; 
  display: inline-flex; 
  align-items: center; 
  transition: background 0.15s, border-color 0.15s, color 0.15s; 
  white-space: nowrap; 
}

.nxp-genre-lib, 
.nxp-genre-rank {
  font-size: 0.65rem;
  padding: 3px 8px;
  border-radius: 3px;
  background: var(--nxp-bg-2, #2a2a2c);
  color: var(--nxp-text-2, #a1a1aa);
  text-decoration: none;
  border: 1px solid var(--nxp-border, #3f3f46);
  line-height: 1.2;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
  white-space: nowrap;
}

/* Force max 3 visibility items on mobile */
/* .nxp-genre-tag:nth-child(n+4) { display: none; } */
.nxp-genre-rank:nth-child(n+5) { display: none; }
.nxp-hcard-genre-tag:nth-child(n+4) { display: none; }

/* --- Synopsis Styles (Global) --- */
.nxp-synopsis { 
    margin-top: 0px; 
    display: flex; 
    flex-direction: column; 
    gap: 6px; 
    cursor: pointer; 
}

.nxp-synopsis-text { 
    font-weight: 400; 
    color: var(--nxp-text); 
    font-size: 0.85rem; 
    margin: 0; 
    line-height: 1.3; 
    
    /* CRITICAL: Global 2-line clamp */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.nxp-synopsis-text p { 
    margin-bottom: 15px; 
}

/* Expanded state override */
.nxp-synopsis-text.nxp-hcard__excerpt--expanded {
    display: block;
    -webkit-line-clamp: unset;
    overflow: visible;
}

/* --- Modern Rank Badge --- */
.nxp-ranking-badge {
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 8px; 
    background: var(--nxp-surface);
    color: var(--nxp-text-2); 
    font-size: 0.95rem;
    font-weight: 900;
    line-height: 1;
    z-index: 5;
    box-shadow: 0 3px 8px rgba(0,0,0,0.25);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    overflow: hidden; 
}
.nxp-ranking-badge span { z-index: 2; letter-spacing: -0.5px; }
.nxp-ranking-badge i { position: absolute; font-size: 1.3rem; opacity: 0.2; z-index: 1; top: 50%; left: 50%; transform: translate(-50%, -50%); }

.nxp-ranking-badge--gold { background: linear-gradient(135deg, #FFD700 0%, #FF8C00 100%); color: #fff; border-color: #FF8C00; box-shadow: 0 4px 10px rgba(255, 140, 0, 0.45); transform: translateX(-50%) scale(1.1); }
.nxp-ranking-badge--silver { background: linear-gradient(135deg, #E0E5EC 0%, #9E9E9E 100%); color: #fff; border-color: #9E9E9E; box-shadow: 0 4px 10px rgba(158, 158, 158, 0.35); transform: translateX(-50%) scale(1.05); }
.nxp-ranking-badge--bronze { background: linear-gradient(135deg, #F3A183 0%, #A65D37 100%); color: #fff; border-color: #A65D37; box-shadow: 0 4px 10px rgba(166, 93, 55, 0.35); transform: translateX(-50%) scale(1.02); }
.nxp-ranking-badge--gold i, .nxp-ranking-badge--silver i, .nxp-ranking-badge--bronze i { opacity: 0.3; }

/* --- Pagination & Global Layout Containers --- */
.nxp-pagination { margin-top: 32px; }
.nxp-pagination ul.page-numbers { display: flex; justify-content: center; gap: 8px; list-style: none; padding: 0; margin: 0; }
.nxp-pagination ul.page-numbers li { margin: 0; }
.nxp-empty-state { text-align: center; padding: 48px 16px; background: var(--nxp-surface); border-radius: 12px; border: 1px dashed var(--nxp-border); }
.nxp-empty-state i { font-size: 3rem; color: var(--nxp-text-4); margin-bottom: 16px; }

/* .bl-container was merged into .nxp-container (horizontal-only) + .nxp-page
   (vertical). All former usages were renamed; the class is retired. */

/* --- Desktop Layout Enhancements (≥ 768px) --- */
@media (min-width: 768px) {
    .nxp-filters-wrapper { flex-direction: row; justify-content: space-between; align-items: center; }
    .nxp-tabs-sort { flex: unset; }
    
    
    .nxp-novel-card { padding: 24px; margin-top: 20px !important; }
    .nxp-card-top-flex { gap: 10px; }
    .nxp-thumb-mask { margin-top: -40px; }
    .nxp-thumb, .nxp-thumb.nxp-cover-ph { width: 90px; height: 135px; }
    .nxp-info-col { height: 95px; }
    .nxp-title { font-size: 1.25rem; line-height: 1.1; }
    .nxp-author { font-size: 0.9rem; }
    .nxp-meta-strip { gap: 6px 12px; }
    .nxp-synopsis-text { font-size: 0.95rem; line-height: 1.5; }
    
    .nxp-text-desktop { display: inline; }
    .nxp-text-mobile { display: none; }
    
    /* Desktop Responsive Genre Rule Adjustments */
    .nxp-genre-tag:nth-child(n+4) { display: inline-flex; }
    .nxp-genre-tag { line-height: 1; }
}


/*H-Cards Grid */
@media (min-width:1150px) {
  .nxp-cr-settings-popover {
   right: 100px !important;
  }
  .nxp-rank-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
}


@media (min-width:1600px) {
  .nxp-cr-settings-popover {
   right: 500px !important;
  }
}
@media (max-width: 600px) {

  /* Ranking page heading (ranking-specific classes — Browse uses its own) */
  .nxp-rank-header { margin-bottom: 12px; }
  .nxp-header-title { font-size: 1.25rem; gap: 6px; }
  .nxp-header-window { font-size: 0.8rem; }
  .nxp-header-desc { font-size: 0.85rem; }

  /* Ranking page filter bar */
  .nxp-filters-wrapper { padding: 10px; gap: 10px; }
  .nxp-tabs-sort { gap: 5px; }
  .nxp-tab-item { padding: 5px 10px; font-size: 0.72rem; }
  .nxp-select-genre { padding: 5px 8px; font-size: 0.78rem; max-width: 120px; }

  /* .nxp-synopsis-text.nxp-hcard__excerpt--expanded {
    display: block;
    -webkit-line-clamp: unset;
    overflow: visible;
  } */
}

/* ── Results grid ────────────────────────────────────── */
.brw-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 420px), 1fr)) !important;
    gap: 16px;
    margin-bottom: 24px;
}





/* ═══════════════════════════════════════════════════════════════
   25 · READING PAGE
═══════════════════════════════════════════════════════════════ */
.nxp-reader-text {
  font-family: var(--font-body);
  font-size: var(--reader-font-size, 17px);
  line-height: var(--reader-line-height, 1.85);
  color: var(--nxp-text);
  transition: font-size var(--dur), color var(--dur);
}
.nxp-reader-text p { margin-bottom: 1.4em; }
.nxp-reader-text p:last-child { margin-bottom: 0; }
.nxp-reader-text h3 { font-family: var(--font-heading); margin: 2em 0 1em; }

/* Chapter Navigation */
.nxp-chapter-nav {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: var(--space-4);
  padding: var(--space-6) 0;
  border-top: 1px solid var(--nxp-border);
  margin-top: var(--space-7);
}
.nxp-chapter-nav__prev { }
.nxp-chapter-nav__next { text-align: right; }
.nxp-chapter-nav__label { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--nxp-text-3); margin-bottom: 4px; }
.nxp-chapter-nav__title { font-size: 0.9rem; font-weight: 600; color: var(--nxp-text-2); }
.nxp-chapter-nav__title:hover { color: var(--nxp-primary); }

/* Lock Box */
.nxp-lock-box {
  text-align: center;
  padding: var(--space-8) var(--space-5);
  border: 1px dashed var(--nxp-border-light);
  border-radius: var(--radius-xl);
  margin: var(--space-6) 0;
  background: radial-gradient(ellipse at center, color-mix(in srgb, var(--nxp-primary) 4%, transparent) 0%, transparent 70%);
}
.nxp-lock-box__icon { font-size: 3rem; margin-bottom: var(--space-4); }
.nxp-lock-box__title { font-size: 1.4rem; font-weight: 800; margin-bottom: var(--space-3); }
.nxp-lock-box__desc { color: var(--nxp-text-2); margin-bottom: var(--space-5); }
.nxp-lock-box__cost {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--nxp-accent);
  margin-bottom: var(--space-5);
}
.nxp-lock-box__balance { font-size: 0.85rem; color: var(--nxp-text-2); margin-top: var(--space-3); }
.nxp-lock-box__actions { display: flex; justify-content: center; gap: var(--space-3); flex-wrap: wrap; }








/* (Removed) The old !important 48px gutter patch across five selectors.
   The --gutter-x token now drives side padding on every container, so
   the override — and its specificity war — is no longer needed.
   Note: .nxp-status still wants the shared gutter; it reads it below. */
.nxp-status { padding-inline: var(--gutter-x); }

/* ═══════════════════════════════════════════════════════════════
   26 · SHARED COMPONENTS
   Moved out of template inline <style> blocks (browse / library /
   ranking / single-novel / dashboard). One canonical copy each.
═══════════════════════════════════════════════════════════════ */

/* ── Cover-as-lightbox trigger ── */
.nxp-cover-trigger { cursor: zoom-in; }
.nxp-cover-trigger:focus-visible { outline: 2px solid var(--nxp-accent); outline-offset: 2px; }

/* ── Cover Lightbox Overlay ── */
.nxp-cover-lightbox {
    position: fixed; inset: 0;
    background: rgba(0,0,0,0.85);
    backdrop-filter: blur(8px);
    z-index: 999999;
    display: flex; align-items: center; justify-content: center;
    padding: var(--space-4, 1rem);
    opacity: 0; transition: opacity 0.2s ease;
}
.nxp-cover-lightbox.is-visible { opacity: 1; }
.nxp-cover-lightbox__wrapper {
    position: relative;
    max-width: 90vw; max-height: 85vh;
    display: flex; align-items: center; justify-content: center;
}
.nxp-cover-lightbox__image {
    max-width: 100%; max-height: 85vh;
    object-fit: contain;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    transform: scale(0.95); transition: transform 0.2s ease;
}
.nxp-cover-lightbox.is-visible .nxp-cover-lightbox__image { transform: scale(1); }
.nxp-cover-lightbox__close {
    position: absolute; top: -16px; right: -16px;
    background: var(--nxp-primary); color: #fff;
    border: none; border-radius: 50%;
    width: 32px; height: 32px;
    display: flex; align-items: center; justify-content: center;
    font-size: 14px; cursor: pointer;
    box-shadow: var(--shadow-sm); transition: transform 0.2s; z-index: 10;
}
.nxp-cover-lightbox__close:hover { transform: scale(1.1); background: var(--nxp-primary-dark); }
@media (max-width: 480px) {
    .nxp-cover-lightbox__close { top: -12px; right: -12px; }
}

/* ── Pagination (browse + ranking, merged) ── */
.pagination {
    margin-top: 48px;
    display: flex; justify-content: center;
    gap: 6px; flex-wrap: wrap;
}
.pagination .page-numbers {
    display: flex; align-items: center; justify-content: center;
    height: 38px; min-width: 38px;
    padding: 0 12px;
    background: var(--nxp-surface);
    border: 1px solid var(--nxp-border);
    border-radius: var(--radius);
    color: var(--nxp-text-2);
    font-weight: 600; font-size: 0.875rem;
    text-decoration: none;
    transition: border-color var(--dur-fast), color var(--dur-fast), background var(--dur-fast);
}
.pagination .page-numbers.current {
    background: var(--nxp-primary);
    color: #fff;
    border-color: var(--nxp-primary);
}
.pagination .page-numbers:hover:not(.current) {
    border-color: var(--nxp-primary);
    color: var(--nxp-primary);
    background: color-mix(in srgb, var(--nxp-primary) 6%, transparent);
}

/* ── Continue-reading history cards (dashboard + library) ── */
.nxp-ud-history-item { display: flex; align-items: center; gap: 16px; padding: 12px; background: var(--nxp-surface); border: 1px solid var(--nxp-border); border-radius: 12px; text-decoration: none; transition: all 0.2s; }
.nxp-ud-history-item:hover { border-color: var(--nxp-primary); box-shadow: 0 4px 16px rgba(0,0,0,0.06); transform: translateY(-2px); }
.nxp-ud-history-item__cover { position: relative; width: 56px; height: 80px; flex-shrink: 0; border-radius: 6px; overflow: hidden; background: var(--nxp-bg-3); box-shadow: 0 2px 8px rgba(0,0,0,0.1); }
.nxp-ud-history-item__cover img { width: 100%; height: 100%; object-fit: cover; }
.nxp-ud-history-item__ph { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: var(--nxp-text-4); font-size: 1.2rem; }
.nxp-ud-history-item__overlay { position: absolute; inset: 0; background: rgba(0,0,0,0.5); display: flex; align-items: center; justify-content: center; color: #fff; font-size: 1.2rem; opacity: 0; transition: opacity 0.2s; }
.nxp-ud-history-item:hover .nxp-ud-history-item__overlay { opacity: 1; }
.nxp-ud-history-item__info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.nxp-ud-history-item__title { font-size: 1rem; font-weight: 800; color: var(--nxp-text); line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nxp-ud-history-item__meta { display: flex; align-items: center; gap: 6px; font-size: 0.8rem; font-weight: 600; color: var(--nxp-text-3); flex-wrap: nowrap; }
.nxp-ud-history-item__ch { color: var(--nxp-primary); min-width: 0; flex: 0 1 auto; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nxp-ud-history-item__dot, .nxp-ud-history-item__time { flex-shrink: 0; }
.nxp-ud-history-item__progress { margin-top: 8px; height: 5px; width: 100%; background: var(--nxp-bg-3); border-radius: 99px; overflow: hidden; }
.nxp-ud-history-item__progress-bar { height: 100%; background: var(--nxp-primary); border-radius: 99px; transition: width 0.3s ease; }
.nxp-ud-history-item__action { width: 32px; height: 32px; border-radius: 50%; background: var(--nxp-bg-2); border: 1px solid var(--nxp-border); display: flex; align-items: center; justify-content: center; color: var(--nxp-text-3); font-size: 0.9rem; flex-shrink: 0; transition: all 0.2s; }
.nxp-ud-history-item:hover .nxp-ud-history-item__action { background: var(--nxp-primary); border-color: var(--nxp-primary); color: #fff; }

/* ── Loading spinner + shared animations (nxpSpin lives with the
      global keyframes near the top of this file) ── */
.nxp-loading-spinner { width: 32px; height: 32px; border: 3px solid var(--nxp-border); border-top-color: var(--nxp-primary); border-radius: 50%; animation: nxpSpin 0.7s linear infinite; margin: 24px auto; }
@keyframes nxpFadeIn  { from { opacity: 0; } to { opacity: 1; } }
@keyframes nxpSlideUp { from { transform: translateY(12px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }

/* ── Responsive text swap helpers (markup in novel-hcard + several
      templates; previously only styled on the browse page) ── */
.nxp-text-mobile { display: none; }
.nxp-text-desktop { display: inline; }
@media (max-width: 600px) {
    .nxp-text-desktop { display: none; }
    .nxp-text-mobile { display: inline; }
}

/* ═══════════════════════════════════════════════════════════════
   27 · BROWSE / ARCHIVE-NOVEL PAGE
   Moved from templates/archive-novel.php inline styles.
═══════════════════════════════════════════════════════════════ */

/* ── Sort & Layout Utility Bar ── */
.nxp-utility-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    flex-wrap: wrap;
    gap: 12px;
}

/* ── Compact Sort Pill ── */
.compact-pill-sort {
    display: flex;
    align-items: center;
    background: var(--nxp-bg-5);
    border: 1px solid var(--nxp-border);
    border-radius: 4px;
    padding: 5px 12px;
    gap: 6px;
    transition: all 0.2s ease;
}
.compact-pill-sort:hover { border-color: var(--nxp-primary); }
.compact-pill-sort i {
    font-size: 13px;
    color: var(--nxp-text-3);
    display: inline-flex;
    align-items: center;
}
.pill-sort-select {
    background: transparent !important;
    border: none !important;
    color: var(--nxp-text-2) !important;
    font-size: 0.82rem !important;
    font-weight: 600;
    padding: 0 4px 0 0 !important;
    margin: 0;
    cursor: pointer;
    outline: none;
    box-shadow: none !important;
    min-width: 0;
}
.pill-sort-select option {
    background: var(--nxp-surface);
    color: var(--nxp-text);
}
.nxp-utility-bar .bl-layout-switcher {
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
}

/* Browse-page container tweaks. Scoped to the archive body class so the
   global .nxp-container gutter keeps governing every other page, while
   this page gets tighter top/bottom and a 12px side gutter on mobile. */
.post-type-archive-novel .nxp-container,
.tax-genre .nxp-container,
.tax-novel_tag .nxp-container,
.tax-content_type .nxp-container,
.tax-novel_status .nxp-container
.nxp-container {
    padding-top: 20px;
    padding-bottom: 20px;
    position: relative;
    z-index: 2;
}
@media (max-width: 600px) {
    .post-type-archive-novel .nxp-container,
    .tax-genre .nxp-container,
    .tax-novel_tag .nxp-container,
    .tax-content_type .nxp-container,
    .tax-novel_status .nxp-container {
        padding-left: var(--space-3);
        padding-right: var(--space-3);
    }
}

/* ── Archive header ── */
.bl-header-bg {
    position: relative;
    background: var(--nxp-card-bg);
    border-radius: var(--radius-lg);
    overflow: hidden;
    margin-bottom: 20px;
    border: 1px solid var(--nxp-border);
}
.bl-backdrop {
    position: absolute; top: 0; left: 0; width: 100%; height: 250px;
    background-size: cover; background-position: center;
    filter: blur(20px) brightness(0.5);
    opacity: 0.6; z-index: 1;
    mask-image: linear-gradient(to bottom, black, transparent);
    -webkit-mask-image: linear-gradient(to bottom, black, transparent);
}
.bl-no-img-bg {
    background: linear-gradient(135deg, var(--nxp-bg-3), var(--nxp-bg-4));
}
.bl-archive-content {
    position: relative; z-index: 2;
    padding: 24px;
    display: flex; flex-direction: column; justify-content: center;
}
.bl-main-title {
    font-family: var(--font-heading);
    font-size: clamp(1.6rem, 4vw, 2.5rem);
    font-weight: 900;
    color: var(--nxp-text);
    margin: 5px 0 0;
    line-height: 1.1;
    letter-spacing: -0.03em;
}
.bl-sub-label {
    font-size: 0.72rem; font-weight: 800;
    text-transform: uppercase; letter-spacing: 0.1em;
    color: #fff; margin-bottom: 6px;
    display: inline-block;
    background: var(--nxp-primary);
    padding: 3px 10px; border-radius: var(--radius-sm);
    width: fit-content;
}
.bl-desc-box {
    font-size: 0.88rem;
    color: var(--nxp-text-2);
    line-height: 1.65;
    padding: 6px 0 0;
}
.bl-desc-box p { margin: 0 !important; }

@media (max-width: 600px) {
    .bl-header-bg { margin-bottom: 12px; }
    .bl-backdrop { mask-image: none; opacity: 0.12; }
    .bl-archive-content { padding: 14px; }
    .bl-main-title { font-size: 1.5rem; }
}

/* ── Novel grid (grid view) ── */
.books-grid {
    display: grid;
    gap: 14px;
    /* minmax(0, 1fr) forces columns to ignore content width and stay strictly equal */
    grid-template-columns: repeat(6, minmax(0, 1fr));
}
.books-grid .nxp-novel-card { display: none !important; }
.books-grid .bl-s-card { display: flex !important; }

.bl-s-card {
    background: var(--nxp-surface);
    border-radius: var(--radius-lg);
    overflow: hidden;
    border: 1px solid var(--nxp-border);
    transition: transform var(--dur) var(--ease), border-color var(--dur) var(--ease);
    display: flex;
    flex-direction: column;
    width: 100%; height: 100%;
    position: relative;
    text-decoration: none;
    color: inherit;
}
.bl-s-card:hover { border-color: var(--nxp-accent); }
.bl-s-cover {
    width: 100%;
    aspect-ratio: 2 / 3;
    position: relative;
    background: var(--nxp-bg-3);
    flex-shrink: 0;
}
.bl-s-img {
    width: 100%; height: 100%;
    object-fit: cover; display: block;
    transition: transform var(--dur-slow) var(--ease);
}
.bl-s-badge {
    position: absolute; top: 6px; right: 6px;
    background: rgba(0,0,0,0.55);
    color: var(--nxp-accent);
    font-size: 0.65rem; font-weight: 700;
    padding: 3px 7px; border-radius: var(--radius-sm);
    backdrop-filter: blur(4px); z-index: 2;
}
.bl-s-body {
    padding: 10px;
    background: var(--nxp-surface);
    flex-grow: 1;
    display: flex; flex-direction: column; justify-content: flex-start;
}
.bl-s-title {
    font-family: var(--font-heading);
    font-size: 0.85rem;
    font-weight: 700;
    margin: 0 0 4px;
    color: var(--nxp-text);
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.3rem;
    word-break: break-word; /* Prevents long titles from breaking the layout */
    overflow-wrap: anywhere;
}
.bl-s-genre {
    display: inline-block;
    background: var(--nxp-bg-3);
    color: var(--nxp-text-3);
    font-size: 0.68rem; font-weight: 600;
    padding: 2px 8px; border-radius: 20px;
    margin-bottom: 6px; line-height: 1;
    border: 1px solid var(--nxp-border);
    transition: background var(--dur-fast), color var(--dur-fast);
}
.bl-s-card:hover .bl-s-genre {
    background: var(--nxp-primary);
    color: #fff;
    border-color: var(--nxp-primary);
}

/* Site-wide "no cover" placeholder — see nxp_get_cover_placeholder_html() */
.nxp-cover-ph {
    width: 100%; height: 100%;
    background: var(--nxp-bg-3);
    background-size: cover; background-position: center;
    display: flex; align-items: center; justify-content: center;
    container-type: inline-size;
}
/* Icon scales with the box itself so a 30px thumb doesn't get the same
   icon as a 200px grid cover — clamped so it never gets illegibly tiny
   or comically large. */
.nxp-cover-ph i { font-size: clamp(12px, 34cqw, 56px); color: var(--nxp-text-3); opacity: .55; }

.bl-s-title-link { text-decoration: none; color: inherit; display: block; }
.bl-s-title-link:hover .bl-s-title { color: var(--nxp-accent); }

/* ── Filter panel ── */
.adv-search-box {
    background: var(--nxp-card-bg);
    border-radius: var(--radius-lg);
    border: 1px solid var(--nxp-border);
    padding: 18px 16px;
    margin-bottom: 10px;
    position: relative;
    z-index: 20;
}

/* Grid breakpoints */
@media (max-width: 1024px) {
    .books-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
    .books-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px !important; }
    .bl-s-title { font-size: 0.8rem; min-height: 2.1rem; }
}

.adv-header {
    display: flex; justify-content: space-between;
    align-items: center; cursor: pointer;
    padding: 4px 0;
    width: 100%;
    background: transparent;
    border: none;
    text-align: left;
    appearance: none;
    -webkit-appearance: none;
}
.adv-title {
    font-family: var(--font-ui);
    font-weight: 700; font-size: 0.95rem;
    color: var(--nxp-text);
    margin: 0; display: flex; align-items: center; gap: 8px;
}
.adv-toggle {
    color: var(--nxp-primary);
    font-weight: 600; font-size: 0.82rem;
}
.adv-form {
    display: none;
    margin-top: 18px;
    border-top: 1px solid var(--nxp-border);
    padding-top: 18px;
}
.adv-form.open { display: block; }

.filter-group { margin-bottom: 18px; position: relative; }
.filter-label {
    display: block; font-weight: 700; margin-bottom: 8px;
    font-size: 0.85rem; color: var(--nxp-text-2);
}

.genre-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 8px;
    max-height: 280px; overflow-y: auto;
    padding: 10px;
    background: var(--nxp-bg);
    border: 1px solid var(--nxp-border);
    border-radius: var(--radius);
}
.checkbox-label {
    display: flex; align-items: center; gap: 6px;
    font-size: 0.875rem; color: var(--nxp-text-2); cursor: pointer;
}
.checkbox-label input { accent-color: var(--nxp-primary); width: 15px; height: 15px; }

/* ── Tri-state genre checkboxes (empty / green check / red minus) ── */
.genre-chip {
    display: flex; align-items: center; gap: 6px;
    width: 100%; text-align: left;
    padding: 0; background: none; border: none;
    color: var(--nxp-text-2);
    font-family: var(--font-ui);
    font-size: 0.875rem; font-weight: 400;
    line-height: 1.3;
    cursor: pointer;
    transition: color var(--dur-fast);
}
.genre-chip-name {
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.genre-chip-box {
    flex-shrink: 0;
    display: inline-flex; align-items: center; justify-content: center;
    width: 15px; height: 15px;
    border: 1.5px solid var(--nxp-border-light);
    border-radius: 3px;
    background: var(--nxp-bg-2);
    transition: background var(--dur-fast), border-color var(--dur-fast);
}
.genre-chip-icon { font-size: 9px; color: #fff; line-height: 1; }
.genre-chip:hover { color: var(--nxp-text); }
.genre-chip:hover .genre-chip-box { border-color: var(--nxp-primary); }

.genre-chip.is-include { color: #22c55e; font-weight: 600; }
.genre-chip.is-include .genre-chip-box {
    background: #22c55e;
    border-color: #22c55e;
}

.genre-chip.is-exclude { color: #ef4444; font-weight: 600; }
.genre-chip.is-exclude .genre-chip-box {
    background: #ef4444;
    border-color: #ef4444;
}

/* ── AND / OR match toggle ── */
.filter-label-row {
    display: flex; align-items: center; justify-content: space-between;
    gap: 12px; flex-wrap: wrap;
}
.filter-label-row .filter-label { margin-bottom: 8px; }
.match-toggle {
    display: inline-flex;
    border: 1px solid var(--nxp-border);
    border-radius: 50px;
    overflow: hidden;
    margin-bottom: 8px;
}
.match-btn {
    background: transparent;
    border: none;
    padding: 4px 14px;
    font-family: var(--font-ui);
    font-size: 0.68rem; font-weight: 700;
    letter-spacing: 0.06em;
    color: var(--nxp-text-3);
    cursor: pointer;
    transition: background var(--dur-fast), color var(--dur-fast);
}
.match-btn:hover { color: var(--nxp-text); }
.match-btn.active {
    background: var(--nxp-primary);
    color: #fff;
}
.filter-hint {
    margin: -2px 0 8px;
    font-size: 0.75rem;
    color: var(--nxp-text-3);
}
.filter-hint .hint-inc { color: #22c55e; font-weight: 600; }
.filter-hint .hint-exc { color: #ef4444; font-weight: 600; }
.filter-label-exclude { color: #ef4444; }

.form-select, .form-input {
    padding: 10px 12px;
    background: var(--nxp-bg);
    border: 1px solid var(--nxp-border);
    border-radius: var(--radius);
    color: var(--nxp-text);
    font-family: var(--font-ui);
    width: 100%; outline: none;
    transition: border-color var(--dur-fast), box-shadow var(--dur-fast);
    font-size: 0.9rem;
}
.form-select:focus, .form-input:focus {
    border-color: var(--nxp-primary);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--nxp-primary) 18%, transparent);
}
.form-select option {
    background: var(--nxp-bg-2);
    color: var(--nxp-text);
}
.filter-row { display: flex; gap: 16px; flex-wrap: wrap; }
.filter-col { flex: 1; min-width: 180px; }

.btn-apply {
    background: linear-gradient(135deg, var(--nxp-primary), var(--nxp-primary-dark));
    color: #fff; border: none;
    padding: 11px 24px;
    border-radius: 50px;
    font-family: var(--font-ui);
    font-weight: 700; font-size: 0.9rem;
    cursor: pointer; margin-top: 18px; width: 100%;
    transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
    box-shadow: 0 4px 14px color-mix(in srgb, var(--nxp-primary) 25%, transparent);
}
.btn-apply:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px color-mix(in srgb, var(--nxp-primary) 40%, transparent);
}

/* ── Active filter summary — one pill per facet ── */
.bl-active-filters {
    margin-bottom: 20px;
    display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
}
.bl-pill {
    display: inline-flex; align-items: center; gap: 6px;
    max-width: 100%;
    background: var(--nxp-bg-2);
    border: 1px solid var(--nxp-border);
    padding: 4px 6px 4px 11px; border-radius: 50px;
    font-size: 0.82rem;
    color: var(--nxp-text-2);
    text-decoration: none;
    transition: border-color var(--dur-fast), color var(--dur-fast);
}
.bl-pill:hover { border-color: var(--nxp-primary); }
.bl-pill-key {
    flex-shrink: 0;
    font-weight: 700;
    color: var(--nxp-text-3);
}
.bl-pill-val {
    font-weight: 600;
    color: var(--nxp-text);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.bl-pill-exclude {
    border-color: rgba(239,68,68,0.4);
    background: rgba(239,68,68,0.08);
}
.bl-pill-exclude:hover { border-color: #ef4444; }
.bl-pill-exclude .bl-pill-key { color: rgba(239,68,68,0.8); }
.bl-pill-exclude .bl-pill-val { color: #ef4444; }
.bl-pill-remove {
    flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    width: 17px; height: 17px; border-radius: 50%;
    background: var(--nxp-bg-3);
    color: var(--nxp-text-3);
    font-size: 13px; line-height: 1;
    cursor: pointer;
    text-decoration: none;
    transition: background var(--dur-fast), color var(--dur-fast);
}
.bl-pill-remove:hover { background: var(--nxp-danger, #ef4444); color: #fff; }

.bl-clear-all {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 0.78rem; font-weight: 600;
    color: var(--nxp-text-3);
    text-decoration: none; cursor: pointer;
    transition: color var(--dur-fast);
}
.bl-clear-all i { font-size: 10px; }
.bl-clear-all:hover { color: var(--nxp-primary); }

/* ── Tag pills (selected tags, shown above the input) ── */
.tag-pills-container {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 8px;
}
.tag-pills-container:empty { display: none; margin-bottom: 0; }
.tag-pill {
    display: inline-flex;
    align-items: center;
    color: var(--nxp-text-2);
    font-size: 13px;
    font-weight: 500;
    gap: 5px;
    background: transparent;
    border: 1px solid var(--nxp-border-light);
    border-radius: 20px;
    padding: 3px 10px;
    line-height: 1.2;
}
.tag-pill-x {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    font-size: 16px;
    line-height: 1;
    opacity: 0.7;
}
.tag-pill-x:hover { opacity: 1; }
.tag-pill-icon { font-size: 8px; opacity: 0.6; }
.tag-pill-exclude {
    border-color: var(--nxp-danger, #ef4444);
    color: #ef4444;
    background: rgba(239,68,68,0.08);
}
.tag-pill-exclude .tag-pill-icon { opacity: 1; }

/* ── Tag autocomplete ── */
.tag-dropdown {
    position: absolute; top: 100%; left: 0; width: 100%;
    background: var(--nxp-surface);
    z-index: 100;
    border: 1px solid var(--nxp-border-light);
    border-top: none;
    max-height: 280px; overflow-y: auto;
    box-shadow: var(--shadow-lg);
    border-radius: 8px;
}
.tag-suggestion {
    padding: 10px 14px;
    border-bottom: 1px solid var(--nxp-border);
    cursor: pointer;
    font-size: 0.875rem;
    color: var(--nxp-text-2);
    transition: background var(--dur-fast), color var(--dur-fast);
}
.tag-suggestion:last-child { border-bottom: none; }
.tag-suggestion:hover { background: var(--nxp-bg-3); color: var(--nxp-primary); }

/* ── Empty state ── */
.bl-empty-state {
    text-align: center;
    padding: 60px 24px;
    background: var(--nxp-surface);
    border: 1px solid var(--nxp-border);
    border-radius: var(--radius-lg);
    color: var(--nxp-text-2);
}
.bl-empty-state h3 { margin: 0 0 8px; color: var(--nxp-text); }

/* ── Description expand/collapse ── */
.bl-desc-content {
    position: relative;
    transition: max-height var(--dur-slow) ease;
    line-height: 1.65;
    color: var(--nxp-text-2);
}
.bl-desc-content.collapsed {
    max-height: 36px;
    overflow: hidden;
}
.bl-desc-content.collapsed::after {
    content: "";
    position: absolute; bottom: 0; left: 0; right: 0;
    height: 36px;
    background: linear-gradient(to bottom, transparent, var(--nxp-bg-2) 90%);
    pointer-events: none;
}
.bl-desc-toggle-btn {
    background: none; border: none; padding: 0;
    margin-top: 6px;
    font-family: var(--font-ui);
    color: var(--nxp-primary);
    font-weight: 600; cursor: pointer; font-size: 0.875rem;
    text-decoration: underline;
    transition: color var(--dur-fast);
}
.bl-desc-toggle-btn:hover {
    color: var(--nxp-primary-dark);
    text-decoration: none;
}

/* ── Layout Switcher Engine Controls ── */
.bl-layout-switcher {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
    background: var(--nxp-surface);
    padding: 8px 14px;
    border-radius: var(--radius-lg);
    border: 1px solid var(--nxp-border);
}
.switcher-label {
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--nxp-text-2);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.switcher-buttons {
    display: flex;
    background: var(--nxp-bg-5);
    border: 1px solid var(--nxp-border);
    border-radius: 5px;
    padding: 3px;
    gap: 0;
}
.layout-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    padding: 5px 12px;
    color: var(--nxp-text-3);
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.layout-btn:hover { color: var(--nxp-text); }
.layout-btn.active {
    background: var(--nxp-surface);
    color: var(--nxp-primary);
    box-shadow: 0 2px 6px rgba(0,0,0,0.12);
}

/* Horizontal / List Layout (the .brw-grid columns rule higher in this
   file keeps winning via !important; this adds the browse gap + card
   visibility switching) */
.brw-grid { gap: 20px; }
.brw-grid .bl-s-card { display: none !important; }
.brw-grid .nxp-novel-card { display: flex !important; }

@media (max-width: 600px) {
    .books-grid { gap: 6px !important; }
}

/* ═══════════════════════════════════════════════════════════════
   28 · LIBRARY PAGE
   Moved from templates/page-library.php inline styles. Rules that
   would collide with global components are scoped to the library
   wrappers (.nxp-lib-modern / .nxp-library__grid / .nxplib-…).
═══════════════════════════════════════════════════════════════ */

/* Hide genres in vertical Grid view; show them in List view */
.nxp-library__grid[data-view="grid"] .nxp-hcard-genres { display: none !important; }
.nxp-library__grid[data-view="list"] .nxp-hcard-genres {
    display: flex !important;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.nxp-lib-modern {
    /* padding-top: 32px; */
    padding-bottom: 60px;
    width: 100%;
    max-width: var(--max-width);
    margin: 0 auto;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}

/* ── Top Header ── */
.nxp-lib-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 0px;
}
.nxp-lib-header__info { display: flex; flex-direction: column; gap: 4px; }
.nxp-lib-header__title { font-size: 2rem; font-weight: 900; color: var(--nxp-text); margin: 0; letter-spacing: -0.02em; display: flex; align-items: center; gap: 12px; }
.nxp-lib-header__sub { font-size: 0.95rem; color: var(--nxp-text-2); margin: 0; }

.nxp-lib-header__stats { display: flex; gap: 10px; }
.nxp-lib-stat-pill { background: var(--nxp-surface); border: 1px solid var(--nxp-border); padding: 12px 16px; border-radius: 4px; font-size: 0.85rem; color: var(--nxp-text-2); box-shadow: 0 2px 8px rgba(0,0,0,0.05); }
.nxp-lib-stat-pill strong { color: var(--nxp-text); font-weight: 800; font-size: 0.9rem; margin-right: 4px; }

/* ── Horizontal App Tabs ── */
.nxp-lib-nav-wrapper {
    position: sticky;
    top: 64px; /* Adjust based on your main site header height */
    background: var(--nxp-bg);
    z-index: 40;
    padding: 12px 0;
    margin: 0 -16px; /* Edge-to-edge bleed on mobile */
    border-bottom: 1px solid var(--nxp-border);
}
.nxp-lib-nav-scroll {
    display: flex;
    align-items: center;
    gap: 10px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 0 16px;
}
.nxp-lib-nav-scroll::-webkit-scrollbar { display: none; }

.nxp-lib-pill {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 4px 16px; font-size: 0.9rem; font-weight: 600;
    color: var(--nxp-text-2); background: var(--nxp-surface);
    border: 1px solid var(--nxp-border); border-radius: 99px;
    text-decoration: none; white-space: nowrap;
    transition: all 0.2s; cursor: pointer; flex-shrink: 0;
}
.nxp-lib-pill i { font-size: 1.1em; opacity: 0.8; }
.nxp-lib-pill:hover { border-color: var(--nxp-text-3); color: var(--nxp-text); }
.nxp-lib-pill.active { background: color-mix(in srgb, var(--nxp-primary) 12%, transparent); border-color: var(--nxp-primary); color: var(--nxp-primary); }
.nxp-lib-pill.active i { opacity: 1; }

.nxp-lib-pill__count { background: var(--nxp-bg-3); color: var(--nxp-text-2); font-size: 0.7rem; font-weight: 800; padding: 2px 8px; border-radius: 12px; border: 1px solid var(--nxp-border); }
.nxp-lib-pill.active .nxp-lib-pill__count { background: var(--nxp-primary); color: #fff; border-color: transparent; }

.nxp-lib-pill-divider { width: 1px; height: 24px; background: var(--nxp-border); flex-shrink: 0; margin: 0 4px; }
.nxp-lib-pill--action { border-style: dashed; background: transparent; }
.nxp-lib-pill--action:hover { background: color-mix(in srgb, var(--nxp-primary) 10%, transparent); border-color: var(--nxp-primary); border-style: solid; color: var(--nxp-primary); }

/* ── Active List Toolbar (Minimal) ── */
.nxp-lib-toolbar-minimal {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 12px 0 12px;
    padding: 0 4px;
}
.nxp-lib-toolbar-minimal__left { font-size: 0.85rem; color: var(--nxp-text-3); }
.nxp-lib-toolbar-minimal__right { display: flex; align-items: center; gap: 12px; }
.nxp-lib-toolbar__actions { display: flex; gap: 8px; }

/* ── View Toggle ── */
.nxp-library__view-toggle { display: flex; border: 1px solid var(--nxp-border); border-radius: 8px; overflow: hidden; }
.nxp-view-btn { background: var(--nxp-surface); border: none; padding: 8px 14px; cursor: pointer; color: var(--nxp-text-3); font-size: 0.9rem; transition: all 0.15s; display: flex; align-items: center; justify-content: center; }
.nxp-view-btn:hover { background: var(--nxp-bg-3); color: var(--nxp-text); }
.nxp-view-btn.active { background: var(--nxp-primary); color: #fff; }

/* ── App Buttons ── */
.nxp-btn-app { display: inline-flex; align-items: center; justify-content: center; gap: 2px; padding: 6px 16px; font-size: 0.75rem; font-weight: 700; border-radius: 4px; cursor: pointer; text-decoration: none; transition: all 0.2s; border: 1px solid transparent; line-height: 1; white-space: nowrap; }
.nxp-btn-app--primary { background: var(--nxp-primary); color: #fff; box-shadow: 0 4px 12px color-mix(in srgb, #000000 20%, transparent); }
.nxp-btn-app--primary:hover { filter: brightness(1.1); color: #fff; }
.nxp-btn-app--ghost {
  background: var(--nxp-card-bg);
  border-color: rgba(199, 199, 199, 0.5);
  color: var(--nxp-text);
}
.nxp-btn-app--ghost:hover { background: var(--nxp-bg-2); border-color: var(--nxp-text-3); }
.nxp-btn-app--danger { background: rgba(239,68,68,0.08); border-color: rgba(239,68,68,0.2); color: var(--nxp-danger); }
.nxp-btn-app--danger:hover { background: rgba(239,68,68,0.18); color: #ef4444; }
.nxp-btn-app--sm { padding: 8px 14px; font-size: 0.8rem; }
.nxp-btn-app--icon { padding: 8px 10px; flex: none; }

/* ── Grid/List Display Logic ── */
.nxp-library__grid { gap: 16px; }
.nxp-library__grid .nxp-rank-row { min-width: 0; width: 100%; }
.nxp-library__grid .nxp-rank-row .bl-s-card { min-width: 0; max-width: 100%; }

/* Action row inside horizontal cards */
.nxp-lib-card__app-actions { display: flex; align-items: center; gap: 12px; padding-top: 8px; margin-top: 10px; border-top: 1px solid var(--nxp-border); }
.nxp-lib-card__app-actions .nxp-btn-app { flex: 0; }

/* ── List View (Default Horizontal Cards) ── */
.nxp-library__grid[data-view="list"] { grid-template-columns: 1fr; }
.nxp-library__grid[data-view="list"] .bl-s-card-wrapper { display: none; }
.nxp-library__grid[data-view="list"] .nxp-novel-card { display: flex; }

/* ── Grid View (Vertical Cards) ── */
.nxp-library__grid[data-view="grid"] { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
.nxp-library__grid[data-view="grid"] .nxp-novel-card { display: none !important; }
.nxp-library__grid[data-view="grid"] .bl-s-card-wrapper { display: flex; flex-direction: column; width: 100%; min-width: 0; }

/* Library cards reuse the browse .bl-s-* set above; this is the
   library-only hover lift */
.nxp-library__grid .bl-s-card:hover { transform: translateY(-3px); border-color: var(--nxp-primary); color: inherit; }

/* Grid Action Buttons (Mini) */
.bl-s-actions { display: flex; gap: 6px; margin-top: 4px; width: 100%; }
.bl-s-actions .nxp-btn-app { flex: 1; padding: 6px 12px; font-size: 0.75rem; border-radius: 3px; }

/* ── Empty States ── */
.nxp-empty-app-state { background: var(--nxp-surface); border: 1px dashed var(--nxp-border); border-radius: 12px; padding: 60px 24px; text-align: center; display: flex; flex-direction: column; align-items: center; grid-column: 1 / -1; }
.nxp-empty-app-state__icon { font-size: 3rem; color: var(--nxp-text-4); margin-bottom: 16px; }
.nxp-empty-app-state__title { font-size: 1.25rem; font-weight: 800; color: var(--nxp-text); margin-bottom: 8px; }
.nxp-empty-app-state__desc { font-size: 0.95rem; color: var(--nxp-text-2); max-width: 340px; line-height: 1.5; }

/* ── Library Modals (scoped so the global .nxp-modal__* / .nxp-input
      components elsewhere keep their own look) ── */
.nxplib-isolated-window .nxp-modal__header { display: flex; align-items: center; justify-content: space-between; padding: 18px 24px 16px; border-bottom: 1px solid var(--nxp-border); }
.nxplib-isolated-window .nxp-modal__title { font-size: 1.1rem; font-weight: 800; margin: 0; }
.nxplib-isolated-window .nxp-modal__body { padding: 24px; }
.nxplib-isolated-window .nxp-modal__footer { display: flex; justify-content: flex-end; gap: 12px; padding: 16px 24px; border-top: 1px solid var(--nxp-border); background: var(--nxp-bg-2); border-radius: 0 0 14px 14px; }
.nxplib-isolated-window .nxp-form-label { display: block; font-size: 0.85rem; font-weight: 700; margin-bottom: 8px; color: var(--nxp-text-2); text-transform: uppercase; letter-spacing: 0.05em; }
.nxplib-isolated-window .nxp-input { width: 100%; padding: 12px 16px; border: 1px solid var(--nxp-border); border-radius: 8px; background: var(--nxp-bg-1); color: var(--nxp-text); font-size: 0.95rem; box-sizing: border-box; outline: none; transition: border-color 0.2s; font-family: inherit; }
.nxplib-isolated-window .nxp-input:focus { border-color: var(--nxp-primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--nxp-primary) 15%, transparent); }

/* ── Custom List Icon Picker ── */
.nxp-icon-picker { display: grid; grid-template-columns: repeat(10, 1fr); gap: 8px; }
.nxp-icon-opt { display: flex; align-items: center; justify-content: center; aspect-ratio: 1; border: 1px solid var(--nxp-border); background: var(--nxp-bg-1); color: var(--nxp-text-2); border-radius: 8px; cursor: pointer; font-size: 0.95rem; transition: all 0.15s; padding: 0; }
.nxp-icon-opt:hover { border-color: var(--nxp-text-3); color: var(--nxp-text); transform: translateY(-1px); }
.nxp-icon-opt.active { border-color: var(--nxp-primary); color: var(--nxp-primary); background: color-mix(in srgb, var(--nxp-primary) 12%, transparent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--nxp-primary) 25%, transparent); }
@media (max-width: 480px) { .nxp-icon-picker { grid-template-columns: repeat(5, 1fr); } }

.nxp-manage-list-item { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--nxp-border); }
.nxp-manage-list-item:last-child { border-bottom: none; }
.nxp-manage-list-item label { flex: 1; cursor: pointer; display: flex; align-items: center; gap: 10px; font-size: 0.95rem; font-weight: 500; color: var(--nxp-text); }
.nxp-manage-list-item input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--nxp-primary); cursor: pointer; }
.nxp-manage-saving { font-size: 0.8rem; color: var(--nxp-text-3); margin-left: auto; font-weight: 600; }

.nxplib-isolated-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.65); backdrop-filter: blur(4px); display: flex; align-items: center; justify-content: center; z-index: 99999 !important; padding: 16px; animation: nxpFadeIn 0.15s ease; }
.nxplib-isolated-overlay[hidden] { display: none !important; }
.nxplib-isolated-window { background: var(--nxp-surface); border: 1px solid var(--nxp-border); border-radius: 16px; width: 100%; max-height: 90vh; overflow-y: auto; animation: nxpSlideUp 0.2s ease; box-shadow: 0 10px 40px rgba(0,0,0,0.2); }
.nxplib-isolated-close { background: var(--nxp-bg-3); border: none; cursor: pointer; color: var(--nxp-text); font-size: 1.1rem; width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; transition: background 0.15s; }
.nxplib-isolated-close:hover { background: var(--nxp-border); }

/* ── Library Responsive ── */
@media (min-width: 768px) {
    .nxp-library__grid[data-view="list"] { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 1024px) {
    .nxp-library__grid[data-view="grid"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
    .nxp-lib-modern { padding-top: 16px; }
    .nxp-lib-header { flex-direction: column; align-items: flex-start; gap: 16px; }
    .nxp-lib-header__title { font-size: 1.6rem; }
    .nxp-lib-header__stats { width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
    .nxp-lib-stat-pill { text-align: center; justify-content: center; }
    .nxp-library__grid[data-view="grid"] { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
}
@media (max-width: 480px) {
    .bl-s-actions .nxp-btn-app { flex: 0; }
    .mng-mobile-hide { display: none; }
    .nxp-lib-toolbar__actions { width: 100%; }
    .nxp-lib-toolbar__actions .nxp-btn-app { flex: 1; }
    .nxp-lib-card__app-actions { align-items: stretch; }
}

/* Library horizontal cards get tighter padding (scoped: h-cards on
   other pages keep the shared component padding) */
.nxp-lib-modern .nxp-novel-card { padding: 16px 16px 10px 16px !important; }

/* ── Recent Reads (uses the shared .nxp-ud-history-item cards) ── */
.nxp-lib-recent-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.nxp-recent-item.is-hidden { display: none; }
.nxp-recent-loadmore-wrap { display: flex; justify-content: center; margin-top: 20px; }
.nxp-recent-loadmore-wrap .nxp-btn-app { padding: 10px 24px; font-size: 0.85rem; }
.nxp-recent-remaining { opacity: 0.7; font-weight: 600; }
@media (max-width: 640px) {
    .nxp-lib-recent-list { grid-template-columns: 1fr; gap: 10px; }
    .nxp-ud-history-item { gap: 12px; padding: 10px; border-radius: 10px; }
    .nxp-ud-history-item__cover { width: 44px; height: 62px; border-radius: 5px; }
    .nxp-ud-history-item__ph { font-size: 1rem; }
    .nxp-ud-history-item__title { font-size: 0.85rem; -webkit-line-clamp: 1; }
    .nxp-ud-history-item__meta { font-size: 0.72rem; gap: 4px; flex-wrap: nowrap; }
    .nxp-ud-history-item__progress { height: 4px; margin-top: 6px; }
    .nxp-ud-history-item__action { width: 26px; height: 26px; font-size: 0.75rem; }
    .nxp-recent-loadmore-wrap .nxp-btn-app { width: 100%; }
}

/* ═══════════════════════════════════════════════════════════════
   29 · RANKING PAGE
   Moved from templates/page-ranking.php inline styles. Markup for
   the pill/author classes is emitted only by inc/ranking.php.
═══════════════════════════════════════════════════════════════ */

/* ── Combined Ranking & Popularity Pills — V1: Connected Split ── */
.nxp-pill-v1 {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    border-radius: var(--radius-lg, 6px);
    overflow: hidden;
    border: 1px solid var(--nxp-border, #334155);
    font-size: 11px;
    line-height: 1.2;
    margin-top: auto;
    max-width: 100%;
}
.nxp-pill-v1 .pill-rank {
    padding: 4px 8px;
    font-weight: 900;
    font-family: var(--font-mono), monospace;
    display: flex;
    align-items: center;
    gap: 4px;
    text-transform: uppercase;
}
.nxp-pill-v1 .pill-rank i { font-size: 10px; }
.nxp-pill-v1 .pill-metric {
    background-color: var(--nxp-bg-5, #000000);
    color: var(--nxp-text-2, #cbd5e1);
    padding: 4px 4px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 4px;
    border-left: 1px solid var(--nxp-border, rgba(51, 65, 85, 0.6));
    white-space: nowrap;
}

/* V1 Rank-Specific Theme Gradients */
.nxp-pill-v1.nxp-rank-gold { border-color: rgba(245, 158, 11, 0.3); }
.nxp-pill-v1.nxp-rank-gold .pill-rank { background: linear-gradient(135deg, #fbbf24, #f59e0b); color: #000000; }
.nxp-pill-v1.nxp-rank-silver { border-color: rgba(203, 213, 225, 0.3); }
.nxp-pill-v1.nxp-rank-silver .pill-rank { background: linear-gradient(135deg, #e2e8f0, #cbd5e1); color: #000000; }
.nxp-pill-v1.nxp-rank-bronze { border-color: rgba(180, 83, 9, 0.3); }
.nxp-pill-v1.nxp-rank-bronze .pill-rank { background: linear-gradient(135deg, #d97706, #b45309); color: #ffffff; }
.nxp-pill-v1.nxp-rank-normal { border-color: var(--nxp-border, #1e293b); }
.nxp-pill-v1.nxp-rank-normal .pill-rank { background: var(--nxp-border-rw, #1e293b); color: var(--nxp-text-2, #cbd5e1); }

/* ── V3: Slanted Slits Badge ── */
.nxp-pill-v3 {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    border-radius: var(--radius, 4px);
    overflow: hidden;
    border: 1px solid var(--nxp-border, #334155);
    font-size: 11px;
    line-height: 1.2;
    margin: 6px 0;
    font-weight: 600;
}
.nxp-pill-v3 .pill-rank {
    padding: 3px 8px;
    display: flex;
    align-items: center;
    gap: 4px;
    text-transform: uppercase;
}
.nxp-pill-v3 .pill-rank i { font-size: 10px; }
.nxp-pill-v3 .pill-metric {
    background-color: var(--nxp-bg-5, #000000);
    color: var(--nxp-text-2, #cbd5e1);
    padding: 3px 10px;
    display: flex;
    align-items: center;
    gap: 6px;
}

/* V3 Rank-Specific Themes */
.nxp-pill-v3.nxp-rank-gold .pill-rank { background: linear-gradient(to right, #fbbf24, #f59e0b); color: #000000; font-weight: 900; }
.nxp-pill-v3.nxp-rank-silver .pill-rank { background: linear-gradient(to right, #e2e8f0, #cbd5e1); color: #000000; font-weight: 800; }
.nxp-pill-v3.nxp-rank-bronze .pill-rank { background: linear-gradient(to right, #d97706, #b45309); color: #ffffff; font-weight: 800; }
.nxp-pill-v3.nxp-rank-normal .pill-rank { background: linear-gradient(to right, #1e293b, #334155); color: var(--nxp-text-3, #94a3b8); }

/* Ranking h-card tweaks — scoped to the results container so h-cards
   on other pages keep the shared component spacing */
#nxp-rank-results .nxp-meta-strip { margin: 6px 0 !important; }

.nxp-genre-row-rank { align-items: center; }
.nxp-author-name {
    color: var(--nxp-text);
    white-space: nowrap;
    flex-shrink: 0;
    border: 1px solid var(--nxp-accent);
}
.author-pill { display: flex; align-items: center; gap: 5px; }
.nxp-dot-separator { color: var(--nxp-text-3, #64748b); font-size: 12px; line-height: 1; }

/* ── AJAX loading state (JS toggles .nxp-rank-loading) ── */
#nxp-rank-results { transition: opacity 0.15s ease; }
#nxp-rank-results.nxp-rank-loading { opacity: 0.45; pointer-events: none; }





/* ── Loading spinners under reduced motion ───────────────────────────────
   Font Awesome 6 kills fa-spin when the OS asks for reduced motion:
     @media (prefers-reduced-motion: reduce) { .fa-spin { animation-duration: 1ms } }
   That is right for decorative spin, and wrong for a LOADING indicator — a
   frozen spinner on "Confirming your payment…" reads as a stalled payment. So the animation is restored here,but slowed well below the threshold that makes motion uncomfortable. The preference is honoured in spirit (calmer,not absent) rather than by removing the only signal that work is happening. */ @media (prefers-reduced-motion:reduce){.fa-spin{animation-name:nxp-reduced-spin!important;animation-duration:2.4s!important;animation-timing-function:linear!important;animation-iteration-count:infinite!important;animation-delay:0s!important}}@keyframes nxp-reduced-spin{to{transform:rotate(360deg)}}.nxp-cosmetic-frame{position:relative;display:inline-block;line-height:0;padding:var(--nxp-frame-pad,2px);transform-origin:center}.nxp-cosmetic-frame::before{content:"";position:absolute;inset:0;z-index:0;clip-path:inherit;-webkit-mask-image:inherit;mask-image:inherit;border-radius:inherit}.nxp-cosmetic-frame>img,.nxp-cosmetic-frame>.nxp-cosmetic-avatar-fallback{position:relative;z-index:1;display:block;object-fit:cover;clip-path:inherit;-webkit-mask-image:inherit;mask-image:inherit;border-radius:inherit;transform:scale(var(--nxp-inner-scale,1))}.nxp-cosmetic-avatar-fallback{background:#374151;color:#e5e7eb;text-align:center;font-weight:700}.nxp-shape--circle{border-radius:50%}.nxp-shape--square{border-radius:20%}.nxp-frame--none::before{background:var(--nxp-border-rw)}.kts-rank-wrap:has(.nxp-cosmetic-frame)::after{display:none}@keyframes nxp-frame-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes nxp-frame-pulse{0%,100%{opacity:1}50%{opacity:.55}}@keyframes nxp-frame-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}@keyframes nxp-frame-flicker{0%,19%,21%,23%,54%,56%,100%{opacity:1}20%,22%,55%{opacity:.4}}@keyframes nxp-glow-pulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.5)}}@keyframes nxp-glow-wave{0%{box-shadow:0 0 6px currentColor}50%{box-shadow:0 0 16px currentColor}100%{box-shadow:0 0 6px currentColor}}@keyframes nxp-glow-flicker{0%,19%,21%,23%,54%,56%,100%{opacity:1}20%,22%,55%{opacity:.5}}@keyframes nxp-glow-huespin{from{filter:hue-rotate(0deg)}to{filter:hue-rotate(360deg)}}.nxp-cosmetic-frame::before{will-change:transform,opacity,background-position}@keyframes nxp-fr-spin-ccw{to{transform:rotate(-360deg)}}@keyframes nxp-fr-pulse-ring{0%{transform:scale(.85);opacity:.9}100%{transform:scale(1.45);opacity:0}}@keyframes nxp-fr-neon{from{box-shadow:0 0 10px currentColor,0 0 20px currentColor}to{box-shadow:0 0 2px currentColor,0 0 6px currentColor}}@keyframes nxp-fr-fire{from{box-shadow:0 0 6px currentColor,0 -6px 12px currentColor,inset 0 -4px 8px currentColor}to{box-shadow:0 0 10px currentColor,0 -12px 20px currentColor,inset 0 -6px 12px currentColor}}@keyframes nxp-fr-aura{0%,100%{box-shadow:0 0 8px currentColor,inset 0 0 6px currentColor}50%{box-shadow:0 0 18px currentColor,inset 0 0 12px currentColor}}@keyframes nxp-fr-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes nxp-fr-heartbeat{0%,100%{transform:scale(1)}15%{transform:scale(1.12)}30%{transform:scale(1)}45%{transform:scale(1.12)}}@keyframes nxp-fr-coin{from{transform:rotateY(0deg)}to{transform:rotateY(360deg)}}@keyframes nxp-fr-bounce{0%,100%{transform:translateY(0);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(5px);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes nxp-fr-morph-blob{0%,100%{border-radius:40% 60% 70% 30% / 40% 50% 60% 50%}34%{border-radius:70% 30% 50% 50% / 30% 30% 70% 70%}67%{border-radius:100% 60% 60% 100% / 100% 100% 60% 60%}}@keyframes nxp-fr-morph-wild{0%,100%{border-radius:50%}25%{border-radius:31% 69% 26% 74%}50%{border-radius:74% 26% 69% 31%}75%{border-radius:35% 65% 42% 58%}}@keyframes nxp-fr-matrix{0%{background-position:0 -100%}100%{background-position:0 100%}}@keyframes nxp-fr-radar{to{transform:rotate(360deg)}}@keyframes nxp-fr-svgdash{0%{stroke-dasharray:10 280;stroke-dashoffset:0}50%{stroke-dasharray:140 150;stroke-dashoffset:-90}100%{stroke-dasharray:10 280;stroke-dashoffset:-290}}.nxp-frame-halo{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;clip-path:inherit;border:2px solid currentColor;pointer-events:none}.nxp-frame-overlay{position:absolute;inset:0;z-index:2;border-radius:inherit;clip-path:inherit;-webkit-mask-image:inherit;mask-image:inherit;overflow:hidden;pointer-events:none}.nxp-ovfx--svg-dash{overflow:visible;clip-path:none;-webkit-mask-image:none;mask-image:none;border-radius:0;inset:calc(-1 * var(--nxp-frame-pad, 2px))}.nxp-ovfx--svg-dash svg{width:100%;height:100%;display:block;transform:rotate(-90deg)}.nxp-ovfx--svg-dash circle{fill:none;stroke-width:4;stroke-linecap:round;animation:nxp-fr-svgdash var(--nxp-ov-speed,3s) ease-in-out infinite}.nxp-motion--float{animation:nxp-fr-float var(--nxp-motion-speed,3s) ease-in-out infinite}.nxp-motion--heartbeat{animation:nxp-fr-heartbeat var(--nxp-motion-speed,1.5s) ease-in-out infinite}.nxp-motion--coin-spin{animation:nxp-fr-coin var(--nxp-motion-speed,3s) linear infinite;transform-style:preserve-3d}.nxp-motion--bounce{animation:nxp-fr-bounce var(--nxp-motion-speed,2s) infinite}.nxp-morph--blob{border-radius:45%;animation:nxp-fr-morph-blob var(--nxp-morph-speed,6s) ease-in-out infinite alternate}.nxp-morph--wild{border-radius:50%;animation:nxp-fr-morph-wild var(--nxp-morph-speed,4s) linear infinite}.nxp-cosmetic-avatar-wrap{position:relative;display:inline-block;line-height:0}.nxp-cosmetic-level-hex{position:absolute;bottom:-3px;right:-3px;z-index:2;min-width:25px;height:18px;padding:0 3px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff;background:#4b5563;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%)}.nxp-lvl{display:inline-block;vertical-align:middle;flex-shrink:0;width:var(--nxp-lvl-size,24px);min-width:var(--nxp-lvl-size,24px);height:var(--nxp-lvl-size,24px);background-image:url(/wp-content/themes/nxp/image/lvls.svg);background-repeat:no-repeat;background-size:100%;background-position:0 var(--nxp-lvl-cell,0%);-webkit-user-select:none;user-select:none}.nxp-user-title{display:inline-block;font-size:.85em}.nxp-title-animwrap{display:inline-block;line-height:inherit}@keyframes nxp-title-pulse{0%,100%{opacity:1}50%{opacity:.6}}@keyframes nxp-title-shimmer{0%{filter:brightness(1)}50%{filter:brightness(1.4)}100%{filter:brightness(1)}}@keyframes nxp-title-rainbow{0%{filter:hue-rotate(0deg)}100%{filter:hue-rotate(360deg)}}.nxp-title-anim--pulse{animation:nxp-title-pulse 2s ease-in-out infinite}.nxp-title-anim--shimmer{animation:nxp-title-shimmer 2.4s ease-in-out infinite}.nxp-title-anim--rainbow{animation:nxp-title-rainbow 3s linear infinite}.nxp-badges-row{display:inline-flex;gap:4px;align-items:center;vertical-align:middle}.nxp-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:color-mix(in srgb,var(--nxp-badge-bg,#1f2937) calc(var(--nxp-badge-bg-opacity, 1) * 100%),transparent)}.nxp-badge--small{width:16px;height:16px;font-size:9px}.nxp-badge--medium{width:20px;height:20px;font-size:11px}.nxp-badge--large{width:26px;height:26px;font-size:14px}.nxp-badge img{width:70%;height:70%;object-fit:contain}.nxp-badge--has-text{width:auto;height:auto;border-radius:999px;padding:2px 8px 2px 6px;gap:4px}.nxp-badge--has-text.nxp-badge--small{padding:1px 6px 1px 5px}.nxp-badge--has-text.nxp-badge--large{padding:3px 10px 3px 7px}.nxp-badge-text{font-weight:700;white-space:nowrap;line-height:1}.nxp-badge--image{width:auto;height:20px;border-radius:0;background:transparent!important;padding:0}.nxp-badge--image.nxp-badge--small{height:16px}.nxp-badge--image.nxp-badge--medium{height:20px}.nxp-badge--image.nxp-badge--large{height:28px}.nxp-badge--image img{width:auto;height:100%;max-width:140px;object-fit:contain}.nxp-badge--image.nxp-badge--has-text{border-radius:0;padding:0;gap:5px}@keyframes nxp-badge-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}@keyframes nxp-badge-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}.nxp-badge-anim--pulse{animation:nxp-badge-pulse 1.6s ease-in-out infinite}.nxp-badge-anim--bounce{animation:nxp-badge-bounce 1.2s ease-in-out infinite}:root{--nxp-rp-color:#9CA3AF;--nxp-rp-glow:transparent}.nxp-rp-hero{border:1px solid var(--nxp-border);border-radius:20px;overflow:hidden;margin-bottom:16px;position:relative}.nxp-rp-hero__banner{position:absolute;top:0;left:0;width:100%;height:110px;z-index:0;pointer-events:none}.nxp-rp-hero__body{padding:50px 24px 24px;position:relative;z-index:1}.nxp-rp-hero__top{display:flex;align-items:center;text-align:left;gap:10px;margin-bottom:14px}.nxp-rp-avatar-wrap{position:relative;flex-shrink:0;line-height:0}.nxp-rp-hero__info{min-width:0;max-width:100%;line-height:1.2}.nxp-rp-name{font-size:1.4rem;font-weight:800;color:var(--nxp-text);margin:0 0 2px;line-height:1.2;display:flex;align-items:center;justify-content:flex-start;gap:8px;min-width:0}.nxp-rp-name-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nxp-rp-rank-row{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-wrap:wrap;margin-top:4px}.nxp-rp-hero__actions{position:absolute;top:10px;right:14px;z-index:2;display:flex;align-items:center;gap:6px}.nxp-ud-hero-action{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--nxp-surface);color:var(--nxp-text-2);font-size:.8rem;text-decoration:none;border:1px solid var(--nxp-border-rw);transition:background 0.15s,color 0.15s}.nxp-ud-hero-action:hover{background:var(--nxp-bg-2);color:var(--nxp-text)}.nxp-rp-like-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:99px;font-size:.76rem;font-weight:700;color:var(--nxp-text-2);background:var(--nxp-surface);border:1px solid var(--nxp-border-rw);cursor:pointer;transition:color 0.15s,border-color 0.15s,background 0.15s}.nxp-rp-like-btn:hover{border-color:#f06767;color:#f06767}.nxp-rp-like-btn i{font-size:.82rem}.nxp-rp-like-btn.is-liked{color:#f06767;border-color:color-mix(in srgb,#f06767 40%,transparent);background:color-mix(in srgb,#f06767 8%,var(--nxp-bg-3))}.nxp-rp-like-btn--readonly{cursor:default;color:var(--nxp-text-2)}.nxp-rp-like-btn--readonly:hover{border-color:var(--nxp-border);color:var(--nxp-text-2)}.nxp-rp-like-count{font-variant-numeric:tabular-nums}.nxp-rp-bio{font-size:.88rem;color:var(--nxp-text-2);line-height:1.55;margin:0 0 16px}.nxp-rp-xp{border:1px solid var(--nxp-border);border-radius:12px;padding:14px 16px}.nxp-rp-xp__top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.nxp-rp-xp__label{font-size:.78rem;font-weight:700;color:var(--nxp-rp-color)}.nxp-rp-xp__nums{font-size:.72rem;color:var(--nxp-text-3)}.nxp-rp-xp__bar{height:8px;background:var(--nxp-bg-2);border-radius:99px;overflow:hidden;margin-bottom:6px}.nxp-rp-xp__fill{height:100%;border-radius:99px;background:linear-gradient(90deg,color-mix(in srgb,var(--nxp-rp-color) 70%,#fff),var(--nxp-rp-color));transition:width 1.2s cubic-bezier(.34,1.56,.64,1)}.nxp-rp-xp__meta{display:flex;justify-content:space-between;font-size:.7rem;color:var(--nxp-text-3)}.nxp-rp-joined{font-size:.72rem;color:var(--nxp-text-4);text-align:right;margin-top:8px}.nxp-rp-avatar-cam-overlay{position:absolute;inset:0;z-index:3;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgb(0 0 0 / .5);color:#fff;font-size:1.1rem;cursor:pointer;opacity:0;transition:opacity 0.15s}.nxp-rp-avatar-wrap:hover .nxp-rp-avatar-cam-overlay,.nxp-rp-avatar-cam-overlay:focus-visible{opacity:1}@media (max-width:600px){.nxp-rp-hero__banner{height:84px}.nxp-rp-hero__body{padding:45px 14px 16px}.nxp-rp-hero__actions{top:10px;right:10px;gap:6px}.nxp-rp-name{font-size:1.15rem;gap:6px}.nxp-rp-bio{font-size:.8rem}.nxp-rp-joined{font-size:.66rem}}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%}#nxp-reader{--cr-bg:#ffffff;--cr-surface:#f5f5f5;--cr-text:#424242;--cr-meta:#6e6e6e;--cr-border:#e8e8e8;--nxp-card-bg:#FFFFFF;--cr-font:'Open Sans', sans-serif;--nxp-patreon:#000000;--nxp-patreon-ink:#ffffff;--nxp-patreon-rgb:0,0,0;--cr-fz:16px;--cr-lh:28px;background:var(--cr-bg);color:var(--cr-text);min-height:100vh;min-height:-webkit-fill-available;font-family:'Inter',sans-serif;display:flex;flex-direction:column;transition:background 0.3s,color 0.3s}#nxp-reader[data-theme="dark"]{--cr-bg:#202020;--cr-surface:#1c1c1c;--cr-text:#E8E8F0;--cr-border:rgba(255,255,255,0.07);--cr-meta:#9999B0;--nxp-card-bg:#0e0d0d;--nxp-patreon:#ffffff;--nxp-patreon-ink:#000000;--nxp-patreon-rgb:255,255,255}#nxp-reader[data-theme="sepia"]{--cr-bg:#fdf6e3;--cr-surface:#f5eed8;--cr-text:#5b4636;--cr-border:#e6dfca;--cr-meta:#7d6a55;--nxp-card-bg:#fffdf5}#nxp-reader[data-theme="soft"]{--cr-bg:#e8f5e9;--cr-surface:#dcf0de;--cr-text:#2e4d32;--cr-border:#c8e6c9;--cr-meta:#4e6f53;--nxp-card-bg:#f4fbf4}#nxp-reader[data-contrast="soft"]{--cr-text:#71717a}#nxp-reader[data-theme="dark"][data-contrast="soft"]{--cr-text:#94a3b8}#nxp-reader[data-theme="sepia"][data-contrast="soft"]{--cr-text:#8d7d66}#nxp-reader[data-contrast="high"]{--cr-text:#000000}#nxp-reader[data-theme="dark"][data-contrast="high"]{--cr-text:#ffffff}body.nxp-reader-page .nxp-header.nxp-header--moved{box-shadow:none}.nxp-cr-chapter-heading{font-family:var(--cr-font);font-size:20px;font-weight:700;color:var(--cr-text);margin-bottom:6px;line-height:1.3}.nxp-cr-chapter-heading:focus:not(:focus-visible){outline:none}.nxp-cr-content{font-family:var(--cr-font);font-size:var(--cr-fz);line-height:var(--cr-lh);color:var(--cr-text);word-wrap:break-word;transition:font-size 0.15s,line-height 0.15s,font-family 0.15s}.nxp-cr-content p{margin-bottom:24px}.nxp-cr-content p:last-child{margin-bottom:0}.nxp-cr-content :where(p,span,div,section,article,li,ul,ol,dl,dd,dt,blockquote,h1,h2,h3,h4,h5,h6,strong,b,em,i,u,s,mark,small,sub,sup,figcaption){color:var(--cr-text)!important}.nxp-cr-bottom-nav{display:flex;align-items:center;width:100%;margin-top:10px;padding-top:16px}.nxp-cr-bottom-nav>:nth-child(1){order:1}.nxp-cr-bottom-nav>:nth-child(3){order:2;margin-left:8px}.nxp-cr-bottom-nav>:nth-child(2){order:3;margin-left:auto;display:flex;gap:2px!important}.nxp-cr-nav-pill{background:linear-gradient(135deg,var(--nxp-primary,#3b82f6),var(--nxp-primary-dark,#2563eb));color:#ffffff!important;padding:8px 18px;border-radius:50px;text-decoration:none;font-weight:700;font-size:13px;border:none;display:flex;align-items:center;gap:6px;cursor:pointer;transition:all 0.2s ease;box-shadow:0 3px 10px rgb(37 99 235 / .25)}.nxp-cr-nav-pill svg{width:14px;height:14px}.nxp-cr-nav-pill:hover{background:linear-gradient(135deg,var(--nxp-primary,#60a5fa),var(--nxp-primary-dark,#3b82f6));filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 5px 14px rgb(37 99 235 / .35)}.nxp-cr-nav-pill:active{transform:scale(.95)}.nxp-cr-nav-pill.disabled{background:var(--cr-surface);color:var(--cr-meta)!important;border:1px solid var(--cr-border);box-shadow:none;opacity:.5;pointer-events:none}.nxp-cr-bottom-nav .nxp-cr-icon-btn{width:35px;background:#fff0;border:none;padding:6px 8px;font-size:22px;color:var(--cr-meta);transition:transform 0.2s cubic-bezier(.34,1.56,.64,1),color 0.2s}.nxp-cr-bottom-nav .nxp-cr-icon-btn:hover{transform:scale(1.15)}.nxp-cr-bottom-nav .nxp-cr-fav-btn.active{color:#ef4444}.nxp-cr-bottom-nav .nxp-cr-bookmark-btn.active{color:#007bff}.nxp-cr-comments{margin-top:48px;padding-top:28px;border-top:1px solid var(--cr-border)}.nxp-redesign-lockbox{position:relative;background:var(--cr-bg);border:1.5px solid var(--cr-border,#e8e8e8);border-radius:24px;padding:52px 28px 36px;margin:60px auto 32px;width:100%;box-shadow:0 20px 25px -5px rgb(0 0 0 / .05),0 8px 10px -6px rgb(0 0 0 / .05);transition:border-color 0.3s,background-color 0.3s,box-shadow 0.3s}#nxp-reader[data-theme="dark"] .nxp-redesign-lockbox{box-shadow:0 10px 40px -10px rgb(0 0 0 / .5),0 0 1px 1px rgb(255 255 255 / .05)}#nxp-reader[data-theme="dark"] .nxp-lb-icon-wrap{box-shadow:0 6px 16px rgb(0 0 0 / .4)}.nxp-lb-icon-wrap{position:absolute;top:0;left:50%;transform:translate(-50%,-45%);width:88px;height:88px;border-radius:50%;background:var(--cr-bg);border:2px solid var(--cr-border,#e8e8e8);display:flex;align-items:center;justify-content:center;font-size:34px;color:var(--nxp-text-2);z-index:10;box-shadow:0 4px 12px rgb(0 0 0 / .08);transition:background-color 0.3s,border-color 0.3s,box-shadow 0.3s}@media (min-width:768px){.nxp-lb-icon-wrap{width:104px;height:104px;font-size:42px;border-width:2.5px}.nxp-redesign-lockbox{padding-top:78px;margin-top:70px}}.nxp-lb-header{text-align:center;margin-bottom:22px;padding-top:6px}.nxp-cr-lock-title{font-size:20px;font-weight:800;color:var(--cr-text);margin-bottom:6px;line-height:1.25;letter-spacing:-.01em}.nxp-cr-lock-sub{font-size:.8rem;color:var(--cr-meta);line-height:1.6;max-width:24rem;margin:0 auto}.nxp-lb-guest-actions{display:flex;flex-direction:column;gap:10px;max-width:620px;margin:0 auto}.nxp-lb-guest-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border-radius:99px;font-weight:700;font-size:.85rem;text-decoration:none;cursor:pointer;transition:0.2s}.nxp-lb-guest-btn--primary{padding:12px 16px;background:linear-gradient(135deg,var(--nxp-primary),var(--nxp-primary-dark));color:#fff;border:none}.nxp-lb-guest-btn--primary:hover{filter:brightness(1.08);transform:translateY(-1px);color:#fff}.nxp-lb-guest-btn--ghost{padding:11px 16px;background:#fff0;border:2px solid var(--cr-border);color:var(--cr-text)}.nxp-lb-guest-btn--ghost:hover{border-color:#F59E0B;color:#F59E0B}.nxp-lb-member{max-width:620px;margin:0 auto}.nxp-lb-tabs{display:flex;gap:6px;background:var(--cr-surface);border:1px solid var(--cr-border);padding:4px;border-radius:12px;margin-bottom:18px}.nxp-tab-btn{position:relative;flex:1;padding:10px 14px;font-size:.82rem;font-weight:700;color:var(--cr-meta);border-radius:9px;background:#fff0;border:none;cursor:pointer;transition:color 0.25s,background-color 0.25s}.nxp-tab-btn.active{color:var(--cr-text);background:var(--cr-bg);box-shadow:0 2px 8px -1px rgb(0 0 0 / .06)}#nxp-reader[data-theme="dark"] .nxp-tab-btn.active{background:rgb(255 255 255 / .06);color:#fff}.v1-panels-container{position:relative;height:148px;width:100%;}.v1-panel-wrapper{display:flex;flex-direction:column;justify-content:center}.v1-panels-container .v1-panel-wrapper{position:absolute;inset:0;opacity:0;pointer-events:none;transform:scale(.98) translateY(6px);transition:opacity 0.25s cubic-bezier(.16,1,.3,1),transform 0.25s cubic-bezier(.16,1,.3,1)}.v1-panels-container .v1-panel-wrapper.active-panel{opacity:1;pointer-events:auto;transform:scale(1) translateY(0)}.nxp-lb-panel-inner{width:100%;margin:0 auto;text-align:center}.nxp-premium-cta-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin:0 auto;padding:14px 28px;border-radius:99px;font-weight:800;font-size:1rem;cursor:pointer;border:none;text-decoration:none;transition:transform 0.2s,box-shadow 0.2s,opacity 0.2s;position:relative;overflow:hidden;min-height:52px;color:#fff}.nxp-premium-cta-btn:hover:not(:disabled){transform:translateY(-2px)}.nxp-premium-cta-btn:disabled{opacity:.5;cursor:not-allowed}.nxp-premium-cta-btn--patreon{background:var(--nxp-patreon);color:var(--nxp-patreon-ink);box-shadow:0 4px 18px rgba(var(--nxp-patreon-rgb),.3)}.nxp-premium-cta-btn--patreon:hover{color:var(--nxp-patreon-ink);opacity:.85}.nxp-lb-pt-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin:10px auto 0;font-size:.75rem;font-weight:700;color:var(--cr-meta);background:none;border:none;cursor:pointer;text-decoration:none;transition:color 0.2s}.nxp-lb-pt-link:hover{color:var(--nxp-patreon)}.nxp-cr-unlock-btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;padding:15px 24px;border-radius:99px;background:linear-gradient(135deg,#F59E0B,#D97706);color:#fff;font-weight:800;font-size:1rem;border:none;cursor:pointer;box-shadow:0 4px 18px rgb(245 158 11 / .38);transition:transform 0.2s,box-shadow 0.2s;text-decoration:none;margin-bottom:5px;position:relative;z-index:1;overflow:hidden;min-height:51px}.nxp-cr-unlock-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 7px 22px rgb(245 158 11 / .52);color:#fff}.nxp-cr-unlock-btn:disabled{opacity:.42;cursor:not-allowed}.nxp-cr-unlock-btn.is-loading:disabled{opacity:1;cursor:progress}.nxp-cr-unlock-btn .nxp-btn-spinner{display:none}.nxp-cr-unlock-btn.is-loading .nxp-btn-spinner{display:block;font-size:.85rem;letter-spacing:.02em;line-height:1}.nxp-cr-unlock-btn.is-loading .nxp-btn-label{display:none}.nxp-cr-unlock-btn.is-loading{flex-direction:column;gap:5px;padding-top:8px;padding-bottom:8px;transform:none!important;box-shadow:0 4px 18px rgb(245 158 11 / .38)!important}.nxp-btn-bar{display:none;width:170px;max-width:65%;height:4px;border-radius:4px;background:rgb(255 255 255 / .25);overflow:hidden;position:relative}.nxp-cr-unlock-btn.is-loading .nxp-btn-bar{display:block}.nxp-btn-bar span{position:absolute;inset:0;background:#fff;border-radius:4px;transform:scaleX(0);transform-origin:left center;animation:nxpBarFill 2.4s cubic-bezier(.25,.65,.3,1) forwards}@keyframes nxpBarFill{0%{transform:scaleX(0)}70%{transform:scaleX(.82)}100%{transform:scaleX(.95)}}.nxp-cr-unlock-btn--signin{background:linear-gradient(135deg,var(--nxp-primary),var(--nxp-primary-dark));box-shadow:0 4px 18px color-mix(in srgb,var(--nxp-primary) 38%,transparent)}.nxp-cr-unlock-btn--signin:hover:not(:disabled){box-shadow:0 7px 22px color-mix(in srgb,var(--nxp-primary) 52%,transparent)}.nxp-cr-unlock-btn--buy{background:linear-gradient(135deg,var(--nxp-primary,#3b82f6),var(--nxp-primary-dark,#1d4ed8));box-shadow:0 4px 18px rgb(0 0 0 / .22)}.nxp-cr-unlock-btn--buy:hover{box-shadow:0 7px 22px rgb(59 130 246 / .52)!important;color:#fff!important}.nxp-cr-unlock-btn--buy.is-disabled{background:var(--cr-surface-2,rgb(127 127 127 / .14));box-shadow:none;color:var(--cr-meta,#8b8b8b);cursor:not-allowed}.nxp-cr-unlock-btn--buy.is-disabled:hover{box-shadow:none!important;color:var(--cr-meta,#8b8b8b)!important}.nxp-chapter[data-nxp-reveal]{position:relative;overflow:hidden}.nxp-chapter[data-nxp-reveal]::after{content:'';position:absolute;inset:0;z-index:5;pointer-events:none;background:linear-gradient(to bottom,transparent,var(--cr-bg,#fff) 180px);animation:nxpRevealDown 1.3s ease-in-out forwards}@keyframes nxpRevealDown{100%{transform:translateY(103%)}}.nxp-cr-toggle-wrap{display:flex;align-items:center;gap:10px;cursor:pointer;user-select:none}.nxp-cr-toggle-input{display:none}.nxp-cr-toggle-track{position:relative;width:42px;height:24px;background:var(--cr-border);border-radius:999px;transition:background 0.2s;flex-shrink:0}.nxp-cr-toggle-track::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:left 0.2s;box-shadow:0 1px 4px rgb(0 0 0 / .2)}.nxp-cr-toggle-input:checked+.nxp-cr-toggle-track{background:#F59E0B}.nxp-cr-toggle-input:checked+.nxp-cr-toggle-track::after{left:21px}.nxp-cr-toggle-label{font-size:.88rem;font-weight:600;color:var(--cr-text)}.nxp-cr-autounlock{display:flex;align-items:center;gap:8px;margin:16px 0 4px;position:relative;z-index:1}.nxp-au-tip{position:relative;display:flex;align-items:center;color:var(--cr-meta);font-size:13px;cursor:pointer;flex-shrink:0}.nxp-au-tip:hover .nxp-au-tip__bubble,.nxp-au-tip:focus .nxp-au-tip__bubble,.nxp-au-tip.open .nxp-au-tip__bubble{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.nxp-au-tip__bubble{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(5px);width:216px;background:var(--cr-bg);border:1px solid var(--cr-border);color:var(--cr-text);font-size:.76rem;line-height:1.55;padding:9px 13px;border-radius:10px;opacity:0;visibility:hidden;transition:opacity 0.18s ease,transform 0.18s ease;pointer-events:none;z-index:99;text-align:center;box-shadow:0 6px 20px rgb(0 0 0 / .18);white-space:normal}.nxp-au-tip__bubble::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid #fff0;border-top-color:var(--cr-border)}.nxp-cr-lock-sub{font-size:.9rem;color:var(--cr-meta);line-height:1.6;text-align:center;max-width:390px;position:relative;z-index:1}.nxp-lb-info-row{display:flex;align-items:center;gap:8px;margin:0 auto 16px;max-width:580px;position:relative;z-index:1}.nxp-lb-info-chip{display:flex;flex-direction:row;align-items:center;gap:10px;background:var(--cr-bg,#fff);border:1px solid var(--cr-border);border-radius:14px;padding:10px 14px;flex:1;min-width:0}.nxp-lb-chip-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}.nxp-lb-chip-icon--coin{background:#F59E0B;color:#fff}.nxp-lb-chip-icon--balance{background:var(--cr-surface);color:var(--cr-meta)}.nxp-lb-chip-icon--patreon{background:var(--nxp-patreon);color:var(--nxp-patreon-ink)}.nxp-lb-chip-text{display:flex;flex-direction:column;gap:1px;overflow:hidden;text-overflow:ellipsis}.nxp-lb-info-chip__label{font-size:.62rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--cr-meta);text-align:left;line-height:.8}.nxp-lb-info-chip__val{font-size:1rem;font-weight:800;color:var(--cr-text);text-align:left;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nxp-lb-info-chip__val--muted{color:var(--cr-meta)}.nxp-lb-info-chip__val--patreon{color:var(--nxp-patreon)}.nxp-lb-info-sep{color:var(--cr-meta);font-size:1.1rem;flex-shrink:0}.nxp-lb-info-sep--arrow{font-size:1rem}.nxp-ea-lockbox{border-color:rgba(var(--nxp-patreon-rgb),.35)}.nxp-lb-icon-wrap--ea{background:rgba(var(--nxp-patreon-rgb),.13)!important;color:var(--nxp-patreon)!important}.nxp-ea-countdown{font-size:.82rem;color:var(--cr-meta);margin:0 0 12px;text-align:center}.nxp-ea-countdown strong{color:var(--nxp-patreon);font-weight:800}.nxp-lb-icon-wrap--timer{color:var(--nxp-primary,#3b82f6);border-color:color-mix(in srgb,var(--nxp-primary,#3b82f6) 42%,var(--cr-border))}.nxp-lb-countdown{display:flex;align-items:baseline;justify-content:center;gap:2px;font-variant-numeric:tabular-nums;font-weight:800;font-size:1.5rem;letter-spacing:.01em;color:var(--cr-text);margin-top:6px}.nxp-lb-cd-unit{display:inline-flex;align-items:baseline}.nxp-lb-cd-unit i{font-style:normal;font-size:.62em;font-weight:700;color:var(--cr-meta);margin-left:1px}.nxp-lb-cd-sep{color:var(--cr-meta);font-weight:700;margin:0 3px}@media (min-width:768px){.nxp-lb-countdown{font-size:1.75rem}}.nxp-lb-help{display:inline-flex;margin-left:5px;cursor:help;font-size:.7em;color:var(--cr-meta);vertical-align:middle}.nxp-lb-help:hover,.nxp-lb-help:focus-visible{color:var(--nxp-primary,#3b82f6)}.nxp-lb-or{display:flex;align-items:center;gap:10px;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--cr-meta);margin:16px auto 4px;width:100%;max-width:420px}.nxp-lb-or::before,.nxp-lb-or::after{content:"";flex:1;height:1px;background:var(--cr-border)}.nxp-lb-keyrow{display:flex;flex-direction:column;align-items:center}.nxp-cr-unlock-btn--key{background:linear-gradient(135deg,#8b5cf6,#7c3aed)!important;box-shadow:0 4px 14px rgb(139 92 246 / .42)}.nxp-cr-unlock-btn--key:hover:not(:disabled){box-shadow:0 7px 22px rgb(139 92 246 / .52)!important;color:#fff!important}.nxp-cr-unlock-btn--key .nxp-btn-label i{margin:0 2px}.nxp-cr-unlock-btn--key.is-empty{background:transparent!important;color:var(--cr-meta)!important;border:1.5px dashed var(--cr-border);box-shadow:none}.nxp-cr-unlock-btn--key.is-empty:hover{border-color:#8b5cf6;color:#8b5cf6!important;box-shadow:none!important}.nxp-lb-one-time{font-size:.65rem;color:var(--cr-meta);margin:2px 0 0;position:relative;z-index:1}.nxp-cr-icon-btn{background:#fff0;border:none;color:var(--cr-meta);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:0.2s cubic-bezier(.34,1.56,.64,1);text-decoration:none;font-size:22px;padding:8px 7px}.nxp-cr-icon-btn:hover{color:#007bff}.nxp-cr-icon-btn.active{color:#007bff}.nxp-cr-fav-btn.active{color:#ef4444}.nxp-cr-fav-btn:hover{color:#ef4444}.nxp-cr-index-backdrop{position:fixed;inset:0;z-index:99;background:rgb(0 0 0 / .5);opacity:0;visibility:hidden;transition:opacity 0.25s ease}.nxp-cr-index-backdrop.active{opacity:1;visibility:visible}.nxp-cr-index-drawer{position:fixed;top:0;left:0;bottom:0;z-index:99;width:320px;max-width:85vw;background:var(--cr-bg);border-right:1px solid var(--cr-border);transform:translateX(-100%);transition:transform 0.28s ease,background 0.3s,border-color 0.3s;display:flex;flex-direction:column}.nxp-cr-index-drawer.active{transform:translateX(0)}.nxp-cr-index-list{flex:1;overflow-y:auto;padding:6px 0}.nxp-cr-index-item{display:flex;align-items:center;gap:10px;padding:11px 16px;text-decoration:none;color:var(--cr-text);border-bottom:1px solid var(--cr-border);transition:background 0.15s}.nxp-cr-index-item:hover{background:var(--cr-surface)}.nxp-cr-index-item__main{flex:1;min-width:0}.nxp-cr-index-item__title{font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nxp-cr-index-item__scheduled{opacity:.6;font-size:.7rem;font-style:italic;margin-left:4px}.nxp-cr-index-item__meta{display:flex;align-items:center;gap:5px;font-size:.72rem;color:var(--cr-meta);margin-top:3px}.nxp-cr-index-item__sep{color:var(--cr-border)}.nxp-cr-index-item__lock{flex-shrink:0;font-size:.7rem;color:#F59E0B}.nxp-cr-index-item.current{background:rgb(132 150 252 / .1);color:var(--nxp-primary);border-left:3px solid var(--nxp-primary);padding-left:13px}.nxp-cr-index-item.current .nxp-cr-index-item__meta{color:var(--nxp-primary);opacity:.8}.nxp-cr-index-empty{padding:24px 16px;font-size:.85rem;color:var(--cr-meta);text-align:center}.nxp-cr-settings-popover{position:absolute;bottom:70px;right:16px;background:var(--nxp-card-bg);border:1px solid var(--cr-border);border-radius:8px;padding:20px;width:320px;box-shadow:0 10px 40px rgb(0 0 0 / .15);display:none;z-index:1001}.nxp-cr-settings-popover.active{display:block}.cr-sett-section{margin-bottom:15px}.cr-sett-label{font-size:15px;font-weight:600;color:var(--cr-meta);margin-bottom:10px;display:block}.cr-font-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cr-font-opt{padding:8px 10px;background:var(--cr-surface);border:1.5px solid #fff0;border-radius:8px;cursor:pointer;text-align:center;font-size:14px;color:var(--cr-text);font-weight:600;transition:0.2s}.cr-font-opt.active{background:#fff0;border-color:var(--nxp-primary);color:var(--nxp-primary)}.cr-font-opt[data-font*="'Open Sans'"]{font-family:'Open Sans',sans-serif}.cr-font-opt[data-font*="'Lora'"]{font-family:'Lora',serif}.cr-font-opt[data-font*="'Merriweather'"]{font-family:'Merriweather',serif}.cr-font-opt[data-font*="'Source Serif 4'"]{font-family:'Source Serif 4',serif}.cr-font-opt[data-font*="'Inter'"]{font-family:'Inter',sans-serif}.cr-font-opt[data-font*="'Lexend'"]{font-family:'Lexend',sans-serif}.cr-theme-circle{position:relative;aspect-ratio:1;border-radius:50%;border:2px solid;cursor:pointer;transition:transform 0.15s ease}.cr-theme-circle::before{content:"";position:absolute;top:50%;left:50%;width:56%;height:56%;border-radius:50%;background:currentColor;transform:translate(-50%,-50%)}.cr-theme-circle.active::after{content:"";position:absolute;top:-3px;right:-3px;width:15px;height:15px;border-radius:50%;background-color:var(--nxp-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");background-size:9px;background-repeat:no-repeat;background-position:center;border:2px solid var(--cr-bg)}.cr-contrast-row{display:flex;gap:7px}.cr-contrast-pill{flex:1;padding:5px 7px;background:var(--cr-surface);border:1px solid var(--cr-border);border-radius:99px;text-align:center;font-size:12px;font-weight:700;cursor:pointer;color:var(--cr-text);transition:0.2s}.cr-contrast-pill.active{background:var(--nxp-primary);color:#fff;border-color:var(--nxp-primary)}.cr-reset-btn{width:100%;padding:10px;background:#fff0;border:1.5px solid var(--nxp-primary);color:var(--nxp-primary);border-radius:25px;font-weight:700;font-size:14px;cursor:pointer;transition:0.2s}.cr-reset-btn:hover{background:var(--nxp-primary);color:#fff}@keyframes nxpBtnSpin{100%{transform:rotate(360deg)}}@media (max-width:600px){.nxp-cr-novel-title{max-width:260px;font-size:16px}.nxp-cr-thumb{width:28px;height:38px}.nxp-cr-settings-popover{width:280px;right:10px;left:auto;bottom:55px;padding:16px}.nxp-cr-container{padding:20px 16px 130px}}@media (max-width:480px){.nxp-redesign-lockbox{padding:48px 16px 24px;margin:44px auto 20px;border-radius:20px}.nxp-lb-icon-wrap{width:85px;height:85px;font-size:32px}.v1-panels-container{height:165px}.nxp-tab-btn{padding:8px 6px;font-size:.76rem}.nxp-lb-info-row{gap:1px}.nxp-lb-info-chip{padding:6px 10px;gap:6px;border-radius:10px}.nxp-lb-chip-icon{width:32px;height:32px;font-size:12px}.nxp-lb-info-chip__label{font-size:.55rem;letter-spacing:.04em}.nxp-lb-info-chip__val{font-size:.85rem}}.nxp-modern-loader{width:36px;height:36px;border:3px solid var(--cr-border);border-bottom-color:var(--nxp-primary);border-radius:50%;display:inline-block;box-sizing:border-box;animation:nxpRotation 0.8s linear infinite;margin-bottom:12px}@keyframes nxpRotation{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.nxp-loader-wrap{padding:50px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--cr-meta);opacity:0;animation:nxpFadeIn 0.3s ease forwards}.nxp-loader-text{font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}@keyframes nxpFadeIn{to{opacity:1}}#nxpReaderText table{max-width:100%!important;margin-bottom:1.5em;margin-left:auto;margin-right:auto;height:100%!important;background-color:#374558;color:#bfc4c9;border-collapse:collapse;background:none!important}#nxpReaderText td{padding:5px}.tbl_of{display:block;overflow:auto}@media (max-width:820px){#p_resultsEdit,#p_resultsPop,#p_resultsPop_edit,#p_rs_box{max-width:calc(100% - 20px)}}@media only screen and (max-width:939px){.edt_tb{padding-right:7px}.send_bl{margin-right:7px}}.wi_authornotes:before{font-family:Arial;content:"\201C";color:#001018;font-size:4em;position:absolute;left:10px;top:-10px}.wi_authornotes:after{font-family:Arial;content:"\201D";color:#001018;font-size:4em;position:absolute;bottom:-45px;right:10px}.wi_authornotes{padding:15px 35px;background-color:#f2f2f2;border-radius:5px;position:relative}.an_username{padding-left:10px}.an_username a{font-weight:600;color:#333}.wi_authornotes_body{padding-top:10px;color:#333}.an_username a:hover{color:#fc4349}blockquote{margin:20px auto;font-family:Open Sans;color:#555;padding:1.2em 30px 1.2em 75px;border-left:8px solid #333;line-height:1.6;position:relative;background:#f2f2f2}blockquote::before{font-family:Arial;content:"\201C";color:#333;font-size:4em;position:absolute;left:10px;top:-10px}blockquote::after{content:''}blockquote span{display:block;color:#333;font-style:normal;margin-top:1em}#chp_contents img{max-width:100%}.support_author{border-top:1px solid #e6e6e6;padding:5px 20px;text-align:center;padding-bottom:10px;background-color:#f5f5f5}.sa_title{font-weight:600;text-align:center}.sa_tip img{width:16px;height:16px;position:relative;top:1px}.sa_tip{border:1px solid #8b100e;padding:2px 15px;border-radius:2px;padding-top:5px;margin-left:10px;background-color:#a61f1c;color:#fff;font-size:13.5px}.tip_text.sa{top:-2px}.sa_link{display:inline-block;padding-top:10px}.nav_chp_fi{height:45px;padding-top:15px;border-top:1px solid #ececec;border-bottom:1px solid #ececec;margin-bottom:25px;background-color:#f5f5f5;padding-left:25px;padding-right:25px;margin-top:20px}.prenext{position:relative;top:-5px}.poll_rpl{padding:0 25px}.p_box{margin-bottom:25px}.pollend .p_box{margin-bottom:5px}.p_box.poll_pop{margin:0}.p_title{padding:5px 15px;font-weight:600;border-bottom:1px solid #ececec;color:#f5f5f5;background:#2e3a42;padding-right:35px}.p_multiple{border-top:1px solid #ececec;padding:5px 15px;font-size:13px;background-color:#fff}.p_footer{padding:6px 10px;font-size:12px;color:#505050;background:#f5f5f5;border:1px solid #dfdfdf;background:linear-gradient(180deg,#f5f5f5,#fafafa);height:45px}.p_footbtn{float:right;margin-top:1px}.p_block{background-color:#fff;border-left:1px solid #dfdfdf;border-right:1px solid #dfdfdf}.fa-check-circle-o.poll,.fa-check-square-o.poll,.fa.fa-circle-thin.poll,.fa.fa-square-o.poll{font-size:17px;color:#47a7eb;cursor:pointer;padding-right:3px}.ico_poll.radio.maxvote:hover .fa.fa-circle-thin.poll{color:#2074b0}.pollset.options{cursor:pointer}.listResult{list-style:none;margin:0;padding:0;padding:5px 0}.pResult{display:table;table-layout:fixed;width:100%;margin:0;padding:2px 10px}.p-avatar-wrap{float:left}.p-body-wrap{margin-left:60px;position:relative;top:-6px;padding-bottom:10px;min-height:65px}.p_profile_post{padding:15px 10px;border-bottom:1px solid #e6e6e6;padding-bottom:0}.p_profile_post.active{background-color:#fafafa}.p-avatar-wrap img{border-radius:50%;width:45px;height:45px;object-fit:cover}.nxp-cr-skel{display:flex;flex-direction:column;gap:12px}.nxp-cr-skel__title,.nxp-cr-skel__meta span,.nxp-cr-skel__body span,.nxp-cr-skel__lock,.nxp-cr-skel__nav{display:block;border-radius:6px;background:color-mix(in srgb,var(--cr-text) 11%,transparent);background-image:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--cr-text) 6%,transparent) 50%,transparent 100%);background-size:220% 100%;animation:nxp-skel-shimmer 1.4s ease-in-out infinite}@supports not (color:color-mix(in srgb,red 50%,transparent)){.nxp-cr-skel__title,.nxp-cr-skel__meta span,.nxp-cr-skel__body span,.nxp-cr-skel__lock,.nxp-cr-skel__nav{background:rgb(128 128 128 / .22);background-image:none}}.nxp-cr-skel__title{height:26px;width:68%;margin-bottom:14px}.nxp-cr-skel__meta{display:flex;gap:12px;margin-bottom:26px}.nxp-cr-skel__meta span{height:11px;width:62px;border-radius:4px}.nxp-cr-skel__body span{height:13px;margin-bottom:13px}.nxp-cr-skel__body span:nth-child(4n){width:88%}.nxp-cr-skel__body span:nth-child(6n){width:94%}.nxp-cr-skel__body span:nth-child(4n+3){width:97%}.nxp-cr-skel__body span:nth-child(4n+1){margin-top:24px}.nxp-cr-skel.is-locked .nxp-cr-skel__body span:last-child{width:46%}.nxp-cr-skel__lock{height:168px;border-radius:10px;margin-top:22px}.nxp-cr-skel__nav{height:52px;border-radius:10px}.nxp-nav-waiting{pointer-events:none;opacity:.45;transition:opacity .2s ease}@keyframes nxp-skel-shimmer{from{background-position:120% 0}to{background-position:-120% 0}}@media (prefers-reduced-motion:reduce){.nxp-cr-skel__title,.nxp-cr-skel__meta span,.nxp-cr-skel__body span,.nxp-cr-skel__lock,.nxp-cr-skel__nav{animation:none}}.nxp-comments-readonly .kts-form-card,.nxp-comments-readonly .kts-reply-editor,.nxp-comments-readonly .kts-reply-btn{display:none!important}.nxp-comments-readonly__note{display:flex;align-items:center;gap:8px;margin:0 0 18px;padding:12px 14px;border:1px dashed var(--cr-border,#e8e8e8);border-radius:10px;background:var(--cr-surface,#f5f5f5);color:var(--cr-meta,#6e6e6e);font:600 .84rem/1.4 var(--font-ui,sans-serif)}.nxp-comments-readonly__note i{color:#F59E0B}#nxp-reader,.nxp-nar-dock{--nar-tint:color-mix(in srgb, var(--cr-text) 6%, transparent);--nar-tint-strong:color-mix(in srgb, var(--cr-text) 12%, transparent);--nar-accent:var(--nxp-primary, #e11d48);--nar-radius:8px;--nar-z:55;--nar-stack-offset:84px;--nar-solo-offset:16px;--nar-ui:var(--font-ui, 'Plus Jakarta Sans', system-ui, sans-serif);--nar-mono:ui-monospace, 'Space Mono', SFMono-Regular, Menlo, monospace;--nar-surface:var(--cr-bg)}@supports not (color:color-mix(in srgb,red 50%,blue)){#nxp-reader,.nxp-nar-dock{--nar-tint:rgba(128, 128, 128, 0.10);--nar-tint-strong:rgba(128, 128, 128, 0.20)}}.nxp-nar-dock [hidden],.nxp-nar-settings [hidden],.nxp-nar-dock[hidden]{display:none!important}.nxp-nar-dock{position:fixed;left:12px;right:12px;bottom:var(--nar-solo-offset);z-index:var(--nar-z);max-width:560px;margin:0 auto;padding:12px;box-sizing:border-box;background:var(--nar-surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--cr-border);border-radius:var(--nar-radius);box-shadow:0 18px 44px -12px rgb(0 0 0 / .35);font-family:var(--nar-ui);color:var(--cr-text);user-select:none;transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .25s ease}@supports not (color:color-mix(in srgb,red 50%,blue)){.nxp-nar-dock{background:var(--cr-bg)}}.nxp-nar-dock.is-hidden{transform:translateY(140%);opacity:0;pointer-events:none}.nxp-nar-dock[data-nar-mode="stack"]{transform:translateY(calc(var(--nxp-chrome-scrub, 0) * (100% + var(--nar-stack-offset))))}:root.nxp-scrubbing .nxp-nar-dock[data-nar-mode="stack"]{transition:none}.nxp-nar-dock[data-nar-mode="stack"].is-hidden{transform:translateY(140%)}.nxp-nar-dock[data-nar-mode="stack"].is-pinned{transform:translateY(calc(var(--nxp-chrome-scrub, 0) * (var(--nar-stack-offset) - var(--nar-solo-offset))))}.nxp-nar-dock[data-nar-mode="stack"].is-pinned.is-hidden{transform:translateY(140%)}#nxp-reader.nxp-nar-swapped #nxpFooterBar,#nxp-reader.nxp-nar-swapped .nxp-cr-footer-bar{display:none!important}.nxp-nar-dock[data-nar-mode="stack"]{bottom:calc(var(--nar-stack-offset) + env(safe-area-inset-bottom, 0px))}.nxp-nar-top{margin-bottom:10px}.nxp-nar-snippet{margin:0 0 8px;padding:7px 10px;background:var(--nar-tint);border:1px solid var(--cr-border);border-radius:10px;font-family:var(--cr-font,Georgia,serif);font-size:.78rem;font-style:italic;line-height:1.45;text-align:center;color:var(--cr-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nxp-nar-badge-row{display:flex;justify-content:center}.nxp-nar-badge{max-width:100%;padding:4px 12px;background:var(--nar-tint);border:1px solid var(--cr-border);border-radius:999px;font-size:.68rem;font-weight:700;line-height:1.4;color:var(--cr-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nxp-nar-drawer{border-bottom:1px solid var(--cr-border);padding-bottom:12px;margin-bottom:12px}.nxp-nar-panel{animation:nxp-nar-drop .26s cubic-bezier(.16,1,.3,1) both}@keyframes nxp-nar-drop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.nxp-nar-panel{animation:none}.nxp-nar-dock{transition:none}}.nxp-nar-panel__head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:8px;margin-bottom:10px;border-bottom:1px solid var(--cr-border)}.nxp-nar-panel__title{display:flex;align-items:center;gap:8px;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--cr-text)}.nxp-nar-dot{width:7px;height:7px;border-radius:50%;background:var(--nar-accent);flex:0 0 auto}.nxp-nar-panel__tools{display:flex;align-items:center;gap:6px}.nxp-nar-panel__body{max-height:260px;overflow-y:auto;scrollbar-width:none}.nxp-nar-panel__body::-webkit-scrollbar{display:none}.nxp-nar-x{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:none;border:0;border-radius:6px;color:var(--cr-meta);cursor:pointer}.nxp-nar-x:hover{background:var(--nar-tint);color:var(--cr-text)}.nxp-nar-x svg{width:14px;height:14px}.nxp-nar-group+.nxp-nar-group{margin-top:14px;padding-top:12px;border-top:1px solid var(--cr-border)}.nxp-nar-group__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.nxp-nar-group__label{font-size:.68rem;font-weight:800;color:var(--cr-text)}.nxp-nar-group__count{font-family:var(--nar-mono);font-size:.62rem;color:var(--cr-meta)}.nxp-nar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.nxp-nar-list{display:flex;flex-direction:column;gap:6px}.nxp-nar-empty{margin:0;padding:8px 0;font-size:.7rem;color:var(--cr-meta)}.nxp-nar-card{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 6px;background:var(--cr-bg);border:1px solid var(--cr-border);border-radius:12px;color:var(--cr-text);cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.nxp-nar-card:hover{border-color:var(--cr-meta);background:var(--nar-tint)}.nxp-nar-card:active{transform:scale(.97)}.nxp-nar-card.is-active{border-color:var(--nar-accent);box-shadow:0 0 0 1px var(--nar-accent) inset}.nxp-nar-card__avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--nar-tint-strong);border:1px solid var(--cr-border);font-size:.68rem;font-weight:800;letter-spacing:.02em;overflow:hidden}.nxp-nar-face{width:100%;height:100%;object-fit:cover;display:block}.nxp-nar-silhouette,.nxp-nar-dock .nxp-nar-silhouette,.nxp-nar-settings .nxp-nar-silhouette{width:100%;height:100%;display:block;color:var(--cr-meta);opacity:1}.nxp-nar-card.is-locked .nxp-nar-card__avatar{opacity:.45}.nxp-nar-card.is-locked .nxp-nar-card__name{opacity:.7}.nxp-nar-card__lock{position:absolute;right:-3px;bottom:-3px;display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:50%;background:var(--cr-text);color:var(--cr-bg);opacity:1}.nxp-nar-card__lock svg{width:9px;height:9px}.nxp-nar-card__name{max-width:100%;font-size:.68rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nxp-nar-card__meta{font-family:var(--nar-mono);font-size:.56rem;color:var(--cr-meta)}.nxp-nar-row{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:7px 9px;background:var(--cr-bg);border:1px solid var(--cr-border);border-radius:11px;color:var(--cr-text);text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.nxp-nar-row:hover{border-color:var(--cr-meta);background:var(--nar-tint)}.nxp-nar-row.is-active{border-color:var(--nar-accent);box-shadow:0 0 0 1px var(--nar-accent) inset}.nxp-nar-row__left{display:flex;align-items:center;gap:9px;min-width:0}.nxp-nar-row__avatar{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:0 0 auto;border-radius:50%;background:var(--nar-tint-strong);border:1px solid var(--cr-border);font-size:.6rem;font-weight:800;overflow:hidden}.nxp-nar-row__text{min-width:0;display:flex;flex-direction:column;gap:1px}.nxp-nar-row__name{font-size:.73rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nxp-nar-row__raw{font-family:var(--nar-mono);font-size:.56rem;color:var(--cr-meta);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nxp-nar-row__state{flex:0 0 auto;font-family:var(--nar-mono);font-size:.6rem;color:var(--cr-meta)}.nxp-nar-row.is-active .nxp-nar-row__state{padding:2px 8px;border-radius:999px;background:var(--nar-accent);color:#fff;font-weight:700}.nxp-nar-upsell{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0 0;padding:9px 10px;background:var(--nar-tint);border:1px solid var(--cr-border);border-radius:11px;font-size:.68rem;line-height:1.45;color:var(--cr-meta)}.nxp-nar-speed{display:flex;align-items:stretch;gap:14px}.nxp-nar-speed__main{flex:1;display:flex;flex-direction:column;gap:10px;min-width:0}.nxp-nar-stepper{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:6px;background:var(--nar-tint);border:1px solid var(--cr-border);border-radius:12px}.nxp-nar-stepper button{width:34px;height:34px;background:var(--cr-bg);border:1px solid var(--cr-border);border-radius:9px;color:var(--cr-text);font-size:1.05rem;font-weight:700;line-height:1;cursor:pointer}.nxp-nar-stepper button:hover{border-color:var(--cr-meta)}.nxp-nar-stepper button:active{transform:scale(.95)}.nxp-nar-stepper span{font-family:var(--nar-mono);font-size:.88rem;font-weight:800}.nxp-nar-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.nxp-nar-chip{padding:6px 4px;background:var(--cr-bg);border:1px solid var(--cr-border);border-radius:9px;font-family:var(--nar-mono);font-size:.64rem;font-weight:600;color:var(--cr-text);cursor:pointer;transition:border-color .15s ease,background .15s ease}.nxp-nar-chip:hover{border-color:var(--cr-meta)}.nxp-nar-chip.is-on{background:var(--nar-accent);border-color:var(--nar-accent);color:#fff;font-weight:800}.nxp-nar-chip-live{padding:2px 8px;background:var(--nar-tint);border:1px solid var(--cr-border);border-radius:7px;font-family:var(--nar-mono);font-size:.66rem;font-weight:700;color:var(--cr-text)}.nxp-nar-speed__slider{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:6px;padding-left:14px;border-left:1px solid var(--cr-border)}.nxp-nar-speed__cap{font-family:var(--nar-mono);font-size:.55rem;font-weight:700;color:var(--cr-meta)}.nxp-nar-speed__slider input[type="range"]{writing-mode:vertical-lr;direction:rtl;width:16px;height:108px;accent-color:var(--nar-accent);cursor:pointer}@supports not (writing-mode:vertical-lr){.nxp-nar-speed__slider input[type="range"]{-webkit-appearance:slider-vertical;appearance:slider-vertical}}.nxp-nar-scrub{display:block;width:100%;height:6px;padding:0;margin:0 0 12px;background:var(--nar-tint-strong);border:0;border-radius:999px;overflow:hidden;cursor:pointer}.nxp-nar-scrub{position:relative}.nxp-nar-scrub::before{content:'';position:absolute;inset:-9px 0}.nxp-nar-scrub__fill{display:block;width:0;height:100%;background:var(--nar-accent);border-radius:999px;transition:width .25s ease}.nxp-nar-transport{display:flex;align-items:center;justify-content:space-between;gap:6px}.nxp-nar-transport__mid{display:flex;align-items:center;gap:5px}.nxp-nar-circle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:0 0 auto;background:var(--nar-tint);border:1px solid var(--cr-border);border-radius:50%;color:var(--cr-text);cursor:pointer;transition:background .15s ease,box-shadow .15s ease,transform .12s ease}.nxp-nar-circle:hover{background:var(--nar-tint-strong)}.nxp-nar-circle:active{transform:scale(.95)}.nxp-nar-circle.is-on{box-shadow:0 0 0 2px var(--nar-accent);background:var(--nar-tint-strong)}.nxp-nar-circle svg{width:17px;height:17px}.nxp-nar-circle--speed{font-family:var(--nar-mono);font-size:.62rem;font-weight:800}.nxp-nar-circle.has-face{overflow:hidden;padding:0}.nxp-nar-circle.has-face .nxp-nar-face{width:100%;height:100%}.nxp-nar-circle.has-face .nxp-nar-silhouette{color:var(--cr-meta)}.nxp-nar-step{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:var(--cr-bg);border:1px solid var(--cr-border);border-radius:9px;color:var(--cr-text);font-size:1rem;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .12s ease}.nxp-nar-step:hover:not(:disabled){background:var(--nar-tint);border-color:var(--cr-meta)}.nxp-nar-step:active:not(:disabled){transform:scale(.95)}.nxp-nar-step svg{width:14px;height:14px}.nxp-nar-step:disabled{opacity:.32;cursor:not-allowed}.nxp-nar-step--stop:hover:not(:disabled){color:#ef4444;border-color:#ef4444}.nxp-nar-play{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;flex:0 0 auto;background:var(--nar-accent);border:0;border-radius:13px;color:#fff;cursor:pointer;box-shadow:0 6px 18px -6px var(--nar-accent);transition:transform .12s ease,filter .15s ease}.nxp-nar-play:hover{filter:brightness(1.08)}.nxp-nar-play:active{transform:scale(.95)}.nxp-nar-play svg{width:19px;height:19px}.nxp-nar-quick{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid var(--cr-border)}.nxp-nar-quick__btn{min-width:84px;padding:7px 14px;background:var(--cr-bg);border:1px solid var(--cr-border);border-radius:999px;font-family:var(--nar-ui);font-size:.72rem;font-weight:700;letter-spacing:.01em;text-align:center;color:var(--cr-text);cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .12s ease}.nxp-nar-quick__btn:hover{background:var(--nar-tint);border-color:var(--cr-meta)}.nxp-nar-quick__btn:active{transform:scale(.96)}.nxp-nar-quick__btn--close{color:#ef4444;border-color:color-mix(in srgb,#ef4444 40%,var(--cr-border))}.nxp-nar-quick__btn--close:hover{background:color-mix(in srgb,#ef4444 12%,transparent);border-color:#ef4444;color:#ef4444}@supports not (color:color-mix(in srgb,red 50%,blue)){.nxp-nar-quick__btn--close{border-color:rgb(239 68 68 / .45)}.nxp-nar-quick__btn--close:hover{background:rgb(239 68 68 / .12)}}.nxp-nar-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 13px;background:var(--cr-bg);border:1px solid var(--cr-border);border-radius:10px;font-family:var(--nar-ui);font-size:.72rem;font-weight:700;color:var(--cr-text);cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .12s ease}.nxp-nar-btn:hover{border-color:var(--cr-meta);background:var(--nar-tint)}.nxp-nar-btn:active{transform:scale(.98)}.nxp-nar-btn svg{width:14px;height:14px}.nxp-nar-btn--sm{padding:5px 10px;font-size:.66rem}.nxp-nar-btn--wide{width:100%}.nxp-nar-btn--primary{background:var(--nar-accent);border-color:var(--nar-accent);color:#fff}.nxp-nar-btn--primary:hover{filter:brightness(1.08);background:var(--nar-accent)}.nxp-nar-settings{display:flex;flex-direction:column;gap:12px;font-family:var(--nar-ui);color:var(--cr-text)}.nxp-nar-mini{padding:11px;background:var(--nar-tint);border:1px solid var(--cr-border);border-radius:13px}.nxp-nar-mini__head{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:.66rem}.nxp-nar-mini__badge{padding:2px 8px;background:var(--cr-bg);border:1px solid var(--cr-border);border-radius:7px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nxp-nar-mini__face{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex:0 0 auto;overflow:hidden;border-radius:50%;background:var(--nar-tint-strong);border:1px solid var(--cr-border)}.nxp-nar-mini__face[hidden]{display:none}.nxp-nar-mini__voice{flex:1;min-width:0;color:var(--cr-meta);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nxp-nar-mini__state{flex:0 0 auto;font-size:.6rem;font-weight:700;color:var(--cr-meta)}.nxp-nar-mini__state.is-live{color:var(--nar-accent)}.nxp-nar-mini__transport{display:flex;align-items:center;justify-content:space-between;gap:6px}.nxp-nar-mini__mid{display:flex;align-items:center;gap:5px}.nxp-nar-mini__play{height:34px;padding:0 12px;border-radius:10px;font-size:.68rem}.nxp-nar-mini__play svg{width:12px;height:12px}.nxp-nar-field{display:flex;flex-direction:column;gap:9px;padding:12px;background:var(--nar-tint);border:1px solid var(--cr-border);border-radius:13px}.nxp-nar-field__head{display:flex;align-items:center;justify-content:space-between;font-size:.74rem}.nxp-nar-field__head strong{font-weight:800}.nxp-nar-field__row{display:flex;align-items:center;gap:10px}.nxp-nar-field__row input[type="range"]{flex:1;min-width:0;accent-color:var(--nar-accent);cursor:pointer}.nxp-nar-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;background:var(--nar-tint);border:1px solid var(--cr-border);border-radius:13px}.nxp-nar-toggle-row__text{display:flex;flex-direction:column;gap:2px;min-width:0}.nxp-nar-toggle-row__text strong{font-size:.74rem;font-weight:800}.nxp-nar-toggle-row__text em{font-size:.66rem;font-style:normal;color:var(--cr-meta)}.nxp-nar-switch{position:relative;flex:0 0 auto;display:inline-block}.nxp-nar-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.nxp-nar-switch__track{display:block;width:40px;height:22px;background:var(--nar-tint-strong);border:1px solid var(--cr-border);border-radius:999px;transition:background .18s ease;pointer-events:none}.nxp-nar-switch__track::after{content:'';display:block;width:16px;height:16px;margin:2px;background:var(--cr-bg);border-radius:50%;box-shadow:0 1px 3px rgb(0 0 0 / .3);transition:transform .18s ease}.nxp-nar-switch input:checked+.nxp-nar-switch__track{background:var(--nar-accent);border-color:var(--nar-accent)}.nxp-nar-switch input:checked+.nxp-nar-switch__track::after{transform:translateX(18px)}.nxp-nar-switch input:focus-visible+.nxp-nar-switch__track{outline:2px solid var(--nar-accent);outline-offset:2px}.nxp-nar-sent{border-radius:3px;transition:background-color .15s ease,color .15s ease}#nxp-reader .nxp-nar-para-on{background:var(--nar-tint);border-radius:8px}#nxp-reader .nxp-nar-sent-on{background:var(--nar-tint-strong)}#nxp-reader.nxp-nar-active .nxp-cr-content p,#nxp-reader.nxp-nar-active #nxpReaderText p{cursor:pointer}#nxp-reader.nxp-nar-active .nxp-cr-content p:hover:not(.nxp-nar-para-on){background:var(--nar-tint);border-radius:8px}@media (max-width:420px){.nxp-nar-dock{left:8px;right:8px;bottom:10px;padding:10px}.nxp-nar-play{width:42px;height:42px}.nxp-nar-step{width:31px;height:31px}.nxp-nar-circle{width:35px;height:35px}.nxp-nar-grid{grid-template-columns:repeat(3,1fr);gap:6px}.nxp-nar-quick{gap:8px}.nxp-nar-quick__btn{min-width:68px;padding:6px 10px;font-size:.66rem}.nxp-nar-speed{flex-direction:column;gap:12px}.nxp-nar-speed__slider{flex-direction:row;width:100%;padding-left:0;padding-top:10px;border-left:0;border-top:1px solid var(--cr-border)}.nxp-nar-speed__slider input[type="range"]{writing-mode:horizontal-tb;direction:ltr;width:100%;height:16px}.nxp-nar-speed__slider{flex-direction:row-reverse}}@media (min-width:640px){.nxp-nar-dock{padding:14px}.nxp-nar-play{width:48px;height:48px}.nxp-nar-step{width:36px;height:36px}.nxp-nar-circle{width:40px;height:40px}}:root{--nxp-primary:#ed2553;--nxp-primary-dark:#c71a42;--nxp-glow:rgba(237, 37, 83, 0.15);--shadow-glow:0 0 30px rgba(237, 37, 83, 0.2)}html[data-theme="light"]{--nxp-glow:rgba(237, 37, 83, 0.10)}html[data-theme="sepia"]{--nxp-glow:rgba(237, 37, 83, 0.15)}html[data-theme="soft"]{--nxp-glow:rgba(237, 37, 83, 0.15)}#nxp-reader.cml-reader{--cr-bg:#F3F4F6;--cr-surface:#FFFFFF;--cr-text:#1F2937;--cr-border:#E5E7EB;--cml-card:#FFFFFF;--cml-card-hover:#CBD5E1;--cml-muted:#6B7280;--cml-ui:rgba(255, 255, 255, 0.96);--cml-accent:var(--nxp-primary, #007bff);--cml-tint:rgba(0, 0, 0, 0.04);--cml-tint-strong:rgba(0, 0, 0, 0.08);--cml-pgap:1.25rem;--cml-radius:10px;--cml-radius-sm:6px;--cml-shadow:0 1px 2px rgba(0, 0, 0, 0.04);--cml-shadow-lg:0 12px 32px -8px rgba(0, 0, 0, 0.22);--cml-z-docker:45;--cml-z-backdrop:1090;--cml-z-overlay:1100;--cml-z-progress:1001;background:var(--cr-bg);padding-bottom:0}#nxp-reader.cml-reader[data-theme="dark"]{--cr-bg:#0F172A;--cr-surface:#1E293B;--cr-text:#F1F5F9;--cr-border:#334155;--cml-card:#1E293B;--cml-card-hover:#475569;--cml-muted:#94A3B8;--cml-ui:rgba(30, 41, 59, 0.96);--cml-tint:rgba(255, 255, 255, 0.05);--cml-tint-strong:rgba(255, 255, 255, 0.12);--cml-shadow-lg:0 12px 32px -8px rgba(0, 0, 0, 0.6)}#nxp-reader.cml-reader[data-theme="sepia"]{--cr-bg:#EFE6D2;--cr-surface:#F8F1E1;--cr-text:#433320;--cr-border:#DECFAF;--cml-card:#F8F1E1;--cml-card-hover:#CBB993;--cml-muted:#826E56;--cml-ui:rgba(248, 241, 225, 0.96);--cml-tint:rgba(67, 51, 32, 0.05);--cml-tint-strong:rgba(67, 51, 32, 0.11)}#nxp-reader.cml-reader[data-theme="soft"]{--cr-bg:#E8F5E9;--cr-surface:#DCF0DE;--cr-text:#2E4D32;--cr-border:#C8E6C9;--cml-card:#F4FBF4;--cml-card-hover:#A5D6A7;--cml-muted:#5F8464;--cml-ui:rgba(244, 251, 244, 0.96);--cml-tint:rgba(46, 77, 50, 0.05);--cml-tint-strong:rgba(46, 77, 50, 0.11)}#nxp-reader.cml-reader[data-contrast="soft"]{--cr-text:#6B7280}#nxp-reader.cml-reader[data-theme="dark"][data-contrast="soft"]{--cr-text:#94A3B8}#nxp-reader.cml-reader[data-contrast="high"]{--cr-text:#000000}#nxp-reader.cml-reader[data-theme="dark"][data-contrast="high"]{--cr-text:#FFFFFF}.cml-main{width:100%;max-width:780px;margin:0 auto;padding:12px 12px 128px;padding-bottom:calc(128px + env(safe-area-inset-bottom, 0px));display:flex;flex-direction:column;gap:12px}#nxpChapterRegion{display:flex;flex-direction:column;gap:12px}.nxp-chapter{display:flex;flex-direction:column;gap:12px}.cml-card{background:var(--cml-card);border:1px solid var(--cr-border);border-radius:var(--cml-radius);box-shadow:var(--cml-shadow);transition:border-color .15s ease,background-color .2s ease}.cml-progress{position:fixed;inset:0 0 auto 0;height:3px;background:var(--cml-tint);z-index:var(--cml-z-progress);pointer-events:none}.cml-progress__bar{height:100%;width:0;background:var(--cml-accent);transition:width .15s ease}.cml-btn,.cml-dock-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--cml-card);border:1px solid var(--cr-border);border-radius:var(--cml-radius-sm);color:var(--cr-text);font:600 .78rem/1 var(--font-ui);padding:8px 12px;cursor:pointer;user-select:none;white-space:nowrap;text-decoration:none;transition:background-color .15s ease,border-color .15s ease,transform .12s ease,color .15s ease}.cml-btn:hover,.cml-dock-btn:hover{border-color:var(--cml-card-hover);background:var(--cml-tint)}.cml-btn:active:not(.is-disabled),.cml-dock-btn:active:not(.is-disabled){transform:scale(.97)}.cml-btn.is-primary,.cml-dock-btn.is-primary{background:linear-gradient(135deg,var(--nxp-primary),var(--nxp-primary-dark));border-color:var(--nxp-primary);color:#fff}.cml-btn.is-primary:hover,.cml-dock-btn.is-primary:hover{background:linear-gradient(135deg,var(--nxp-primary),var(--nxp-primary-dark));filter:brightness(1.08)}.cml-btn.is-disabled,.cml-dock-btn.is-disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.cml-icon-btn{width:34px;height:34px;padding:0}.cml-wide{width:100%;padding:11px 14px}.cml-hero{display:flex;align-items:flex-start;gap:10px;padding:10px}.cml-hero__cover{flex:0 0 auto;width:40px;height:57px;border-radius:5px;overflow:hidden;border:1px solid var(--cr-border);background:var(--cml-tint);display:grid;place-items:center;min-width:40px}.cml-hero__cover img{width:100%;height:100%;object-fit:cover;display:block}.cml-hero__cover-fallback{font:800 1.1rem/1 var(--font-ui);color:var(--cml-muted)}.cml-hero__meta{min-width:0;flex:1}.cml-hero__title{margin:0;font:700 1rem/1.35 var(--font-ui);letter-spacing:-.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cml-hero__title a{color:var(--cr-text);text-decoration:none}.cml-hero__title a:hover{color:var(--cml-accent)}.cml-hero__author{margin:2px 0 0;font-size:.74rem;line-height:1.3;color:var(--cml-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cml-hero__author-label{opacity:.8}.cml-hero__author a{color:var(--cr-text);font-weight:600;text-decoration:none}.cml-hero__author a:hover{color:var(--cml-accent)}.cml-hero__stats{margin-top:7px}.cml-hero__edit{flex:0 0 auto;width:30px;height:30px}@media (min-width:640px){.cml-hero{gap:14px;padding:14px;align-items:center}.cml-hero__cover{width:56px;height:79px;min-width:56px;border-radius:6px}.cml-hero__cover-fallback{font-size:1.5rem}.cml-hero__title{font-size:1.25rem}.cml-hero__author{font-size:.8rem}.cml-hero__stats{margin-top:9px}.cml-hero__edit{width:34px;height:34px}}.cml-actions{display:flex;align-items:stretch;gap:8px;padding:8px}.cml-actions__mid{display:flex;align-items:stretch;gap:6px;flex:1;justify-content:space-between;min-width:0}.cml-actions__group{display:flex;align-items:stretch;gap:6px;min-width:0}.cml-actions>*,.cml-actions__group>*{height:36px;padding-top:0;padding-bottom:0}.cml-actions__tool{min-width:0;max-width:120px}.cml-actions__nav{flex:0 0 auto}.cml-actions .cml-icon-btn{width:36px;flex:0 0 auto}.cml-progress-readout{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:200px;padding:0 12px;background:var(--cml-card);border:1px solid var(--cr-border);border-radius:var(--cml-radius-sm);color:var(--cml-muted);font:600 .78rem/1 var(--font-ui);white-space:nowrap}.cml-progress-readout__icon{width:13px;height:13px;flex:0 0 auto;fill:currentColor}.cml-progress-readout span{overflow:hidden;text-overflow:ellipsis}.cml-chapter-card{padding:16px}.cml-chapter-head{padding-bottom:14px;margin-bottom:20px;border-bottom:1px solid var(--cr-border)}#nxp-reader.cml-reader .cml-chapter-title{margin:0;font:700 1.25rem/1.375 var(--font-ui);letter-spacing:-.025em;color:var(--cr-text)}.cml-metrics{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px;font:400 .75rem/1rem var(--font-ui);color:var(--cml-muted)}.cml-metric{display:inline-flex;align-items:center;gap:6px;color:inherit;line-height:1rem}.cml-metric>svg{width:14px;height:14px;flex:0 0 14px;color:var(--cml-muted);transition:color .15s ease}.cml-metric strong{color:var(--cr-text);font-weight:600}.cml-metric-btn{background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;-webkit-appearance:none;appearance:none}#nxp-reader.cml-reader .cml-metric-btn.nxp-cr-fav-btn,#nxp-reader.cml-reader .cml-metric-btn.nxp-cr-fav-btn.active{color:var(--cml-muted);background:none;border:0}#nxp-reader.cml-reader .cml-metric-btn.nxp-cr-fav-btn.active strong,#nxp-reader.cml-reader .cml-metric-btn.nxp-cr-fav-btn strong{color:var(--cr-text)}#nxp-reader.cml-reader .cml-metric-btn.nxp-cr-fav-btn.active>svg{color:#EF4444;fill:#EF4444}.cml-metric-btn:hover>svg{color:#EF4444}#nxp-reader.cml-reader #nxpReaderText,#nxp-reader.cml-reader .nxp-cr-content{font-family:var(--cr-font);font-size:var(--cr-fz);line-height:var(--cr-lh);color:var(--cr-text);text-align:var(--cml-align,left)}#nxp-reader.cml-reader #nxpReaderText p,#nxp-reader.cml-reader .nxp-cr-content p{margin:0 0 var(--cml-pgap);overflow-wrap:break-word;hyphens:manual;padding:4px 6px;margin-left:-6px;margin-right:-6px;border-radius:var(--cml-radius-sm);transition:background-color .2s ease,border-color .2s ease}.cml-manga img{width:100%;display:block}.cml-chapter-foot{margin-top:24px;padding-top:16px;border-top:1px solid var(--cr-border);display:flex;align-items:center;justify-content:space-between;gap:12px}.cml-chapter-end{display:inline-flex;align-items:center;gap:8px;font-size:.76rem;color:var(--cml-muted)}.cml-dot{width:7px;height:7px;border-radius:50%;background:var(--cml-muted)}.cml-chapter-actions{display:flex;align-items:stretch;gap:8px}.cml-chapter-actions>*{height:34px}.cml-fav-pill{padding:0 10px;gap:6px}.cml-fav-pill .cml-count-fav{font:700 11px/1 var(--font-mono)}#nxp-reader.cml-reader .nxp-cr-fav-btn.active{color:#EF4444;border-color:rgb(239 68 68 / .4);background:rgb(239 68 68 / .09)}#nxp-reader.cml-reader .nxp-cr-bookmark-btn.active{color:var(--cml-accent);border-color:var(--cml-accent);background:var(--cml-tint)}#nxp-reader.cml-reader .nxp-locked-region{--cr-bg:var(--cml-card);background:var(--cml-card);border:1px solid var(--cr-border);border-radius:var(--cml-radius);box-shadow:var(--cml-shadow);padding:16px}#nxp-reader.cml-reader .nxp-locked-region .nxp-cr-chapter-heading{margin:0;font:700 1.25rem/1.375 var(--font-ui);letter-spacing:-.025em;color:var(--cr-text)}#nxp-reader.cml-reader .nxp-locked-region .cml-metrics{padding-bottom:14px;margin-bottom:20px;border-bottom:1px solid var(--cr-border)}#nxp-reader.cml-reader .nxp-locked-region .nxp-cr-content{margin-bottom:0}#nxp-reader.cml-reader[data-cml-locked="1"] .cml-docker{display:none}#nxp-reader.cml-reader .nxp-locked-region .nxp-redesign-lockbox{position:sticky;bottom:calc(12px + env(safe-area-inset-bottom, 0px));z-index:2;margin-bottom:0}#nxp-reader.cml-reader .nxp-locked-region[data-cml-nostick] .nxp-redesign-lockbox{position:relative;bottom:auto}#nxp-reader.cml-reader #nxpChapterRegion,#nxp-reader.cml-reader .nxp-chapter,#nxp-reader.cml-reader .cml-main{overflow:visible}.cml-comments-card{padding:0;overflow:hidden}.cml-comments-toggle{display:block;width:100%;padding:14px 18px;background:none;border:0;cursor:pointer;color:inherit;text-align:left;transition:background-color .15s ease}.cml-comments-toggle:hover{background:var(--cml-tint)}.cml-comments-toggle .kts-header{margin-bottom:0;padding-bottom:0}.cml-comments-toggle .kts-count{color:var(--cr-text)}.cml-comments-toggle__chevron{color:var(--cml-muted);font-size:.82rem;transition:transform .2s ease}.cml-comments-toggle[aria-expanded="true"] .cml-comments-toggle__chevron{transform:rotate(90deg)}.cml-comments-body{padding:0 18px 18px}.cml-comments-body .kts-count{display:none}.cml-comments-body .kts-header{justify-content:flex-end}.cml-comments-body[hidden]{display:none}#nxp-reader.cml-reader[data-mode="paged"] .cml-comments-toggle{cursor:default;pointer-events:none}#nxp-reader.cml-reader[data-mode="paged"] .cml-comments-toggle:hover{background:none}#nxp-reader.cml-reader[data-mode="paged"] .cml-comments-toggle__chevron{display:none}#nxp-reader.cml-reader[data-mode="paged"] .cml-comments-toggle .kts-header{margin-bottom:0;padding-bottom:4px}#nxp-reader.cml-reader[data-mode="paged"] .cml-comments-slot[data-loaded="1"] .cml-comments-toggle{display:none}#nxp-reader.cml-reader[data-mode="paged"] .cml-comments-slot[data-loaded="1"] .cml-comments-body{padding-top:16px}#nxp-reader.cml-reader[data-mode="paged"] .cml-comments-slot[data-loaded="1"] .cml-comments-body .kts-count{display:block}#nxp-reader.cml-reader[data-mode="paged"] .cml-comments-slot[data-loaded="1"] .cml-comments-body .kts-header{justify-content:space-between}.cml-comments-loading{text-align:center;padding:26px 0;color:var(--cml-muted);font-size:.85rem}.cml-botnav{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px}.cml-botnav__btn{flex:0 0 auto;padding:8px 12px}.cml-botnav__index{flex:0 0 auto;padding:8px 12px}.cml-botnav__short{display:none}#nxp-reader.cml-reader[data-mode="infinite"] .cml-botnav{display:none}@media (max-width:560px){.cml-botnav__long{display:none}.cml-botnav__short{display:inline}.cml-botnav{justify-content:space-between}}.cml-endcard{padding:26px 20px;text-align:center}.cml-endcard h3{margin:0 0 6px;font-size:1rem;font-weight:800;color:var(--cr-text)}.cml-endcard p{margin:0 0 14px;font-size:.82rem;color:var(--cml-muted)}#nxp-reader.cml-reader .cml-docker{position:fixed;left:0;right:0;bottom:0;z-index:var(--cml-z-docker);padding:0 12px calc(12px + env(safe-area-inset-bottom, 0px));pointer-events:none;background:none;border:0;box-shadow:none;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .2s ease}.cml-docker__inner{display:flex;align-items:center;gap:6px;max-width:560px;margin:0 auto;pointer-events:auto;background:var(--cml-ui);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--cr-border);border-radius:8px;box-shadow:var(--cml-shadow-lg);padding:7px 9px}.cml-docker__group{display:flex;align-items:center;gap:5px;min-width:0}.cml-docker__group--flow{margin-left:auto}.cml-dock-btn{height:36px;padding:0 11px}.cml-dock-btn--sq{width:36px;padding:0}.cml-backdrop{position:fixed;inset:0;background:#fff0;z-index:var(--cml-z-backdrop);opacity:0;pointer-events:none;transition:opacity .25s ease}.cml-backdrop.active{opacity:1;pointer-events:auto}#nxp-reader.cml-reader #nxpIndexBackdrop{background:rgb(0 0 0 / .5)}#nxp-reader.cml-reader #nxpSettingsPanel{position:fixed;left:0;right:0;bottom:0;top:auto;max-width:560px;margin:0 auto;z-index:var(--cml-z-overlay);display:flex;flex-direction:column;max-height:68vh;background:var(--cml-card);border:1px solid var(--cr-border);border-bottom:0;border-radius:14px 14px 0 0;box-shadow:var(--cml-shadow-lg);padding:12px 16px calc(10px + env(safe-area-inset-bottom, 0px));transform:translateY(105%);opacity:0;pointer-events:none;visibility:visible;transition:transform .28s cubic-bezier(.16,1,.3,1),opacity .2s ease}#nxp-reader.cml-reader #nxpSettingsPanel.active{transform:translateY(0);opacity:1;pointer-events:auto}.cml-sheet__close{position:absolute;top:-26px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:none;border:0;border-radius:0;box-shadow:none;color:var(--cr-text);opacity:.8;cursor:pointer;transition:opacity .15s ease,transform .12s ease}#nxp-reader.cml-reader.nxp-nar-active .cml-sheet__close{display:none}.cml-sheet__close:hover{opacity:1;background:none}.cml-sheet__close:active{transform:translateX(-50%) scale(.9)}.cml-sheet__close svg{width:22px;height:22px;fill:none;stroke:currentColor;filter:drop-shadow(0 1px 3px var(--cr-bg)) drop-shadow(0 0 6px var(--cr-bg))}.cml-sheet__head{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;margin-bottom:8px;border-bottom:1px solid var(--cr-border)}.cml-sheet__head h3{margin:0;font:800 .72rem/1 var(--font-ui);text-transform:uppercase;letter-spacing:.08em;color:var(--cr-text)}.cml-sheet__body{flex:1;overflow-y:auto;padding:4px 0;scrollbar-width:none}.cml-sheet__body::-webkit-scrollbar{display:none}.cml-panel{display:none;flex-direction:column;gap:12px}.cml-panel.is-active{display:flex}.cml-label{display:block;font:700 .62rem/1 var(--font-ui);text-transform:uppercase;letter-spacing:.07em;color:var(--cml-muted);margin-bottom:-4px}.cml-row,.cml-block{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 2px;border:0;border-radius:0;background:none}.cml-block{flex-direction:column;align-items:stretch;gap:8px}.cml-row__text strong{display:block;font-size:.82rem;font-weight:600;color:var(--cr-text)}.cml-row__text span{display:block;font-size:.68rem;color:var(--cml-muted);margin-top:2px}.cml-row--spend .cml-row__text strong{color:#F59E0B}.cml-row--spend{padding:12px 14px;margin:6px 0;border:1px solid rgb(245 158 11 / .30);border-radius:var(--cml-radius-sm);background:rgb(245 158 11 / .07)}.cml-row--compact{padding:0 0}.cml-row--compact .cml-row__text strong{font-size:.8rem}.cml-font-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.cml-font-opt{padding:6px 4px;text-align:center;font-size:.80rem;border:1px solid var(--cr-border);border-radius:var(--cml-radius-sm);background:var(--cml-tint);color:var(--cr-text);cursor:pointer;transition:border-color .15s ease,background-color .15s ease}#nxp-reader.cml-reader .cml-font-opt.active{border-color:var(--cml-accent);background:var(--cml-tint-strong);font-weight:700;box-shadow:inset 0 0 0 1px var(--cml-accent)}.cml-stepper{display:inline-flex;align-items:center;border:1px solid var(--cr-border);border-radius:var(--cml-radius-sm);background:var(--cml-tint);overflow:hidden;flex:0 0 auto}.cml-stepper button{width:32px;height:30px;display:grid;place-items:center;background:none;border:0;cursor:pointer;color:var(--cr-text);font-weight:700;font-size:.9rem;transition:background-color .15s ease}.cml-stepper button:hover{background:var(--cml-tint-strong)}.cml-stepper>span{min-width:62px;text-align:center;font:700 .82rem/1 var(--font-ui);color:var(--cml-accent);padding:0 4px}.cml-segment{display:flex;gap:4px;padding:3px;border:1px solid var(--cr-border);border-radius:var(--cml-radius-sm);background:var(--cml-tint)}.cml-segment button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 6px;border:0;border-radius:4px;background:none;cursor:pointer;font:600 .74rem/1 var(--font-ui);color:var(--cml-muted);transition:background-color .15s ease,color .15s ease}#nxp-reader.cml-reader .cml-segment button.is-active,#nxp-reader.cml-reader .cml-contrast .cr-contrast-pill.active{background:var(--cml-card);color:var(--cr-text);box-shadow:var(--cml-shadow)}.cml-tile-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.cml-tile{display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:8px 7px;border:1px solid var(--cr-border);border-radius:var(--cml-radius-sm);background:var(--cml-tint);cursor:pointer;transition:border-color .15s ease,background-color .15s ease;font:inherit;text-align:center;-webkit-appearance:none;appearance:none}.cml-tile:hover{border-color:var(--cml-card-hover)}#nxp-reader.cml-reader .cml-tile.cr-theme-circle{aspect-ratio:auto;border-radius:var(--cml-radius-sm);border-width:1px;border-style:solid;border-color:var(--cr-border)}#nxp-reader.cml-reader .cml-tile.cr-theme-circle::before{content:none}#nxp-reader.cml-reader .cml-tile.cr-theme-circle.active::after{top:4px;right:4px;width:14px;height:14px;border-color:var(--cml-card)}.cml-tile__swatch{display:grid;place-items:center;height:34px;border:1px solid;border-radius:4px;font:700 .68rem/1 var(--font-ui)}.cml-tile__name{font:600 .62rem/1 var(--font-ui);color:var(--cr-text)}#nxp-reader.cml-reader .cml-tile.active{border-color:var(--cml-accent);background:var(--cml-tint-strong);box-shadow:inset 0 0 0 1px var(--cml-accent)}.cml-select{width:100%;padding:9px 10px;border:1px solid var(--cr-border);border-radius:var(--cml-radius-sm);background:var(--cml-card);color:var(--cr-text);font-size:.78rem}.cml-select:focus{outline:none;border-color:var(--cml-accent)}.cml-note{padding:11px 12px;border:1px solid var(--cml-accent);border-radius:8px;background:var(--cml-tint);font-size:.74rem;line-height:1.55;color:var(--cr-text)}.cml-note strong{color:var(--cml-accent)}.cml-toggle{position:relative;display:inline-block;flex:0 0 auto;cursor:pointer}.cml-toggle input{position:absolute;opacity:0;width:0;height:0}.cml-toggle__track{display:block;width:40px;height:23px;border-radius:999px;background:var(--cml-tint-strong);transition:background-color .18s ease}.cml-toggle__track::after{content:'';position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgb(0 0 0 / .3);transition:transform .18s ease}.cml-toggle input:checked+.cml-toggle__track{background:var(--cml-accent)}.cml-toggle input:checked+.cml-toggle__track::after{transform:translateX(17px)}.cml-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding-top:8px;margin-top:8px;border-top:1px solid var(--cr-border)}.cml-tabs button{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 4px;border:1px solid #fff0;border-radius:6px;background:none;cursor:pointer;font:500 11px/1.35 var(--font-ui);color:var(--cml-muted);transition:background-color .15s ease,color .15s ease,border-color .15s ease}.cml-tabs button svg{width:16px;height:16px;margin-bottom:2px;flex:0 0 16px}.cml-tabs button:hover{color:var(--cr-text)}.cml-tabs button.is-active{border-color:var(--cml-accent);background:var(--cml-tint);color:var(--cml-accent);font-weight:600}#nxp-reader.cml-reader #nxpIndexDrawer{position:fixed;top:0;left:0;bottom:0;width:86%;max-width:380px;z-index:var(--cml-z-overlay);display:flex;flex-direction:column;background:var(--cml-card);border-right:1px solid var(--cr-border);box-shadow:var(--cml-shadow-lg);padding:14px;transform:translateX(-105%);opacity:0;pointer-events:none;transition:transform .28s cubic-bezier(.16,1,.3,1),opacity .2s ease}#nxp-reader.cml-reader #nxpIndexDrawer.active{transform:translateX(0);opacity:1;pointer-events:auto}.cml-drawer__head{display:flex;align-items:center;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--cr-border)}.cml-drawer__thumb{width:38px;height:52px;border-radius:5px;object-fit:cover;flex:0 0 auto}.cml-drawer__info{min-width:0;flex:1}.cml-drawer__title{font:700 .88rem/1.3 var(--font-ui);color:var(--cr-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cml-drawer__count{font-size:.66rem;color:var(--cml-muted);margin-top:2px}.cml-drawer__search{position:relative;margin:10px 0}.cml-drawer__search i{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:.74rem;color:var(--cml-muted);pointer-events:none}.cml-drawer__search input{width:100%;padding:8px 10px 8px 30px;border:1px solid var(--cr-border);border-radius:var(--cml-radius-sm);background:var(--cml-tint);color:var(--cr-text);font-size:.78rem}.cml-drawer__search input:focus{outline:none;border-color:var(--cml-accent)}.cml-drawer__list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding:2px 0;scrollbar-width:none}.cml-drawer__list::-webkit-scrollbar{display:none}#nxp-reader.cml-reader .nxp-cr-index-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px;border:1px solid var(--cr-border);border-radius:var(--cml-radius-sm);background:var(--cml-card);text-decoration:none;color:var(--cr-text);font-size:.76rem;transition:background-color .15s ease,border-color .15s ease}#nxp-reader.cml-reader .nxp-cr-index-item:hover{background:var(--cml-tint);border-color:var(--cml-card-hover)}#nxp-reader.cml-reader .nxp-cr-index-item.current{border-color:var(--cml-accent);background:var(--cml-tint);font-weight:700}#nxp-reader.cml-reader .nxp-cr-index-item.current .nxp-cr-index-item__title{color:var(--cml-accent)}#nxp-reader.cml-reader .nxp-cr-index-item[hidden]{display:none}.cml-feed-status{display:flex;align-items:center;justify-content:center;gap:9px;padding:18px;font-size:.78rem;color:var(--cml-muted)}.cml-feed-status[hidden]{display:none}@media (min-width:640px){.cml-main{padding-left:16px;padding-right:16px}.cml-hero__cover{width:58px;height:82px}.cml-hero__title{font-size:1rem}.cml-chapter-card{padding:24px}#nxp-reader.cml-reader .cml-chapter-title{font-size:1.5rem}.cml-metrics{gap:16px}.cml-font-grid{grid-template-columns:repeat(6,1fr)}}@media (max-width:560px){.cml-dock-btn:not(.cml-dock-btn--keep-label) .cml-dock-label{display:none}.cml-dock-btn--icon:not(.cml-dock-btn--keep-label){width:36px;padding:0}.cml-actions__tool span{display:none}.cml-actions__nav span{display:none}.cml-actions__nav{width:36px;height:34px;padding:0}}@media (max-width:359px){.cml-docker__inner{gap:4px;padding:6px 7px}.cml-docker__group{gap:4px}.cml-dock-btn{height:34px;padding:0 8px;gap:5px}.cml-dock-btn--sq,.cml-dock-btn--icon:not(.cml-dock-btn--keep-label){width:32px;padding:0}}@media (prefers-reduced-motion:reduce){.cml-docker,#nxp-reader.cml-reader #nxpSettingsPanel,#nxp-reader.cml-reader #nxpIndexDrawer{transition-duration:.01ms}}body.cml-infinite .nxp-footer{display:none}@media (max-width:640px){#nxp-reader.cml-reader[data-fullwidth="1"] .cml-main{padding-left:0;padding-right:0}#nxp-reader.cml-reader[data-fullwidth="1"] .cml-card,#nxp-reader.cml-reader[data-fullwidth="1"] .nxp-locked-region{border-left:0;border-right:0;border-radius:0;box-shadow:none}#nxp-reader.cml-reader[data-fullwidth="1"] .cml-hero,#nxp-reader.cml-reader[data-fullwidth="1"] .cml-actions,#nxp-reader.cml-reader[data-fullwidth="1"] .cml-botnav{padding-left:12px;padding-right:12px}#nxp-reader.cml-reader[data-fullwidth="1"] .cml-chapter-card,#nxp-reader.cml-reader[data-fullwidth="1"] .nxp-locked-region{padding-left:16px;padding-right:16px}#nxp-reader.cml-reader[data-fullwidth="1"] .cml-comments-toggle{padding-left:16px;padding-right:16px}#nxp-reader.cml-reader[data-fullwidth="1"] .cml-comments-body{padding-left:16px;padding-right:16px}#nxp-reader.cml-reader[data-fullwidth="1"] .cml-endcard{padding-left:16px;padding-right:16px}}#nxp-reader.cml-reader .nxp-cr-skel__card{background:var(--cml-card);border:1px solid var(--cr-border);border-radius:var(--cml-radius);box-shadow:var(--cml-shadow);padding:22px 20px 30px}#nxp-reader.cml-reader .nxp-cr-skel__nav{background:var(--cml-card);border:1px solid var(--cr-border);border-radius:var(--cml-radius);box-shadow:var(--cml-shadow);background-image:none;animation:none;height:56px}#nxp-reader.cml-reader[data-fullwidth="1"] .nxp-cr-skel__card,#nxp-reader.cml-reader[data-fullwidth="1"] .nxp-cr-skel__nav{border-left:0;border-right:0;border-radius:0}@media (max-width:640px){#nxp-reader.cml-reader .nxp-cr-skel__card{padding:18px 16px 24px}}body.nxp-swapping #cmlProgressBar{width:100%!important;transform-origin:0 50%;animation:cml-progress-indeterminate 1.1s ease-in-out infinite}@keyframes cml-progress-indeterminate{0%{transform:scaleX(0);opacity:1}60%{transform:scaleX(.85);opacity:1}100%{transform:scaleX(1);opacity:.25}}@media (prefers-reduced-motion:reduce){body.nxp-swapping #cmlProgressBar{animation:none;transform:scaleX(.4)}}#nxp-reader,.nxp-nar-dock{--nar-accent:var(--cml-accent, var(--nxp-primary, #007bff));--nar-radius:8px;--nar-mono:var(--font-ui);--nar-stack-offset:70px;--nar-surface:var(--cml-card)}.nxp-nar-dock{border-color:var(--cr-border);box-shadow:var(--cml-shadow-lg),0 0 0 1px rgb(255 255 255 / .02) inset}@media (max-width:420px){#nxp-reader.cml-reader .cml-docker{padding-left:8px;padding-right:8px}}#nxp-reader[data-fullwidth="1"] .nxp-nar-dock{left:8px;right:8px}#nxp-reader.cml-reader[data-fullwidth="1"] .cml-docker{padding-left:8px;padding-right:8px}.nxp-nar-dock{transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .25s ease,bottom .3s cubic-bezier(.16,1,.3,1)}#nxp-reader.cml-reader.nxp-nar-active.is-sheet-open .nxp-nar-dock{bottom:calc(var(--cml-sheet-h, 68vh) + 10px);z-index:calc(var(--cml-z-overlay) + 1);transform:none;opacity:1;pointer-events:auto;box-shadow:0 0 0 1px rgb(255 255 255 / .02) inset}.nxp-nar-dock[data-nar-mode="stack"]{box-shadow:0 0 0 1px rgb(255 255 255 / .02) inset}.cml-panel[data-panel="tts"] .nxp-nar-settings{gap:10px}.cml-panel[data-panel="tts"] .nxp-nar-field{border-radius:14px}.cml-panel[data-panel="tts"] .nxp-nar-toggle-row{padding:4px 2px;background:none;border:0;border-radius:0}.cml-panel[data-panel="tts"] .nxp-nar-toggle-row__text em{display:none}.cml-panel[data-panel="tts"] .nxp-nar-toggle-row__text strong{font-size:.82rem;font-weight:600}.cml-panel[data-panel="tts"] .cml-reset{margin-top:4px}#nxp-reader.cml-reader .nxp-nar-card__meta,#nxp-reader.cml-reader .nxp-nar-row__raw{font-size:.64rem;font-weight:600}#nxp-reader.cml-reader .nxp-nar-row__state,#nxp-reader.cml-reader .nxp-nar-group__count{font-size:.68rem;font-weight:700}#nxp-reader.cml-reader .nxp-nar-chip{font-weight:700}#nxp-reader.cml-reader .nxp-nar-circle--speed{font-size:.72rem;font-weight:700}.cml-panel[data-panel="tts"][data-mini="0"] .nxp-nar-mini{display:none!important}.cml-panel[data-panel="tts"] .nxp-nar-mini{padding:12px;background:none;border:1px solid var(--cr-border);border-radius:var(--nar-radius);box-shadow:none}.cml-panel[data-panel="tts"] .nxp-nar-mini .nxp-nar-badge-row{margin-bottom:10px}.cml-panel[data-panel="tts"] #nxpNarRestart,.cml-panel[data-panel="tts"] #nxpNarStop{display:none}.cml-panel[data-panel="tts"] .nxp-nar-mini__play{width:46px;height:46px;flex:0 0 auto;padding:0;background:var(--nar-accent);border:0;border-radius:13px;color:#fff;box-shadow:0 6px 18px -6px var(--nar-accent);transition:transform .12s ease,filter .15s ease}.cml-panel[data-panel="tts"] .nxp-nar-mini__play:hover{background:var(--nar-accent);filter:brightness(1.08)}.cml-panel[data-panel="tts"] .nxp-nar-mini__play:active{transform:scale(.95)}.cml-panel[data-panel="tts"] .nxp-nar-mini__play svg{width:18px;height:18px}.cml-panel[data-panel="tts"] #nxpNarMiniPlayText{display:none}#nxp-reader.cml-reader #nxpNarPitchField{display:none}#nxp-reader.cml-reader[data-cml-locked="1"] #nxpTtsBtn,#nxp-reader.cml-reader[data-cml-locked="1"] #nxpNarLaunch{opacity:.4;cursor:not-allowed;pointer-events:none}