/* Shared controls. Keep each component's dimensions and positioning intact. */
:root { --control-gold:#dfba7b; --control-ink:#f4e6d2; }
body :is(button,.btn,.abyss-btn,.manga-start,.favorite-discover,.profile-reading-link,.cover-edit,.archive-chip):not(#ratingStars button) {
    border-radius:10px !important;
    border:1px solid #97734e66 !important;
    background:linear-gradient(155deg,#302329,#191518) !important;
    color:var(--control-ink) !important;
    box-shadow:inset 0 1px 0 #ffffff09,0 3px 10px #0003 !important;
    text-decoration:none;
    text-shadow:none;
    cursor:pointer;
    transition:background-color .18s,border-color .18s,box-shadow .18s,color .18s;
    -webkit-tap-highlight-color:transparent;
}
/* Text actions get comfortable spacing; icon, episode and card controls retain theirs. */
body :is(.review-views button,.review-action,#reviewsMore,#reviewWithdraw,.account-tabs button,.journey-filters button,.cover-upload-actions button,#avatar-upload-button,#library-refresh,#library-import,#journey-refresh,#personal-retry,.filter-btn,.copy-btn,.load-more-btn,.restart-btn,.view-btn) {
    min-height:42px;
    padding:10px 17px;
    font-size:14px;
    font-weight:600;
    line-height:1.35;
}
body :is(.btn-primary,.submit-btn,.account-primary,#profile-edit,.abyss-btn,.manga-start,button[type=submit]) {
    background:linear-gradient(135deg,#aa2442,#70162d) !important;
    border-color:#e16b7d88 !important;
    color:#fff3e5 !important;
    box-shadow:inset 0 1px 0 #ffffff18,0 5px 20px #9d18312b !important;
}
body :is(button,.btn,.archive-chip):is(.active,[aria-pressed=true],[aria-selected=true]) {
    background:linear-gradient(135deg,#662336,#331a24) !important;
    border-color:#d6ae70 !important;
    color:#ffe4b5 !important;
    box-shadow:inset 0 -2px 0 #d6ae70,0 3px 14px #0004 !important;
}
body #ratingStars button { background:none !important; border:0 !important; box-shadow:none !important; }
body #ratingStars button.active { color:#edb958 !important; }
body .ep-btn.is-watched:not(.active) { border-color:#78b291 !important; }
@media(hover:hover) {
    body :is(button,.btn,.abyss-btn,.manga-start,.favorite-discover,.profile-reading-link,.cover-edit,.archive-chip,[role=button],.archive-nav__icon):not(.timeline-item):not(.secret-lore):not(:disabled):not([aria-disabled=true]):not(.correct):not(.wrong):not(#ratingStars button):hover {
        border-color:#ff687a !important;
        background:linear-gradient(135deg,#c51e39,#850d24) !important;
        color:#fff2db !important;
        box-shadow:inset 0 1px 0 #ffffff20,0 4px 22px #e32b4755 !important;
    }
    body #ratingStars button:hover { color:#ff526b !important; }
}
body :is(button,a.btn,.archive-chip):focus-visible { outline:2px solid #f2ca85 !important; outline-offset:4px; }
body :is(button,.btn):not(:disabled):active { box-shadow:inset 0 2px 6px #0007 !important; }
body :is(button,.btn):is(:disabled,[aria-disabled=true]) { opacity:.45 !important; cursor:not-allowed; box-shadow:none !important; }
/* Answer feedback must override the shared skin and disabled dimming. */
body button.correct:not(#ratingStars button) {
    background:linear-gradient(135deg,#197144,#104b2e) !important;
    border-color:#70eba0 !important;
    color:#edfff3 !important;
    opacity:1 !important;
    box-shadow:inset 0 0 0 1px #92ffc333,0 0 22px #36ce7255 !important;
}
body button.wrong:not(#ratingStars button) {
    background:linear-gradient(135deg,#aa2034,#6f1021) !important;
    border-color:#ff7185 !important;
    color:#fff1f3 !important;
    opacity:1 !important;
    box-shadow:inset 0 0 0 1px #ffb3bf22,0 0 22px #ed365455 !important;
}
body button.correct::after { content:' ✓'; margin-left:8px; font-weight:700; }
body button.wrong::after { content:' ✕'; margin-left:8px; font-weight:700; }
.review-views { gap:8px; padding:8px; border:1px solid #bb936035; background:#110e11c9; border-radius:15px; }
.review-views #reviewsRefresh { margin-left:auto; }
@media(max-width:600px) {
    .review-views { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .review-views button { width:100%; min-height:44px; }
    .review-views #reviewsRefresh { margin-left:0; }
}
@media(prefers-reduced-motion:reduce) { body :is(button,.btn,.archive-chip) { transition:none !important; } }
