/* BustyWaifu: plum surfaces, carmine actions, pink and violet highlights.
   Paint only. Geometry, typography, artwork, breakpoints and behavior stay in
   the existing stylesheets and application modules. */
:root{
 --bg:#0f0a1b;--surface:#21152f;--surface2:#2c1d3d;--panel:#21152f;
 --text:#f7eff9;--muted:#c4b6ce;--border:#5b3b69;
 --accent:#ce174f;--purple:#ff70c3;--radius:16px;
 --color-primary:#ce174f;--color-background:#0f0a1b;--color-neutral:#f7eff9;
 --skin-pink:#ff70c3;--skin-violet:#c68aff;--skin-mint:#e1c9ff;
}
/* The root canvas covers short pages and follows every scroll position. */
html{
 background-color:#0f0a1b;
 /* Seven static vector paths; no raster, filter, animation or extra request. */
 background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%221600%22%20height%3D%221000%22%20viewBox%3D%220%200%201600%201000%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22pink-violet%22%20x1%3D%220%22%20y1%3D%221%22%20x2%3D%221%22%20y2%3D%220%22%3E%3Cstop%20stop-color%3D%22%23ff65bc%22%2F%3E%3Cstop%20offset%3D%22.5%22%20stop-color%3D%22%23c456df%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%238655ed%22%2F%3E%3C%2FlinearGradient%3E%3ClinearGradient%20id%3D%22violet-pink%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%238655ed%22%2F%3E%3Cstop%20offset%3D%22.55%22%20stop-color%3D%22%23bd57e1%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23ff65bc%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cg%20fill%3D%22url%28%23pink-violet%29%22%3E%3Cpath%20opacity%3D%22.18%22%20d%3D%22M-140%20720C90%20560%2030%20290%20245%20100S480-100%20690-190L505-280C250-90%20100%2010-45%20180S-155%20430-280%20540Z%22%2F%3E%3Cpath%20opacity%3D%22.12%22%20d%3D%22M-100%201100C60%20850%20200%20880%20300%20620S340%20380%20450%20280C200%20360%20185%20535%2095%20650S-130%20850-240%20925Z%22%2F%3E%3Cpath%20opacity%3D%22.17%22%20d%3D%22M850%201150C1030%20880%201260%20960%201375%20710S1530%20450%201710%20350L1815%20580C1560%20690%201570%20885%201400%201000S1125%201110%201060%201260Z%22%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%22url%28%23violet-pink%29%22%3E%3Cpath%20opacity%3D%22.13%22%20d%3D%22M1120-160C1200%2080%201465%2090%201680%20330L1765%20100C1530-80%201370-130%201310-270Z%22%2F%3E%3Cpath%20opacity%3D%22.09%22%20d%3D%22M-180%20490C80%20270%20150%20300%20310%20120S470-120%20570-220L420-250C290-70%20200-30%2065%2080S-170%20300-290%20350Z%22%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22url%28%23violet-pink%29%22%20stroke-width%3D%221%22%20opacity%3D%22.24%22%3E%3Cpath%20vector-effect%3D%22non-scaling-stroke%22%20d%3D%22M-100%20805C150%20565%2070%20385%20310%20170S525-50%20700-160%22%2F%3E%3Cpath%20vector-effect%3D%22non-scaling-stroke%22%20d%3D%22M950%201140C1125%20875%201350%20920%201475%20635S1600%20395%201740%20310%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
 background-position:center top;
 background-size:100% 100%;
 background-repeat:no-repeat;
 background-attachment:fixed;
}
body{background:transparent;color:var(--text)}
::selection{background:#963b8e;color:#fff}
:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--skin-pink)}
a:hover,.section-link:hover,.text-button:hover{color:#ff9fd7}
.muted,.fine-print,.description,.reader-hints,.ranking-note,.mini-label{color:var(--muted)}
.eyebrow,.section-link,.text-button,.breadcrumb,.hero-eyebrow{color:var(--skin-pink)}
.wp-document a{color:var(--skin-pink)}

/* Existing controls receive new finishes without changing their boxes. */
.button{border-radius:12px}
.primary,.ranking-tabs button[aria-selected=true],.admin-tabs .active{
 background:linear-gradient(110deg,#ce174f,#a02bb9);color:#fff;
 box-shadow:inset 0 1px 0 #ffffff20,0 3px 14px #d1195829;
}
.primary:hover{background:linear-gradient(110deg,#d92059,#ad31c3);color:#fff}
.secondary{background:#2b1b3d;border-color:#87609d;color:#f4eaff;box-shadow:inset 0 0 0 1px #a16ce80a}
.secondary:hover{background:#3b2550;border-color:#bc77e6;color:#fff}
.ghost{background:#1c112acc;border-color:#ad5c97;color:#ffeaf7}
.ghost:hover{background:#39253e;border-color:var(--skin-pink);color:#fff}
.button.danger{background:#421d30;border-color:#c34b76;color:#ffd8e8}
.button.danger:hover{background:#60213e}
.patreon-button{background:linear-gradient(110deg,#74233e,#54256d);border-color:#c45292;color:#fff;border-radius:12px;box-shadow:inset 0 1px 0 #ffffff17}
.patreon-button:hover{background:linear-gradient(110deg,#952548,#70318a);border-color:#ff91d1;color:#fff}

/* Static translucent plum layers blend into the vector canvas without blur. */
#header{background:linear-gradient(180deg,#180e24b8 0%,#180e24e0 28%,#180e24e0 72%,#180e24b8 100%);border-color:transparent;box-shadow:none}
#header::before,#header::after{content:"";position:absolute;left:0;right:0;height:14px;pointer-events:none;z-index:-1}
#header::before{bottom:100%;background:linear-gradient(180deg,#180e2400,#180e24b8)}
#header::after{top:100%;background:linear-gradient(180deg,#180e24b8,#180e2400)}
nav a{color:#d7cbdf}
nav a:hover,nav a.active{color:#fff;background:transparent;border-radius:999px;isolation:isolate}
nav a.active{background:transparent;color:#fff1fb;border-radius:999px;box-shadow:none;isolation:isolate}
nav a:hover::before,nav a.active::before{content:"";position:absolute;inset:5px -10px;border-radius:999px;background:linear-gradient(110deg,#b72c7040,#8b4fc750);box-shadow:inset 0 0 0 1px #e78ac74d,0 2px 10px #0002;pointer-events:none;z-index:-1}
nav a:hover:not(.active)::before{background:linear-gradient(110deg,#b72c7024,#8b4fc730);box-shadow:inset 0 0 0 1px #e78ac72d,0 2px 10px #0002}
nav a.active::after{display:none}
.nav-search{background:#1a1127b8;border-color:#76558c70;border-radius:12px;box-shadow:inset 0 1px 5px #00000038}
.nav-search:focus-within{background:#241630e6;border-color:#ca91e8;box-shadow:0 0 0 3px #c570e51a}
.nav-search>.icon{color:#ff80c7}
.nav-search input{color:#f6eefb}
.nav-search input::placeholder{color:#bcaec8}
.search-field-label{color:#f1cedf;border-color:#5a4965}
.admin-link{color:#e8ccfa;border-color:#a17cb055;background:#261831cc;border-radius:10px}

/* The banner keeps its existing crop, shared height and transition. */
.hero{background:#21152f;border-radius:16px;box-shadow:inset 0 0 0 1px #8b5e9c55}
.hero-carousel{border-radius:16px;box-shadow:0 10px 34px #00000029}
.hero-gradient{background:linear-gradient(90deg,#1b1029fa 0%,#2a1539ed 27%,#27132f45 62%,#1b102910 80%)}
.hero-eyebrow{color:#ff91d2}
.hero-eyebrow>span,.new-dot{background:#ff4c91;box-shadow:0 0 9px #ff4c9155}
.hero h1 em{color:#ff76c1}
.hero p,.hero .hero-meta{color:#e2d5e9}
.hero-counter{color:#f6e8ff}
.hero-progress{background:#4e2f544d}
.hero-progress span{background:linear-gradient(90deg,#f12b64,#ff69c4,#b665ee)}

.cover-link,.series-cover{background:#4a2b65;border-radius:16px;box-shadow:inset 0 0 0 1px #c889e980,0 4px 12px #00000029}
.cover-link:hover,.series-cover:hover{box-shadow:inset 0 0 0 1px #e55eb8,0 5px 20px #ba337b33}
.cover-shade{background:linear-gradient(180deg,transparent 25%,#45204f32 46%,#3b1e52ed 100%)}
.cover-title,.series-cover-name{text-shadow:0 2px 8px #000,0 0 20px #0008}
.read-overlay,.series-read{background:#32133359}
.read-overlay>.icon,.series-read>.icon{color:#ffd5ee}
.episode-title,.series-card h3{color:#f7eff9}
.episode-card:hover .episode-title,.series-card:hover h3{color:#ff9bd4}
.episode-meta,.card-stats,.series-card p{color:#c4b6ce}
.series-card p>span{color:#a28ab2}
.access-badge{background:#e1c9ff;color:#352042;border-radius:999px;box-shadow:0 2px 5px #0004}
.access-badge.premium{background:#f5c4e1;color:#45162f;box-shadow:inset 0 0 0 1px #e483c4,0 2px 5px #0004}
.status-pill{background:#34213c;color:#efd7f1;border-color:#886493;border-radius:999px}
.series-section{border-color:#5b3b69}
.genre-tabs button{color:#d1c2dd;border-radius:999px}
.genre-tabs button:hover{background:#352144;color:#fff}
.genre-tabs .active{color:#ffe9f7;background:#4e264b;border-color:#b462a0}

.ranking-panel{background:linear-gradient(150deg,#2c1c3d,#1a1126);border-color:#6f4e80;border-radius:16px;box-shadow:inset 0 2px 0 #e75dbd99,0 7px 22px #0002}
.ranking-panel h2>.icon{color:#ff82c7}
.ranking-tabs{background:#170f23;border-color:#674578;border-radius:12px}
.ranking-tabs button{color:#d1c3dd;border-radius:9px}
.ranking-tabs button:hover{background:#30283f;color:#fff}
.ranking-tabs button[aria-selected=true]{background:linear-gradient(110deg,#ce174f,#a02bb9);color:#fff}
.rank-row{border-color:#4b3459}
.rank-row>img{border-radius:10px}
.rank-num{color:#b9a8c7}
.rank-num.first{color:#ff7ac3;text-shadow:0 0 14px #f33d9d33}
.rank-info small,.rank-info>span{color:#c4b6ce}
.rank-row:hover .rank-info b{color:#ff9fd7}
.support-card{background:#24182f;border-color:#71507d;border-radius:16px}
.support-card .button{background:#62284d;border-color:#bd5b99;color:#ffe7f6}
.empty-state{background:#21152f;border-color:#705271;color:#c4b6ce;border-radius:16px}
.empty-state h3{color:#f3d9ed}
.empty-state>.icon{color:#cf9cda}
.cover-placeholder{background:linear-gradient(135deg,#352047,#1f142d);color:#d7c3e8}

.episode-list-row{border-color:#5b3b69}
.episode-list-row:hover{background:#2c1b39}
.episode-number,.detail-stats{color:#cbb3e2}
.reader-stage{background:#110b19;border-color:#60416f;border-radius:8px}
.reader-titlebar .icon-button,.like-button{color:#f4c6e8;background:#33203f;border-color:#855298;border-radius:12px}
.page-progress,.reader-hints,.reader-load-status{color:#cbbbd8}
.reader-load-status button{color:#ff9ed6}
.progress-track,.age-countdown{background:#342641}
.progress-track>div,.age-countdown>span{background:linear-gradient(90deg,#f12b64,#b665ee)}
.reader-end{background:#24162f;border-color:#765187;border-radius:16px}
.next-episode-preview{background:#2a1a36;border-color:#6f4c7e;border-radius:14px}

dialog{background:linear-gradient(150deg,#291a39,#1b1229);border-color:#9b5793;border-radius:24px;box-shadow:0 22px 100px #000a,inset 0 1px 0 #ed90d31c}
dialog::backdrop{background:#0c0714cc}
dialog>.muted,.modal-close{color:#c9c2d8}
.modal-mark{background:linear-gradient(140deg,#642644,#49306b);color:#ffb3df;border-radius:12px}
.membership-plan{background:linear-gradient(120deg,#35203f,#2c1a40);border-color:#87548a;border-radius:14px}
.membership-plan:hover{background:linear-gradient(120deg,#43274c,#532747);border-color:#ef84cc}
.membership-plan span,.membership-plan .membership-access{color:#d6c5df}
.membership-plan-title strong{color:#fff0fa}
.account-indicator:hover,.account-menu[open] .account-indicator,.owner-session-menu[open] .account-indicator{background:#2d1b3ee6;border-color:#795589}
.account-indicator:focus-visible{outline-color:#ff91d1}
.account-avatar{background:linear-gradient(135deg,#722542,#522e7a);color:#ffe0f3}
.account-indicator .account-copy small,.account-menu-note{color:#c6b8d2}
.account-chevron{border-color:#df9ed0}
.account-dropdown{background:#21132ff5;border-color:#81527a;border-radius:14px;box-shadow:0 16px 45px #0009}
.account-menu-note,.logout-item{border-color:#4c415d}
.account-menu-item{color:#f3e5f5;border-radius:8px}
.account-menu-item:hover{background:#362b45;color:#fff}
.logout-item,.account-logout{color:#ff9dca}

.age-notice{background:#21132b33;border-color:#af76c124;color:#d5c9df}
.age-notice b{color:#ffd4ed;border-color:#b4679c;background:#54263c;border-radius:8px}
.age-notice .text-button{color:#ff9fd7}
.age-notice-set{background:#1a102622}
#footer{background:#160e22;border-color:#5b3b69}
.footer-inner>span,.footer-inner>div>a{color:#c6b7d1}
#toast{background:#2f1d40;color:#f9e8f7;border-color:#af608f;box-shadow:0 6px 30px #0007;border-radius:14px}
.wp-preview-note{background:#33203e;color:#ffd3eb;border-color:#7d467d}
.wp-preview-note>span{background:#ff75bf}
.wp-preview-note b{color:#c0bfd9}

/* Owner-facing forms and reports use the same palette. */
.owner-summary>div,.owner-list,.owner-episode-group,.owner-wp-card,.library-images,.banner-editor-row{background:#21152f;border-color:#674673;border-radius:16px}
.owner-cover,.library-cover-preview{background:#170f23;border-radius:12px}
.owner-episode-group>summary:focus-visible{outline-color:#ff91d1}
.owner-episode-group>summary>.icon{color:#e69fda}
.delete-impact{background:#32223c;border-color:#80517d;border-radius:12px}
input,select,textarea{caret-color:#ff8ccc;accent-color:#dd2868}
.library-editor input:not([type=checkbox]):not([type=range]),.library-editor select,.library-editor textarea,.statistics-admin select{color:#f3eaf8;background:#180f24;border-color:#775384;border-radius:10px}
.library-editor input::placeholder,.library-editor textarea::placeholder{color:#c0aecf}
.library-checkbox input,.library-editor input[type=range],.library-save-bar progress{accent-color:#e62e78}
.library-editor [data-page-row]{background:#281a36;border-color:#725181;border-radius:12px}
.library-save-bar{background:#20142ff5;border-color:#86547f;border-radius:14px}
.library-editor :focus-visible{outline-color:#ff91d1}
.banner-preview summary{color:#eea9e0}
.statistics-admin .stats-panel{background:#21152f;border-color:#674673;border-radius:16px}
.statistics-admin .stats-cards strong{color:#ff93cc}
.statistics-admin .stats-status{background:#30203b;border-color:#ce65ba}
.statistics-admin .stats-status p,.statistics-admin th,.statistics-admin .stats-health dt{color:#d0c2dc}
.statistics-admin .stats-warning{border-color:#f2b27b}
.statistics-admin td,.statistics-admin th{border-color:#563960}
.statistics-admin svg{fill:#e25fac}
.statistics-admin summary,.statistics-admin [data-stats-message]{color:#efb4e5}
.admin-tabs button{color:#d0c2df;border-color:#74517e;border-radius:10px}
.admin-tabs button.active{background:linear-gradient(110deg,#ce174f,#a02bb9);color:#fff}
.admin-series-card,.admin-episode-row,.form-panel{background:#241731;border-color:#70507f;border-radius:16px}
.upload-drop{background:#291b3b;border-color:#af69a1;border-radius:16px}
.upload-drop>.icon{color:#f08ace}
.upload-drop>strong{color:#ffe3f5}
.upload-drop>span:not(.button),.upload-drop>small{color:#c6b7d6}
