/**
 * MoyuTheme v2 - Main Stylesheet
 * Based on RiPro visual design patterns
 *
 * @package MoyuTheme
 * @version 2.0.0
 */

/* External Icon Fonts (loaded from CDN) */
@import url('https://cdn.bootcdn.net/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css');
@import url('https://cdn.bootcdn.net/ajax/libs/MaterialDesign-Webfont/7.4.47/css/materialdesignicons.min.css');

/* ==========================================================================
   CSS Variables
   ========================================================================== */
:root {
    --accent-color: #FF9800;
    --text-color: #34495e;
    --text-light: #aaa;
    --bg-color: #f6f6f6;
    --bg-white: #ffffff;
    --border-color: #e6e6e6;
    --shadow: 0 0 30px rgba(0, 0, 0, 0.07);
    --radius: 4px;
    --transition: all 0.3s cubic-bezier(0.77, 0, 0.175, 1);
    --header-height: 80px;
}

/* ==========================================================================
   Bootstrap Grid System (Minimal)
   ========================================================================== */
.container {
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
    width: 100%;
}

@media (max-width: 575px) {
    .container {
        max-width: 460px;
        padding-left: 10px;
        padding-right: 10px;
    }
}

@media (min-width: 768px) {
    .container {
        max-width: 720px;
        padding-left: 15px;
        padding-right: 15px;
    }
}

@media (min-width: 992px) {
    .container {
        max-width: 960px;
    }

    .container.medium {
        max-width: 780px;
    }
}

@media (min-width: 1230px) {
    .container {
        max-width: 1200px;
    }

    .container.medium {
        max-width: 1030px;
    }
}

@media (min-width: 1450px) {
    .container {
        max-width: 1440px;
    }

    .container.medium {
        max-width: 1020px;
    }
}

.row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
}

.row .row {
    margin-left: -10px;
    margin-right: -10px;
}

[class*="col-"] {
    padding-left: 15px;
    padding-right: 15px;
    width: 100%;
}

.col-1 { width: 8.333%; }
.col-2 { width: 16.667%; }
.col-3 { width: 25%; }
.col-4 { width: 33.333%; }
.col-5 { width: 41.667%; }
.col-6 { width: 50%; }
.col-7 { width: 58.333%; }
.col-8 { width: 66.667%; }
.col-9 { width: 75%; }
.col-10 { width: 83.333%; }
.col-11 { width: 91.667%; }
.col-12 { width: 100%; }

@media (min-width: 576px) {
    .col-sm-1 { width: 8.333%; }
    .col-sm-2 { width: 16.667%; }
    .col-sm-3 { width: 25%; }
    .col-sm-4 { width: 33.333%; }
    .col-sm-5 { width: 41.667%; }
    .col-sm-6 { width: 50%; }
    .col-sm-7 { width: 58.333%; }
    .col-sm-8 { width: 66.667%; }
    .col-sm-9 { width: 75%; }
    .col-sm-10 { width: 83.333%; }
    .col-sm-11 { width: 91.667%; }
    .col-sm-12 { width: 100%; }
}

@media (min-width: 768px) {
    .col-md-1 { width: 8.333%; }
    .col-md-2 { width: 16.667%; }
    .col-md-3 { width: 25%; }
    .col-md-4 { width: 33.333%; }
    .col-md-5 { width: 41.667%; }
    .col-md-6 { width: 50%; }
    .col-md-7 { width: 58.333%; }
    .col-md-8 { width: 66.667%; }
    .col-md-9 { width: 75%; }
    .col-md-10 { width: 83.333%; }
    .col-md-11 { width: 91.667%; }
    .col-md-12 { width: 100%; }
}

@media (min-width: 992px) {
    .col-lg-1 { width: 8.333%; }
    .col-lg-2 { width: 16.667%; }
    .col-lg-3 { width: 25%; }
    .col-lg-4 { width: 33.333%; }
    .col-lg-5 { width: 41.667%; }
    .col-lg-6 { width: 50%; }
    .col-lg-7 { width: 58.333%; }
    .col-lg-8 { width: 66.667%; }
    .col-lg-9 { width: 75%; }
    .col-lg-10 { width: 83.333%; }
    .col-lg-11 { width: 91.667%; }
    .col-lg-12 { width: 100%; }
}

@media (min-width: 1230px) {
    .col-xl-1 { width: 8.333%; }
    .col-xl-2 { width: 16.667%; }
    .col-xl-3 { width: 25%; }
    .col-xl-4 { width: 33.333%; }
    .col-xl-5 { width: 41.667%; }
    .col-xl-6 { width: 50%; }
    .col-xl-7 { width: 58.333%; }
    .col-xl-8 { width: 66.667%; }
    .col-xl-9 { width: 75%; }
    .col-xl-10 { width: 83.333%; }
    .col-xl-11 { width: 91.667%; }
    .col-xl-12 { width: 100%; }
}

/* ==========================================================================
   Reset & Base
   ========================================================================== */
*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    line-height: 1.15;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 14px;
    line-height: 1.5;
    color: var(--text-color);
    background-color: var(--bg-color);
    -webkit-font-smoothing: antialiased;
}

a {
    background-color: transparent;
    color: var(--text-color);
    text-decoration: none;
    transition: var(--transition);
}

a:hover {
    color: var(--accent-color);
}

img {
    max-width: 100%;
    height: auto;
    border-style: none;
    vertical-align: middle;
}

ul, ol {
    list-style: none;
    margin: 0;
    padding: 0;
}

button, input, select, textarea {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    margin: 0;
}

button, input {
    overflow: visible;
}

button, select {
    text-transform: none;
}

button, [type="button"], [type="reset"], [type="submit"] {
    -webkit-appearance: button;
    cursor: pointer;
}

h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    margin-bottom: 0;
    font-weight: 600;
}

p {
    margin-top: 0;
    margin-bottom: 0;
}

/* ==========================================================================
   Utility Classes
   ========================================================================== */
.mt-10 { margin-top: 10px; }
.mt-20 { margin-top: 20px; }
.mt-30 { margin-top: 30px; }
.mb-10 { margin-bottom: 10px; }
.mb-20 { margin-bottom: 20px; }
.mb-30 { margin-bottom: 30px; }
.mb-0 { margin-bottom: 0; }
.pt-10 { padding-top: 10px; }
.pb-10 { padding-bottom: 10px; }
.text-center { text-align: center; }
.text-right { text-align: right; }
.hidden { display: none !important; }

.u-border-title {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 1px;
    padding: 20px 0 10px;
    position: relative;
    margin-bottom: 10px;
}

.u-border-title:after {
    background-color: var(--accent-color);
    bottom: 0;
    content: "";
    height: 3px;
    left: 0;
    position: absolute;
    width: 50px;
}

.u-text-format {
    font-size: 15px;
    line-height: 1.8;
    color: var(--text-color);
}

.u-text-format a {
    color: var(--accent-color);
}

.u-text-format a:hover {
    text-decoration: underline;
}

.u-text-format img {
    max-width: 100%;
    height: auto;
    border-radius: var(--radius);
}

.u-text-format blockquote {
    border-left: 4px solid var(--accent-color);
    margin: 1em 0;
    padding: 10px 20px;
    background: rgba(0, 0, 0, 0.02);
}

.u-text-format pre {
    background: #282c34;
    color: #abb2bf;
    padding: 16px;
    border-radius: var(--radius);
    overflow-x: auto;
    font-size: 13px;
    line-height: 1.6;
}

.u-text-format code {
    background: rgba(0, 0, 0, 0.06);
    padding: 2px 6px;
    border-radius: 3px;
    font-size: 0.9em;
}

.u-text-format pre code {
    background: none;
    padding: 0;
}

.u-text-format table {
    width: 100%;
    border-collapse: collapse;
    margin: 1em 0;
}

.u-text-format th,
.u-text-format td {
    border: 1px solid var(--border-color);
    padding: 8px 12px;
    text-align: left;
}

.u-text-format th {
    background: rgba(0, 0, 0, 0.03);
    font-weight: 600;
}

/* ==========================================================================
   Buttons
   ========================================================================== */
.button,
input[type="submit"],
button[type="submit"] {
    background-color: var(--accent-color);
    border: 2px solid var(--accent-color);
    border-radius: var(--radius);
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .2px;
    line-height: 1;
    outline: none;
    padding: 12px 30px;
    text-align: center;
    transition: var(--transition);
}

.button:hover,
input[type="submit"]:hover,
button[type="submit"]:hover {
    background-color: transparent;
    color: var(--accent-color);
}

.button.transparent {
    background-color: transparent;
    color: var(--accent-color);
}

.button.transparent:hover {
    background-color: var(--accent-color);
    color: #fff;
}

/* ==========================================================================
   Site Header / Navbar
   ========================================================================== */
.site-header {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background-color: #fff;
    box-shadow: var(--shadow);
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: var(--transition);
    z-index: 99;
}

.navbar-full .site-header {
    padding: 0 30px;
}

.slide-now .site-header {
    box-shadow: none;
    transform: translateY(-80px);
}

.header-gap {
    height: 80px;
}

.navbar {
    align-items: center;
    display: flex;
    height: 80px;
    position: relative;
}

.navbar .logo-wrapper {
    position: relative;
}

.navbar .logo {
    margin-right: 12px;
    max-width: 120px;
    height: auto;
}

.navbar .logo.text {
    font-size: 20px;
    font-weight: 700;
    color: var(--text-color);
    display: block;
    line-height: 80px;
}

.navbar .logo.text:hover {
    color: var(--accent-color);
}

.navbar .sep {
    display: flex;
    height: 100%;
    margin: 0 20px;
    width: 1px;
}

.navbar .sep:after {
    background-color: var(--border-color);
    content: "";
    height: 50%;
    margin: auto;
    transition: var(--transition);
    width: 100%;
}

.navbar .menu-item {
    display: inline-block;
    position: relative;
}

.navbar .menu-item > a {
    display: block;
    font-weight: 700;
    letter-spacing: .2px;
}

.navbar .menu-item > a .emoji {
    margin-left: 0 !important;
    margin-right: 5px !important;
}

.navbar .menu-item.menu-item-has-children > a:after {
    color: #aaa;
    content: "\f140";
    font-family: "Material Design Icons";
    font-size: 13px;
    font-weight: 400;
    margin-left: 5px;
    transition: var(--transition);
}

.navbar .menu-item:hover > .sub-menu {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

.navbar .nav-list > .menu-item > a {
    font-size: 14px;
    line-height: 81px;
    margin: 0 12px;
    transition: var(--transition);
}

.navbar .sub-menu {
    background-color: #fff;
    box-shadow: var(--shadow);
    list-style-type: none;
    margin: -1px 0 0 -18px;
    min-width: 220px;
    opacity: 0;
    padding: 20px 0;
    position: absolute;
    top: 100%;
    transform: translateY(5px);
    transition: var(--transition);
    visibility: hidden;
    z-index: 80;
}

.navbar .sub-menu .menu-item {
    display: block;
}

.navbar .sub-menu .menu-item > a {
    align-items: center;
    display: flex;
    font-size: 13px;
    line-height: 18px;
    padding: 9px 30px;
    transition: var(--transition);
}

.navbar .sub-menu .menu-item > a:hover {
    opacity: 1;
    transform: translateX(5px);
    color: var(--accent-color);
}

.navbar .sub-menu .menu-item.menu-item-has-children > a {
    justify-content: space-between;
}

.navbar .sub-menu .menu-item.menu-item-has-children > a:after {
    content: "\f142";
    line-height: 1;
    margin-right: -4px;
}

.navbar .sub-menu .sub-menu {
    left: 100%;
    margin: -20px 0 0;
    top: 0;
}

.navbar .actions {
    display: flex;
    flex-grow: 1;
    justify-content: flex-end;
}

.navbar .actions > div + div {
    margin-left: 5px;
}

.navbar .navbar-button,
.off-canvas .canvas-close {
    align-items: center;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    font-size: 16px;
    height: 30px;
    justify-content: center;
    width: 30px;
    margin-right: 10px;
    background-color: #f6f6f6;
    border: 0;
    color: #34495e;
    transition: var(--transition);
}

.navbar .navbar-button:hover {
    background-color: var(--accent-color);
    color: #fff;
}

.navbar .login-btn {
    align-items: center;
    border-radius: var(--radius);
    color: #fff;
    cursor: pointer;
    display: flex;
    font-size: 14px;
    height: 30px;
    justify-content: center;
    width: 80px;
    margin-right: 10px;
    background-color: var(--accent-color);
    border: 0;
    transition: var(--transition);
}

.navbar .login-btn:hover {
    opacity: 0.9;
}

.navbar .user-pbtn {
    align-items: center;
    border-radius: 50%;
    color: var(--text-color);
    cursor: pointer;
    display: flex;
    font-size: 14px;
    height: 36px;
    justify-content: center;
    width: 36px;
    margin-right: 10px;
    overflow: hidden;
    flex-shrink: 0;
}

.navbar .user-pbtn + .search-open {
    margin-left: 10px;
}

.navbar .user-pbtn img {
    border-radius: 50%;
    height: 36px;
    width: 36px;
}

.navbar .user-pbtn span {
    margin-left: 5px;
}

/* Search Panel */
.main-search {
    bottom: 0;
    display: none;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.main-search .search-form {
    height: 100%;
}

.main-search .search-field {
    background-color: transparent;
    font-size: 20px;
    font-weight: 700;
    height: 100%;
    margin: 0;
    padding: 0;
    text-align: center;
    border: 0;
    width: calc(100% - 60px);
    color: var(--text-color);
}

.main-search .search-field::placeholder {
    color: #aaa;
}

.main-search .search-submit {
    display: none;
}

.main-search .search-close {
    font-size: 15px;
    margin-top: -15px;
    position: absolute;
    right: 0;
    top: 50%;
    cursor: pointer;
}

.search-open .main-search {
    display: block;
    z-index: 10;
}

.search-open .navbar > *:not(.main-search) {
    display: none;
}

/* Burger Menu */
.burger {
    border-radius: 50%;
    cursor: pointer;
    height: 30px;
    position: relative;
    width: 30px;
    background-color: #f6f6f6;
    border: 0;
    display: none;
}

.burger:before,
.burger:after {
    background-color: #34495e;
    content: "";
    height: 2px;
    left: 10px;
    position: absolute;
    width: 10px;
    transition: var(--transition);
}

.burger:before {
    top: 10px;
}

.burger:after {
    bottom: 10px;
}

.burger.active:before {
    top: 14px;
    transform: rotate(45deg);
}

.burger.active:after {
    bottom: 14px;
    transform: rotate(-45deg);
}

/* ==========================================================================
   Off-Canvas Sidebar
   ========================================================================== */
.off-canvas {
    background-color: #fff;
    height: 100vh;
    overflow-y: scroll;
    padding: 60px 0 15px;
    position: fixed;
    right: 0;
    top: 0;
    transform: translateX(320px);
    transition: var(--transition);
    width: 320px;
    z-index: 9999;
    -webkit-overflow-scrolling: touch;
}

.off-canvas .logo {
    display: flex;
    justify-content: center;
    margin: 0 auto 30px;
    padding: 0 20px;
    max-width: 220px;
}

.off-canvas .canvas-close {
    position: absolute;
    right: 15px;
    top: 15px;
}

.off-canvas .canvas-close .mdi {
    transition: var(--transition);
}

.off-canvas .canvas-close:hover .mdi {
    transform: rotate(-180deg);
}

.off-canvas .widget-area .widget {
    padding: 20px;
}

.off-canvas .widget-area .widget + .widget {
    margin-top: 30px;
}

.off-canvas .widget-area .widget .widget-title {
    border-bottom: 1px solid var(--border-color);
    margin: -20px -20px 20px;
    padding: 15px 20px;
    font-size: 16px;
    font-weight: 700;
}

.off-canvas .nav-list {
    list-style: none;
    padding: 0;
}

.off-canvas .nav-list li a {
    display: block;
    padding: 10px 20px;
    font-size: 14px;
    color: var(--text-color);
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.off-canvas .nav-list li a:hover {
    color: var(--accent-color);
    background: rgba(0, 0, 0, 0.02);
}

body:not(.canvas-visible) .off-canvas {
    visibility: hidden;
}

.canvas-opened {
    overflow-y: hidden;
}

.canvas-opened .off-canvas {
    transform: translateX(0);
    visibility: visible;
}

.dimmer {
    background-color: rgba(0, 0, 0, 0.5);
    bottom: 0;
    left: 0;
    opacity: 0;
    position: fixed;
    right: 0;
    top: 0;
    transition: var(--transition);
    visibility: hidden;
    z-index: 9998;
}

.canvas-opened .dimmer {
    opacity: 1;
    visibility: visible;
}

/* ==========================================================================
   Term Bar (Category Header)
   ========================================================================== */
.term-bar {
    background-color: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
    padding: 30px 0;
    margin-bottom: 20px;
}

.term-bar .term-title {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 5px;
}

.term-bar .term-desc {
    color: var(--text-light);
    font-size: 13px;
}

/* ==========================================================================
   Filter Bar
   ========================================================================== */
.filter--content {
    background-color: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
    margin-bottom: 20px;
    padding: 15px 20px;
}

.filter--content .form-box {
    position: relative;
}

.filter-item {
    margin-bottom: 10px;
}

.filter-item:last-child {
    margin-bottom: 0;
}

.filter-tag {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 0;
    padding: 0;
}

.filter-tag > span {
    color: var(--text-light);
    font-size: 13px;
    font-weight: 700;
    margin-right: 10px;
    white-space: nowrap;
}

.filter-tag > span i {
    margin-right: 3px;
}

.filter-tag li {
    margin-right: 5px;
    margin-bottom: 5px;
}

.filter-tag li a {
    background-color: var(--bg-color);
    border-radius: var(--radius);
    color: var(--text-light);
    display: inline-block;
    font-size: 12px;
    padding: 4px 10px;
    transition: var(--transition);
}

.filter-tag li a:hover,
.filter-tag li a.on {
    background-color: var(--accent-color);
    color: #fff;
}

.filter-tab {
    border-top: 1px solid var(--border-color);
    margin-top: 10px;
    padding-top: 10px;
}

.filter-tab .right {
    text-align: right;
}

.filter-tab .rightss {
    display: inline-block;
    margin-left: 10px;
}

.filter-tab .rightss i {
    color: var(--text-light);
}

/* ==========================================================================
   Site Content
   ========================================================================== */
.site-content {
    min-height: 50vh;
}

.site-main {
    padding: 20px 0;
}

/* ==========================================================================
   Article / Post Grid
   ========================================================================== */
.u-module-margin .post {
    margin: 30px 0;
}

@media (max-width: 767px) {
    .u-module-margin {
        margin: -15px 0;
    }

    .u-module-margin .post {
        margin: 15px 0;
    }
}

.post {
    margin-bottom: 20px;
    position: relative;
}

.post-grid {
    background-color: #fff;
    border-radius: var(--radius);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
    overflow: hidden;
    transition: var(--transition);
}

.post-grid:hover {
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.post-grid .entry-media {
    margin-bottom: 0;
    position: relative;
    overflow: hidden;
}

.post-grid .entry-media img {
    margin: 0 auto;
    width: 100%;
    border-radius: var(--radius) var(--radius) 0 0;
    transition: var(--transition);
}

.post-grid:hover .entry-media img {
    transform: scale(1.05);
}

.post-grid .entry-wrapper {
    padding: 15px;
}

.post-grid .entry-header .entry-title {
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -0.2px;
    margin-bottom: 0;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.post-grid .entry-excerpt {
    font-size: 13px;
    margin-top: 8px;
    color: var(--text-light);
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    white-space: normal;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    margin-bottom: 8px;
}

/* Post List Style */
.post-list {
    background-color: #fff;
    border-radius: var(--radius);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
    overflow: hidden;
    display: flex;
    margin-bottom: 15px;
    transition: var(--transition);
}

.post-list:hover {
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
}

.post-list .entry-media {
    flex: 0 0 200px;
    margin-bottom: 0;
    overflow: hidden;
}

.post-list .entry-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition);
}

.post-list:hover .entry-media img {
    transform: scale(1.05);
}

.post-list .entry-wrapper {
    flex: 1;
    padding: 15px 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.post-list .entry-header .entry-title {
    font-size: 16px;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    white-space: normal;
}

@media (max-width: 575px) {
    .post-list {
        display: block;
    }

    .post-list .entry-media {
        flex: none;
        max-height: 180px;
    }
}

/* Blog List Style (Full Width) */
.post-bloglist {
    background-color: #fff;
    border-radius: var(--radius);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
    overflow: hidden;
    margin-bottom: 20px;
    transition: var(--transition);
}

.post-bloglist:hover {
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
}

.post-bloglist .entry-media {
    margin-bottom: 0;
    overflow: hidden;
}

.post-bloglist .entry-media img {
    width: 100%;
    transition: var(--transition);
}

.post-bloglist:hover .entry-media img {
    transform: scale(1.02);
}

.post-bloglist .entry-wrapper {
    padding: 20px;
}

.post-bloglist .entry-header .entry-title {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 10px;
}

.post-bloglist .entry-excerpt {
    font-size: 14px;
    color: var(--text-light);
    line-height: 1.6;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    display: -webkit-box;
}

/* ==========================================================================
   Entry Media (Thumbnails)
   ========================================================================== */
.entry-media {
    margin-bottom: 10px;
    position: relative;
    overflow: hidden;
}

.entry-media .placeholder {
    background-color: var(--bg-color);
    position: relative;
    overflow: hidden;
    border-radius: var(--radius) var(--radius) 0 0;
}

.entry-media .placeholder img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.entry-media img {
    margin: 0 auto;
    width: 100%;
    overflow: hidden;
    transition: var(--transition);
}

.entry-media img:hover {
    opacity: 0.8;
}

.entry-format {
    background-color: rgba(0, 0, 0, 0.4);
    border-radius: 50%;
    color: #fff;
    font-size: 15px;
    height: 25px;
    left: 10px;
    line-height: 25px;
    position: absolute;
    text-align: center;
    top: 10px;
    width: 25px;
    z-index: 2;
}

.entry-star {
    display: block;
    border-radius: 50%;
    font-size: 15px;
    height: 25px;
    right: 10px;
    line-height: 25px;
    position: absolute;
    text-align: center;
    top: 10px;
    width: 25px;
    opacity: 0;
    visibility: hidden;
    background-color: #FFC107;
    z-index: 2;
}

.post-grid:hover .entry-star,
.post-list:hover .entry-star {
    opacity: 1;
    visibility: visible;
}

/* ==========================================================================
   Entry Header
   ========================================================================== */
.entry-header {
    word-break: break-all;
}

.entry-header .entry-meta {
    align-items: center;
    color: #aaa;
    display: flex;
    flex-wrap: wrap;
    font-size: 11px;
    letter-spacing: .2px;
    margin-bottom: 5px;
    text-align: center;
}

.entry-header .entry-meta > span + span {
    margin-left: 15px;
}

.entry-header .entry-meta a {
    color: #aaa;
}

.entry-header .entry-meta .meta-author a {
    align-items: center;
    display: flex;
}

.entry-header .entry-meta .avatar {
    border-radius: 50%;
    height: 15px;
    margin-right: 8px;
    width: 15px;
}

.entry-header .entry-meta .meta-category {
    display: flex;
    flex-wrap: wrap;
}

.entry-header .entry-meta .meta-category a {
    align-items: center;
    display: flex;
}

.entry-header .entry-meta .meta-category a + a {
    margin-left: 8px;
}

.entry-header .entry-meta .meta-category .dot {
    background-color: var(--accent-color);
    border-radius: 50%;
    height: 6px;
    margin-right: 5px;
    width: 6px;
}

.entry-header .entry-meta .meta-category a:nth-child(2) .dot {
    background-color: #4CAF50;
}

.entry-header .entry-meta .meta-category a:nth-child(3) .dot {
    background-color: #2196F3;
}

.entry-header .entry-title {
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -0.2px;
    margin-bottom: 0;
}

.entry-header .entry-title a {
    color: var(--text-color);
}

.entry-header .entry-title a:hover {
    color: var(--accent-color);
}

.entry-header.white .entry-meta,
.entry-header.white .entry-meta a,
.entry-header.white .entry-title,
.entry-header.white .entry-title a {
    color: #fff;
}

/* ==========================================================================
   Entry Excerpt
   ========================================================================== */
.entry-excerpt {
    font-size: 13px;
    margin-top: 10px;
    color: #aaa;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    white-space: normal;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    margin-bottom: 10px;
}

.entry-excerpt .excerpt-link {
    margin-left: 5px;
    text-decoration: none;
}

/* ==========================================================================
   Entry Footer
   ========================================================================== */
.entry-footer {
    display: block;
}

.entry-footer a {
    position: relative;
    margin-right: 5px;
    color: #aaa;
    padding: 4px 6px;
    border-radius: var(--radius);
    font-weight: 500;
    background: #f6f6f6;
    line-height: 1;
    font-size: 12px;
}

.entry-footer a:hover {
    background: var(--accent-color);
    color: #fff;
}

.entry-footer .footer-author {
    align-items: center;
    display: flex;
}

.entry-footer .footer-author img {
    border-radius: 50%;
    height: 20px;
    margin-right: 5px;
    width: 20px;
}

/* ==========================================================================
   Breadcrumbs
   ========================================================================== */
#crumbs,
.breadcrumbs {
    padding-bottom: 10px;
    font-size: 14px;
    opacity: 0.5;
}

#crumbs a,
.breadcrumbs a {
    color: var(--text-color);
}

#crumbs a:hover,
.breadcrumbs a:hover {
    color: var(--accent-color);
}

/* ==========================================================================
   Single Post
   ========================================================================== */
.single-content {
    background-color: #fff;
    border-radius: var(--radius);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
    padding: 30px;
}

.single-content .entry-header {
    margin-bottom: 20px;
}

.single-content .entry-header .entry-title {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 15px;
}

.single-content .entry-media {
    margin-bottom: 20px;
    border-radius: var(--radius);
    overflow: hidden;
}

/* Author Box */
.author-box {
    align-items: center;
    background-color: #f9f9f9;
    border-radius: var(--radius);
    display: flex;
    margin: 30px 0;
    padding: 20px;
}

.author-box .author-avatar {
    flex-shrink: 0;
    margin-right: 15px;
}

.author-box .author-avatar img {
    border-radius: 50%;
    height: 60px;
    width: 60px;
}

.author-box .author-info .author-name {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 5px;
}

.author-box .author-info .author-desc {
    color: var(--text-light);
    font-size: 13px;
    line-height: 1.6;
}

/* Entry Tags */
.entry-tags {
    margin: 20px 0;
}

.entry-tags a {
    background-color: #f6f6f6;
    border-radius: var(--radius);
    color: var(--text-light);
    display: inline-block;
    font-size: 12px;
    margin-right: 5px;
    margin-bottom: 5px;
    padding: 4px 10px;
    transition: var(--transition);
}

.entry-tags a:hover {
    background-color: var(--accent-color);
    color: #fff;
}

/* Entry Navigation */
.entry-navigation {
    display: flex;
    justify-content: space-between;
    margin: 30px 0;
    gap: 15px;
}

.entry-navigation a {
    background-color: #fff;
    border-radius: var(--radius);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
    color: var(--text-color);
    display: block;
    flex: 1;
    font-size: 13px;
    padding: 15px;
    transition: var(--transition);
}

.entry-navigation a:hover {
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    color: var(--accent-color);
}

.entry-navigation .nav-label {
    color: var(--text-light);
    font-size: 11px;
    display: block;
    margin-bottom: 5px;
}

.entry-navigation .nav-title {
    font-weight: 600;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.entry-navigation .nav-next {
    text-align: right;
}

/* Article Footer / Copyright */
.article-footer {
    background-color: #f9f9f9;
    border-radius: var(--radius);
    margin: 30px 0;
    padding: 20px;
}

.article-footer .xshare {
    margin-bottom: 10px;
}

.article-footer .copyright {
    font-size: 13px;
    color: var(--text-light);
    line-height: 1.6;
}

.article-footer .copyright a {
    color: var(--accent-color);
}

/* ==========================================================================
   Download Box (Custom)
   ========================================================================== */
.download-box {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: var(--radius);
    color: #fff;
    margin: 20px 0;
    padding: 25px;
}

.download-box .download-title {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 15px;
}

.download-box .download-info {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 15px;
    font-size: 13px;
    opacity: 0.9;
}

.download-box .download-info span i {
    margin-right: 5px;
}

.download-box .download-btn {
    background-color: #fff;
    border-radius: var(--radius);
    color: #764ba2;
    display: inline-block;
    font-weight: 700;
    padding: 10px 25px;
    transition: var(--transition);
}

.download-box .download-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
    color: #764ba2;
}

/* ==========================================================================
   Sidebar / Widgets
   ========================================================================== */
.widget-area {
    margin-bottom: 20px;
}

.widget {
    background-color: #fff;
    border-radius: var(--radius);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
    margin-bottom: 20px;
    padding: 20px;
}

.widget .widget-title,
.widget-title {
    border-bottom: 1px solid var(--border-color);
    font-size: 16px;
    font-weight: 700;
    margin: -20px -20px 15px;
    padding: 15px 20px;
}

.widget ul {
    list-style: none;
    padding: 0;
}

.widget ul li {
    padding: 8px 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.widget ul li:last-child {
    border-bottom: none;
}

.widget ul li a {
    color: var(--text-color);
    font-size: 13px;
}

.widget ul li a:hover {
    color: var(--accent-color);
}

/* ==========================================================================
   Related Posts
   ========================================================================== */
.related-posts {
    margin: 30px 0;
}

.related-posts .post {
    margin-bottom: 15px;
}

/* ==========================================================================
   Pagination
   ========================================================================== */
.numeric-pagination {
    margin: 30px 0;
    text-align: center;
}

.numeric-pagination .page-numbers {
    display: inline-flex;
    list-style: none;
    padding: 0;
    margin: 0;
}

.numeric-pagination .page-numbers li {
    margin: 0 3px;
}

.numeric-pagination .page-numbers li a,
.numeric-pagination .page-numbers li span {
    background-color: #fff;
    border-radius: var(--radius);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
    color: var(--text-color);
    display: block;
    font-size: 14px;
    height: 40px;
    line-height: 40px;
    min-width: 40px;
    text-align: center;
    transition: var(--transition);
}

.numeric-pagination .page-numbers li a:hover,
.numeric-pagination .page-numbers li .current {
    background-color: var(--accent-color);
    color: #fff;
}

.navigation {
    margin: 30px 0;
    text-align: center;
}

.navigation .nav-previous,
.navigation .nav-next {
    display: inline-block;
}

.navigation a {
    background-color: #fff;
    border-radius: var(--radius);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
    color: var(--text-color);
    display: inline-block;
    font-size: 14px;
    padding: 10px 20px;
    transition: var(--transition);
}

.navigation a:hover {
    background-color: var(--accent-color);
    color: #fff;
}

/* Infinite Scroll */
.infinite-scroll-status {
    text-align: center;
    padding: 20px;
    display: none;
}

.infinite-scroll-request {
    display: inline-block;
    width: 30px;
    height: 30px;
    border: 3px solid #f3f3f3;
    border-top: 3px solid var(--accent-color);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.infinite-scroll-action {
    text-align: center;
    margin: 20px 0;
}

.infinite-scroll-button {
    background-color: #fff;
    border-radius: var(--radius);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
    color: var(--text-color);
    cursor: pointer;
    display: inline-block;
    font-size: 14px;
    font-weight: 700;
    padding: 12px 30px;
    transition: var(--transition);
}

.infinite-scroll-button:hover {
    background-color: var(--accent-color);
    color: #fff;
}

/* ==========================================================================
   Comments
   ========================================================================== */
.comments-area {
    background-color: #fff;
    border-radius: var(--radius);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
    margin: 30px 0;
    padding: 30px;
}

.comments-area .comments-title {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 20px;
}

.comment-list {
    list-style: none;
    padding: 0;
}

.comment-list .comment {
    border-bottom: 1px solid var(--border-color);
    padding: 15px 0;
}

.comment-list .comment:last-child {
    border-bottom: none;
}

.comment-list .comment-author {
    align-items: center;
    display: flex;
    margin-bottom: 10px;
}

.comment-list .comment-author img {
    border-radius: 50%;
    height: 40px;
    margin-right: 10px;
    width: 40px;
}

.comment-list .comment-author .fn {
    font-weight: 600;
}

.comment-list .comment-metadata {
    color: var(--text-light);
    font-size: 12px;
    margin-bottom: 10px;
}

.comment-list .comment-content {
    font-size: 14px;
    line-height: 1.6;
}

.comment-list .children {
    list-style: none;
    padding-left: 40px;
    margin: 0;
}

.comment-respond {
    margin-top: 30px;
}

.comment-respond .comment-reply-title {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 15px;
}

.comment-respond textarea {
    border: 1px solid var(--border-color);
    border-radius: var(--radius);
    min-height: 120px;
    padding: 10px;
    width: 100%;
    resize: vertical;
}

.comment-respond input[type="text"],
.comment-respond input[type="email"],
.comment-respond input[type="url"] {
    border: 1px solid var(--border-color);
    border-radius: var(--radius);
    margin-bottom: 10px;
    padding: 10px;
    width: 100%;
}

/* ==========================================================================
   Footer
   ========================================================================== */
.site-footer {
    background-color: #fff;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.07);
    padding: 30px 0;
    margin-top: 30px;
}

.site-footer a {
    color: var(--text-color);
}

.site-footer a:hover {
    color: var(--accent-color);
}

.site-footer .footer-links {
    border-bottom: 1px solid var(--border-color);
    margin-bottom: 20px;
    padding-bottom: 20px;
}

.site-footer .footer-links h6 {
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 10px;
}

.site-footer .footer-links .friendlinks-ul {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
}

.site-footer .footer-links .friendlinks-ul li {
    margin-right: 15px;
    margin-bottom: 5px;
}

.site-footer .footer-links .friendlinks-ul li a {
    color: var(--text-light);
    font-size: 13px;
}

.site-footer .footer-links .friendlinks-ul li a:hover {
    color: var(--accent-color);
}

.site-info {
    color: var(--text-light);
    font-size: 13px;
    text-align: center;
    padding-top: 15px;
}

.site-info a {
    color: var(--text-light);
}

.site-info a:hover {
    color: var(--accent-color);
}

/* DIY Footer Widget */
.footer-widget {
    padding: 20px 0;
}

.footer-widget .widget--title h5 {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--accent-color);
    display: inline-block;
}

.footer-widget .widget--about p {
    color: var(--text-light);
    font-size: 13px;
    line-height: 1.6;
}

.footer-widget .widget--about ul {
    list-style: none;
    padding: 0;
    margin-top: 10px;
}

.footer-widget .widget--about ul li {
    font-size: 13px;
    margin-bottom: 5px;
}

.footer-widget .widget--about ul li i {
    margin-right: 5px;
    color: var(--accent-color);
}

.footer-widget .widget--links ul {
    list-style: none;
    padding: 0;
}

.footer-widget .widget--links ul li a {
    color: var(--text-light);
    font-size: 13px;
    padding: 5px 0;
    display: block;
}

.footer-widget .widget--links ul li a:hover {
    color: var(--accent-color);
}

/* ==========================================================================
   Rollbar (Back to Top)
   ========================================================================== */
.rollbar {
    position: fixed;
    right: 15px;
    bottom: 15px;
    z-index: 999;
    display: none;
    width: 50px;
}

.rollbar .rollbar-item {
    position: relative;
    margin-top: 10px;
    width: 35px;
    height: 35px;
    border-radius: var(--radius);
    background-color: #fff;
    color: #000;
    text-align: center;
    opacity: 0.8;
    cursor: pointer;
    transition: var(--transition);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.07);
}

.rollbar .rollbar-item a {
    color: #000;
    display: block;
    height: 100%;
    line-height: 35px;
}

.rollbar .rollbar-item:hover {
    opacity: 1;
    background-color: var(--accent-color);
    color: #fff;
}

.rollbar .rollbar-item:hover a {
    color: #fff;
}
.rollbar .rollbar-item.moyu-cs-rollbar-active{opacity:1;background:linear-gradient(135deg,#7c3aed,#4c1d95)!important;color:#fff!important}.rollbar .rollbar-item.moyu-cs-rollbar-active i{color:#fff!important}

.rollbar .rollbar-item .fa,
.rollbar .rollbar-item .mdi {
    font-size: 15px;
    line-height: 35px;
}

/* ==========================================================================
   404 Page
   ========================================================================== */
.error-404 {
    text-align: center;
    padding: 60px 20px;
}

.error-404 .error-code {
    font-size: 120px;
    font-weight: 700;
    color: var(--accent-color);
    line-height: 1;
    margin-bottom: 20px;
}

.error-404 .error-message {
    font-size: 18px;
    color: var(--text-light);
    margin-bottom: 30px;
}

/* ==========================================================================
   Search Results
   ========================================================================== */
.search-results .post {
    margin-bottom: 15px;
}

.search-results-count {
    color: var(--text-light);
    font-size: 14px;
    margin-bottom: 20px;
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 991px) {
    .container {
        padding: 0 15px;
    }

    .navbar {
        height: 60px;
    }

    .header-gap {
        height: 60px;
    }

    .navbar .sep {
        display: none;
    }

    .navbar .main-menu {
        display: none;
    }

    .burger {
        display: block;
    }

    .single-content {
        padding: 20px;
    }

    .single-content .entry-header .entry-title {
        font-size: 20px;
    }
}

@media (max-width: 767px) {
    .container {
        padding: 0 10px;
    }

    .post-grid .entry-wrapper {
        padding: 12px;
    }

    .post-grid .entry-header .entry-title {
        font-size: 14px;
    }

    .entry-excerpt {
        display: none;
    }

    .filter--content {
        padding: 10px;
    }

    .filter-tag {
        flex-wrap: wrap;
    }

    .filter-tag > span {
        width: 100%;
        margin-bottom: 5px;
    }

    .rollbar {
        right: 5px;
    }

    .author-box {
        display: block;
        text-align: center;
    }

    .author-box .author-avatar {
        margin-right: 0;
        margin-bottom: 10px;
    }
}

/* ==========================================================================
   Lazyload
   ========================================================================== */
.lazyload:not(.visible),
.lazyloading:not(.visible) {
    opacity: 0;
}

.lazyloaded {
    opacity: 1;
    transition: opacity 0.3s cubic-bezier(0.77, 0, 0.175, 1);
}

/* ==========================================================================
   Dark Mode (.ripro-dark)
   ========================================================================== */
.ripro-dark {
    background-color: #232425;
}

.ripro-dark .site-header {
    background-color: #191616;
}

.ripro-dark a {
    color: #eee;
}

.ripro-dark .navbar .menu-item.menu-item-has-children > a:after {
    color: #eee;
}

.ripro-dark .navbar .sub-menu {
    background-color: #191616;
}

.ripro-dark .navbar .user-pbtn {
    color: #fff;
}

.ripro-dark .navbar .navbar-button,
.ripro-dark .off-canvas .canvas-close {
    color: #FFC107;
    background-color: #232425;
}

.ripro-dark .burger {
    background-color: #232425;
    color: #fff;
}

.ripro-dark .burger:before,
.ripro-dark .burger:after {
    background-color: #fff;
}

.ripro-dark .off-canvas {
    background-color: #191616;
}

.ripro-dark .widget-area .widget {
    background-color: #181616;
}

.ripro-dark .off-canvas .widget-area .widget .widget-title {
    border-bottom: 1px solid #232121;
}

.ripro-dark .post-grid,
.ripro-dark .post-list,
.ripro-dark .post-bloglist,
.ripro-dark .widget,
.ripro-dark .single-content,
.ripro-dark .comments-area,
.ripro-dark .filter--content,
.ripro-dark .term-bar {
    background-color: #1d1e1f;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}

.ripro-dark .post-grid:hover,
.ripro-dark .post-list:hover,
.ripro-dark .post-bloglist:hover {
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.3);
}

.ripro-dark .entry-header .entry-title a {
    color: #eee;
}

.ripro-dark .entry-header .entry-title a:hover {
    color: var(--accent-color);
}

.ripro-dark .entry-excerpt {
    color: #888;
}

.ripro-dark .entry-footer a {
    background: #2a2a2a;
    color: #888;
}

.ripro-dark .site-footer {
    background-color: #191616;
}

.ripro-dark .site-info {
    color: #666;
}

.ripro-dark .download-box {
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
}

.ripro-dark .author-box {
    background-color: #1d1e1f;
}

.ripro-dark .article-footer {
    background-color: #1d1e1f;
}

.ripro-dark .filter-tag li a {
    background: #2a2a2a;
    color: #888;
}

.ripro-dark .filter-tag li a:hover,
.ripro-dark .filter-tag li a.on {
    background: var(--accent-color);
    color: #fff;
}

.ripro-dark .numeric-pagination .page-numbers li a,
.ripro-dark .numeric-pagination .page-numbers li span {
    background: #1d1e1f;
    color: #eee;
}

.ripro-dark .navigation a {
    background: #1d1e1f;
    color: #eee;
}

.ripro-dark .rollbar .rollbar-item {
    background-color: #1d1e1f;
    color: #fff;
}

.ripro-dark .rollbar .rollbar-item a {
    color: #fff;
}

.ripro-dark .rollbar .rollbar-item:hover {
    background-color: var(--accent-color);
}

.ripro-dark #crumbs,
.ripro-dark .breadcrumbs {
    color: #888;
}

.ripro-dark .dimmer {
    background-color: rgba(0, 0, 0, 0.7);
}

/* ==========================================================================
   Scrollbar
   ========================================================================== */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background-color: #f5f5f5;
}

::-webkit-scrollbar-thumb {
    background-color: #ccc;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background-color: #aaa;
}

/* ==========================================================================
   Module Parallax Banner
   ========================================================================== */
.module.parallax {
    background-color: #1a1a2e;
    margin: 30px 0;
    overflow: hidden;
    padding: 60px 0;
    position: relative;
    text-align: center;
}

.module.parallax img {
    bottom: 0;
    height: 100%;
    left: 0;
    min-height: 100%;
    min-width: 100%;
    object-fit: cover;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
}

.module.parallax .entry-title {
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 20px;
    position: relative;
}

.module.parallax .button {
    position: relative;
    margin: 0 10px;
}

@media (max-width: 767px) {
    .module.parallax {
        padding: 40px 0;
    }

    .module.parallax .entry-title {
        font-size: 18px;
    }
}

/* ===== MoyuPro original skin ===== */
:root{--mp-primary:#7c3aed;--mp-cyan:#06b6d4;--mp-pink:#ec4899;--mp-dark:#0f172a;--mp-muted:#64748b;--mp-card:#fff;--mp-soft:#f8fafc;--mp-line:#e2e8f0;--mp-radius:18px;--mp-shadow:0 18px 45px rgba(15,23,42,.08)}
body.moyupro-body{background:#f5f7fb;color:#172033}.ripro-dark{--mp-card:#151a28;--mp-soft:#0f172a;--mp-line:#293247;color:#e5e7eb;background:#080b13}.moyupro-site a{text-decoration:none}.moyupro-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(226,232,240,.65)}.ripro-dark .moyupro-header{background:rgba(15,23,42,.78);border-color:#1f2937}.moyupro-nav-wrap{height:72px;display:flex;align-items:center;gap:28px}.moyupro-logo{display:inline-flex;align-items:center;font-size:22px;font-weight:900;letter-spacing:-.04em;color:#111827}.moyupro-logo span{padding:4px 8px;border-radius:10px;background:linear-gradient(135deg,var(--mp-primary),var(--mp-cyan));color:#fff;margin-right:4px}.moyupro-logo strong{color:var(--mp-primary)}.moyupro-menu{flex:1}.moyupro-menu ul{display:flex;gap:22px;align-items:center;list-style:none;margin:0;padding:0}.moyupro-menu a{font-weight:700;color:inherit}.moyupro-nav-actions{display:flex;align-items:center;gap:10px}.moyupro-icon-btn,.moyupro-burger{border:0;background:var(--mp-soft);border-radius:999px;width:38px;height:38px;color:inherit}.moyupro-login,.moyupro-user{display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border-radius:999px;background:linear-gradient(135deg,var(--mp-primary),var(--mp-pink));color:#fff!important;font-weight:800}.moyupro-user img{border-radius:50%}.moyupro-search-panel{position:fixed;inset:0;background:rgba(15,23,42,.82);z-index:100;display:none;align-items:center;justify-content:center}.search-open .moyupro-search-panel{display:flex}.moyupro-search-panel form{width:min(720px,92vw);display:flex;background:#fff;border-radius:24px;padding:12px;box-shadow:0 30px 80px rgba(0,0,0,.35)}.moyupro-search-panel input{flex:1;border:0;padding:0 18px;font-size:22px;outline:0}.moyupro-search-panel button[type=submit]{border:0;border-radius:16px;background:var(--mp-primary);color:#fff;padding:14px 26px;font-weight:800}.search-close{position:absolute;top:28px;right:32px;width:48px;height:48px;border:0;border-radius:50%;font-size:28px}.moyupro-hero{padding:54px 0 28px;background:radial-gradient(circle at 20% 0,rgba(124,58,237,.24),transparent 32%),radial-gradient(circle at 80% 10%,rgba(6,182,212,.22),transparent 30%)}.moyupro-hero-card{position:relative;overflow:hidden;border-radius:32px;padding:54px;background:linear-gradient(135deg,#111827,#312e81 58%,#0e7490);color:#fff;box-shadow:0 28px 80px rgba(49,46,129,.32)}.moyupro-hero-card:after{content:"";position:absolute;right:-120px;top:-120px;width:360px;height:360px;border-radius:50%;background:rgba(255,255,255,.12)}.eyebrow{display:inline-flex;font-size:12px;font-weight:900;letter-spacing:.12em;color:#a5f3fc;margin-bottom:12px}.moyupro-hero h1{font-size:clamp(34px,6vw,68px);line-height:1.04;margin:0 0 18px;letter-spacing:-.06em}.moyupro-hero p{font-size:18px;opacity:.86;max-width:620px}.moyupro-hero-search{display:flex;align-items:center;gap:12px;background:#fff;color:#111827;border-radius:20px;padding:10px 10px 10px 18px;margin-top:26px;max-width:680px}.moyupro-hero-search input{flex:1;border:0;outline:0;font-size:16px}.moyupro-hero-search button,.moyupro-btn{border:0;border-radius:14px;background:linear-gradient(135deg,var(--mp-primary),var(--mp-pink));color:#fff!important;padding:13px 20px;font-weight:900;display:inline-flex;justify-content:center;align-items:center;gap:8px}.moyupro-btn.ghost{background:#eef2ff;color:#4338ca!important}.moyupro-btn.light{background:#fff;color:#4c1d95!important}.moyupro-hotwords{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.moyupro-hotwords a{color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);padding:6px 12px;border-radius:999px}.moyupro-hero-stats{display:flex;gap:16px;margin-top:28px}.moyupro-hero-stats div{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:16px 22px}.moyupro-hero-stats strong{display:block;font-size:26px}.moyupro-hero-stats span{opacity:.8}.moyupro-section{padding:34px 0}.moyupro-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.moyupro-section-head h2,.moyupro-archive-head h1{font-size:30px;letter-spacing:-.04em;margin:0}.moyupro-section-head p,.moyupro-archive-head p{color:var(--mp-muted);margin:6px 0 0}.moyupro-pills{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.moyupro-pill{background:var(--mp-card);border:1px solid var(--mp-line);border-radius:18px;padding:18px;box-shadow:var(--mp-shadow);display:flex;justify-content:space-between;align-items:center;color:inherit}.moyupro-pill span{font-weight:900}.moyupro-pill em{font-style:normal;color:var(--mp-primary);font-weight:900}.moyupro-featured-grid{display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:18px}.moyupro-feature-card{min-height:280px;border-radius:28px;background-size:cover;background-position:center;overflow:hidden;box-shadow:var(--mp-shadow)}.moyupro-feature-card:first-child{min-height:360px}.moyupro-feature-card a{height:100%;display:flex;flex-direction:column;justify-content:end;padding:28px;color:#fff!important}.moyupro-feature-card span{align-self:flex-start;background:rgba(255,255,255,.18);padding:6px 12px;border-radius:999px;font-weight:900}.moyupro-feature-card h3{font-size:25px;margin:14px 0 8px}.moyupro-card-grid{row-gap:24px}.moyupro-card{height:100%;background:var(--mp-card);border:1px solid var(--mp-line);border-radius:22px;overflow:hidden;box-shadow:var(--mp-shadow);transition:.25s}.moyupro-card:hover{transform:translateY(-6px);box-shadow:0 22px 55px rgba(124,58,237,.18)}.moyupro-card-thumb{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#e5e7eb}.moyupro-card-thumb img{width:100%;height:100%;object-fit:cover;transition:.35s}.moyupro-card:hover img{transform:scale(1.06)}.moyupro-card-thumb b{position:absolute;right:12px;top:12px;background:linear-gradient(135deg,#f97316,#ec4899);color:#fff;border-radius:999px;padding:6px 10px;font-size:12px}.moyupro-card-body{padding:16px}.moyupro-cat{font-size:12px;font-weight:900;color:var(--mp-primary)}.moyupro-card h3{font-size:17px;line-height:1.35;margin:8px 0}.moyupro-card h3 a{color:inherit}.moyupro-card p{color:var(--mp-muted);font-size:13px;min-height:38px}.moyupro-card-meta{display:flex;justify-content:space-between;color:var(--mp-muted);font-size:12px;border-top:1px solid var(--mp-line);padding-top:12px}.moyupro-more{text-align:center;margin-top:24px}.moyupro-more a{display:inline-flex;border:1px solid var(--mp-line);background:var(--mp-card);border-radius:999px;padding:12px 24px;font-weight:900;color:inherit}.moyupro-vip-card{border-radius:30px;background:linear-gradient(135deg,#7c3aed,#06b6d4);color:#fff;padding:36px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 24px 70px rgba(6,182,212,.22)}.moyupro-vip-card h2{font-size:34px;margin:0 0 8px}.moyupro-archive{padding:42px 0}.moyupro-archive-head{background:var(--mp-card);border:1px solid var(--mp-line);border-radius:26px;padding:32px;margin-bottom:26px;box-shadow:var(--mp-shadow)}.moyupro-single-head{min-height:430px;background-size:cover;background-position:center;border-radius:0 0 38px 38px;color:#fff;display:flex;align-items:end;margin-bottom:32px}.moyupro-single-head>div{width:min(1160px,calc(100% - 30px));margin:0 auto;padding:0 0 44px}.moyupro-single-head h1{font-size:clamp(30px,5vw,54px);letter-spacing:-.05em;max-width:900px}.moyupro-single-meta{display:flex;gap:18px;flex-wrap:wrap;opacity:.9}.moyupro-breadcrumbs a,.moyupro-breadcrumbs{color:#fff}.moyupro-single-layout{width:min(1160px,calc(100% - 30px));margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:26px}.moyupro-article,.moyupro-download-box{background:var(--mp-card);border:1px solid var(--mp-line);border-radius:24px;box-shadow:var(--mp-shadow)}.moyupro-article{padding:32px}.moyupro-article .entry-content{font-size:16px;line-height:1.9}.moyupro-download-box{padding:22px;position:sticky;top:92px;align-self:start}.moyupro-download-box h3{margin-top:0}.moyupro-download-box ul{list-style:none;padding:0;margin:0 0 18px}.moyupro-download-box li{display:flex;justify-content:space-between;border-bottom:1px dashed var(--mp-line);padding:11px 0}.moyupro-download-box span{color:var(--mp-muted)}.moyupro-download-box .moyupro-btn,.moyupro-fav{width:100%;margin-top:10px}.moyupro-fav{border:1px solid var(--mp-line);background:var(--mp-soft);border-radius:14px;padding:13px 18px;font-weight:900;color:inherit}.moyupro-fav.active{background:#fce7f3;color:#be185d}.moyupro-footer{margin-top:50px;background:#0f172a;color:#cbd5e1;padding:46px 0}.moyupro-footer-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:30px}.moyupro-footer a{color:#c4b5fd}.rollbar{position:fixed;right:22px;bottom:26px;display:none;z-index:80}.rollbar-item{width:42px;height:42px;border-radius:14px;background:var(--mp-card);box-shadow:var(--mp-shadow);display:flex;align-items:center;justify-content:center;margin-top:8px;cursor:pointer}.user-shell{display:grid;grid-template-columns:260px 1fr;gap:24px;padding:42px 0}.user-card,.user-panel{background:var(--mp-card);border:1px solid var(--mp-line);border-radius:24px;box-shadow:var(--mp-shadow);padding:24px}.user-card{text-align:center}.user-card img{border-radius:50%;width:86px;height:86px}.user-nav a{display:block;padding:12px 14px;border-radius:14px;color:inherit;font-weight:800}.user-nav a:hover,.user-nav a.active{background:linear-gradient(135deg,rgba(124,58,237,.12),rgba(6,182,212,.12));color:var(--mp-primary)}@media(max-width:992px){.moyupro-menu{display:none}.moyupro-pills{grid-template-columns:repeat(3,1fr)}.moyupro-featured-grid,.moyupro-single-layout,.user-shell,.moyupro-footer-grid{grid-template-columns:1fr}.moyupro-download-box{position:static}.moyupro-hero-card{padding:32px}.moyupro-vip-card{display:block}.moyupro-single-head{min-height:330px}}@media(max-width:576px){.moyupro-pills{grid-template-columns:repeat(2,1fr)}.moyupro-hero-search{display:block}.moyupro-hero-search input{width:100%;padding:10px 0}.moyupro-hero-search button{width:100%}.moyupro-hero-stats{display:grid;grid-template-columns:1fr}.moyupro-section-head{display:block}.moyupro-user span{display:none}}

/* ===== MoyuPro auth page ===== */
.moyupro-auth-page{position:relative;overflow:hidden;min-height:calc(100vh - 72px);padding:56px 0;background:linear-gradient(135deg,#0f172a,#312e81 58%,#0e7490);color:#fff}.moyupro-auth-bg{position:absolute;inset:0;background:radial-gradient(circle at 18% 12%,rgba(236,72,153,.3),transparent 28%),radial-gradient(circle at 82% 8%,rgba(6,182,212,.28),transparent 26%)}.moyupro-auth-wrap{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:42px;align-items:center}.moyupro-auth-copy h1{font-size:clamp(40px,7vw,76px);line-height:1.02;letter-spacing:-.07em;margin:0 0 20px}.moyupro-auth-copy p{max-width:620px;font-size:18px;line-height:1.8;color:rgba(255,255,255,.82)}.moyupro-auth-points{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px;max-width:760px}.moyupro-auth-points div{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:20px;padding:18px;backdrop-filter:blur(12px)}.moyupro-auth-points i{font-size:22px;color:#a5f3fc}.moyupro-auth-points strong{display:block;margin-top:10px}.moyupro-auth-points span{display:block;font-size:13px;color:rgba(255,255,255,.72);margin-top:4px}.moyupro-auth-card{background:rgba(255,255,255,.96);color:#111827;border-radius:30px;padding:32px;box-shadow:0 30px 90px rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.32)}.moyupro-auth-logo{display:inline-flex;align-items:center;font-size:22px;font-weight:900;letter-spacing:-.04em;margin-bottom:18px}.moyupro-auth-logo span{padding:4px 8px;border-radius:10px;background:linear-gradient(135deg,#7c3aed,#06b6d4);color:#fff;margin-right:4px}.moyupro-auth-logo strong{color:#7c3aed}.moyupro-auth-card h2{font-size:30px;letter-spacing:-.04em;margin:0}.moyupro-auth-card .muted{color:#64748b;margin:6px 0 22px}.moyupro-login-form label{display:block;font-weight:900;margin-bottom:14px}.moyupro-login-form input[type=text],.moyupro-login-form input[type=password]{display:block;width:100%;margin-top:7px;padding:14px 15px;border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc;outline:0}.moyupro-login-form input:focus{border-color:#7c3aed;box-shadow:0 0 0 4px rgba(124,58,237,.12)}.moyupro-auth-row{display:flex;justify-content:space-between;align-items:center;margin:4px 0 18px;font-size:14px}.moyupro-auth-row .remember{display:flex;align-items:center;gap:6px;margin:0;font-weight:700}.moyupro-auth-row a{color:#7c3aed;font-weight:800}.moyupro-auth-submit{width:100%;border:0;cursor:pointer;font-size:16px}.moyupro-auth-foot{margin-top:18px;padding-top:18px;border-top:1px solid #e2e8f0;color:#64748b;text-align:center}.moyupro-auth-foot a{color:#7c3aed;font-weight:900}.moyupro-auth-error{background:#fff1f2;color:#be123c;border:1px solid #fecdd3;border-radius:14px;padding:12px 14px;margin-bottom:16px;font-weight:800}@media(max-width:992px){.moyupro-auth-wrap{grid-template-columns:1fr}.moyupro-auth-points{grid-template-columns:1fr}.moyupro-auth-card{max-width:520px;width:100%;margin:0 auto}.moyupro-auth-page{padding:34px 0}}

/* Login page hardening: clean mobile/desktop layout */
body.moyupro-login-standalone{margin:0;background:#0f172a;overflow-x:hidden}.moyupro-login-standalone .moyupro-auth-page{min-height:100vh;padding:0;display:flex;align-items:center}.moyupro-login-standalone .container{width:min(1120px,calc(100% - 32px));margin:0 auto}.moyupro-login-standalone .moyupro-auth-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,430px);gap:42px;align-items:center}.moyupro-login-standalone .moyupro-auth-copy{min-width:0}.moyupro-login-standalone .moyupro-auth-copy h1{font-size:clamp(42px,6vw,72px);line-height:1.05;margin:0 0 18px;word-break:keep-all}.moyupro-login-standalone .moyupro-auth-copy p{font-size:17px;line-height:1.75}.moyupro-login-standalone .moyupro-auth-card{width:100%;box-sizing:border-box}.moyupro-login-standalone .moyupro-login-form input[type=text],.moyupro-login-standalone .moyupro-login-form input[type=password]{box-sizing:border-box}.moyupro-login-standalone .moyupro-auth-row{gap:12px}.moyupro-login-standalone .moyupro-auth-row .remember{white-space:nowrap}.moyupro-login-standalone .moyupro-auth-points{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.moyupro-login-standalone .moyupro-auth-page{align-items:flex-start;padding:22px 0}.moyupro-login-standalone .container{width:min(480px,calc(100% - 28px))}.moyupro-login-standalone .moyupro-auth-wrap{display:block}.moyupro-login-standalone .moyupro-auth-copy{display:none}.moyupro-login-standalone .moyupro-auth-card{margin:0 auto;padding:26px 22px;border-radius:24px;box-shadow:0 20px 70px rgba(0,0,0,.34)}.moyupro-login-standalone .moyupro-auth-logo{display:flex;justify-content:center;margin-bottom:16px}.moyupro-login-standalone .moyupro-auth-card h2{text-align:center;font-size:28px}.moyupro-login-standalone .moyupro-auth-card .muted{text-align:center}.moyupro-login-standalone .moyupro-auth-row{align-items:center}.moyupro-login-standalone .moyupro-auth-row a{white-space:nowrap}.moyupro-login-standalone .moyupro-auth-bg{position:fixed}}
@media(max-width:420px){.moyupro-login-standalone .container{width:calc(100% - 20px)}.moyupro-login-standalone .moyupro-auth-card{padding:22px 18px;border-radius:22px}.moyupro-login-standalone .moyupro-auth-row{font-size:13px}.moyupro-login-standalone .moyupro-auth-foot{font-size:13px}.moyupro-login-standalone .moyupro-auth-card h2{font-size:25px}}

/* Login remember checkbox fix */
.moyupro-login-standalone .moyupro-login-form label:not(.remember){display:block;margin:0 0 16px;font-weight:900;line-height:1.4}.moyupro-login-standalone .moyupro-login-form label:not(.remember) input[type=text],.moyupro-login-standalone .moyupro-login-form label:not(.remember) input[type=password]{display:block;width:100%;margin-top:8px}.moyupro-login-standalone .moyupro-auth-row{display:flex!important;align-items:center!important;justify-content:space-between!important;margin:2px 0 18px!important;clear:both!important;min-height:24px!important}.moyupro-login-standalone .moyupro-auth-row .remember{display:inline-flex!important;align-items:center!important;gap:7px!important;margin:0!important;padding:0!important;font-weight:700!important;line-height:1!important;color:#475569!important}.moyupro-login-standalone .moyupro-auth-row .remember input[type=checkbox]{display:inline-block!important;width:16px!important;height:16px!important;min-width:16px!important;margin:0!important;padding:0!important;position:static!important;vertical-align:middle!important;appearance:auto!important}.moyupro-login-standalone .moyupro-auth-row a{line-height:1!important;white-space:nowrap!important}
@media(max-width:420px){.moyupro-login-standalone .moyupro-auth-row{margin-top:0!important;margin-bottom:16px!important}.moyupro-login-standalone .moyupro-auth-row .remember input[type=checkbox]{width:15px!important;height:15px!important;min-width:15px!important}}

/* ===== 编辑推荐横向轮播 ===== */
.moyupro-featured-scroll {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-bottom: 8px;
}
.moyupro-featured-scroll::-webkit-scrollbar { display: none; }

.moyupro-featured-slide {
  flex: 0 0 280px;
  scroll-snap-align: start;
  border-radius: 20px;
  overflow: hidden;
  background: var(--mp-card);
  border: 1px solid var(--mp-line);
  box-shadow: var(--mp-shadow);
  transition: transform .25s;
  text-decoration: none;
  color: #172033;
  display: flex;
  flex-direction: column;
}
.moyupro-featured-slide:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(124,58,237,.18);
}

.moyupro-featured-slide-img {
  width: 100%;
  min-height: 180px;
  aspect-ratio: 16/9;
  background-size: cover;
  background-position: center;
  display: block;
}

.moyupro-featured-slide-body {
  padding: 14px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.moyupro-featured-slide-badge {
  align-self: flex-start;
  font-size: 11px;
  font-weight: 800;
  background: linear-gradient(135deg, #f97316, #ec4899);
  color: #fff;
  border-radius: 999px;
  padding: 3px 10px;
}

.moyupro-featured-slide-title {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.moyupro-featured-slide-desc {
  font-size: 13px;
  color: var(--mp-muted);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media (max-width: 576px) {
  .moyupro-featured-slide { flex: 0 0 240px; }
}

/* ripro-dark 下轮播卡片颜色修复 */
.ripro-dark .moyupro-featured-slide { color: #e5e7eb; }
.ripro-dark .moyupro-featured-slide-title { color: #e5e7eb; }
.ripro-dark .moyupro-featured-slide-desc { color: #94a3b8; }

/* ===== 个人中心菜单横向优化 ===== */
.user-shell{grid-template-columns:1fr;gap:18px;padding:36px 0}.user-card{display:grid;grid-template-columns:92px minmax(0,1fr);grid-template-areas:avatar name avatar email nav nav;align-items:center;text-align:left;padding:22px 24px}.user-card>img{grid-area:avatar;width:76px!important;height:76px!important;border-radius:24px;box-shadow:0 12px 32px rgba(124,58,237,.22)}.user-card>h2{grid-area:name;margin:0 0 6px;font-size:24px;letter-spacing:-.03em}.user-card>p{grid-area:email;margin:0;color:var(--mp-muted)}.user-nav{grid-area:nav;display:flex;gap:10px;flex-wrap:wrap;margin-top:20px;padding-top:18px;border-top:1px solid var(--mp-line)}.user-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 18px;border-radius:999px;background:var(--mp-soft);border:1px solid var(--mp-line);color:inherit;font-weight:900;white-space:nowrap;transition:.22s}.user-nav a:hover,.user-nav a.active{background:linear-gradient(135deg,var(--mp-primary),var(--mp-pink));border-color:transparent;color:#fff!important;box-shadow:0 12px 28px rgba(124,58,237,.22);transform:translateY(-2px)}.user-panel{padding:28px}.ripro-dark .user-nav a{background:#0f172a}
@media(max-width:576px){.user-shell{padding:22px 0}.user-card{grid-template-columns:62px minmax(0,1fr);grid-template-areas:avatar name avatar email nav nav;padding:18px}.user-card>img{width:54px!important;height:54px!important;border-radius:18px}.user-card>h2{font-size:20px}.user-card>p{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-nav{flex-wrap:nowrap;overflow-x:auto;margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px;scrollbar-width:none}.user-nav::-webkit-scrollbar{display:none}.user-nav a{padding:9px 15px;min-height:38px}.user-panel{padding:20px}}

/* ===== 个人中心折叠菜单，避免账号信息挤压 ===== */
.user-card{grid-template-columns:76px minmax(0,1fr) auto;grid-template-areas:avatar name toggle avatar email toggle nav nav nav;gap:0 16px}.user-card>h2{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-card>p{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-nav-toggle{grid-area:toggle;align-self:center;border:1px solid var(--mp-line);background:linear-gradient(135deg,rgba(124,58,237,.1),rgba(6,182,212,.1));color:inherit;border-radius:999px;padding:10px 16px;font-weight:900;display:inline-flex;align-items:center;gap:8px;cursor:pointer;white-space:nowrap}.user-nav-toggle i{font-style:normal;font-size:18px;line-height:1;transition:transform .2s}.user-card.nav-open .user-nav-toggle i{transform:rotate(180deg)}.user-nav{display:none}.user-card.nav-open .user-nav{display:flex}.user-card.nav-open{padding-bottom:22px}
@media(max-width:576px){.user-card{grid-template-columns:54px minmax(0,1fr);grid-template-areas:avatar name avatar email toggle toggle nav nav;gap:0 12px}.user-nav-toggle{margin-top:14px;justify-content:center;width:100%;box-sizing:border-box}.user-card.nav-open .user-nav{display:flex}.user-nav{margin-top:14px!important}}

/* ===== 个人中心折叠菜单布局修正 ===== */
.user-card{
  grid-template-columns:76px minmax(0,1fr) auto;
  grid-template-areas:
    "avatar name toggle"
    "avatar email toggle"
    "nav nav nav";
  gap:0 16px;
}
.user-card>img{grid-area:avatar;}
.user-card>h2{grid-area:name;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.user-card>p{grid-area:email;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.user-nav-toggle{grid-area:toggle;}
.user-nav{grid-area:nav;display:none;}
.user-card.nav-open .user-nav{display:flex;}
@media(max-width:576px){
  .user-card{
    grid-template-columns:54px minmax(0,1fr);
    grid-template-areas:
      "avatar name"
      "avatar email"
      "toggle toggle"
      "nav nav";
    gap:0 12px;
  }
}

/* ===== 个人中心头像选择 ===== */
.moyupro-preset-avatar{object-fit:cover}.moyupro-avatar-picker{margin:0 0 24px;padding:20px;border:1px solid var(--mp-line);border-radius:22px;background:linear-gradient(135deg,rgba(124,58,237,.06),rgba(6,182,212,.05))}.moyupro-field-label{display:block;margin-bottom:14px;font-weight:900;color:inherit}.moyupro-avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:12px}.moyupro-avatar-option{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 8px;border:1px solid var(--mp-line);border-radius:18px;background:var(--mp-card);cursor:pointer;transition:.2s;user-select:none}.moyupro-avatar-option:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(124,58,237,.16)}.moyupro-avatar-option input{position:absolute;opacity:0;pointer-events:none}.moyupro-avatar-option span{width:72px;height:72px;border-radius:22px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--mp-soft)}.moyupro-avatar-option img,.moyupro-avatar-option .avatar{width:72px!important;height:72px!important;border-radius:22px!important;display:block}.moyupro-avatar-option em{font-style:normal;font-size:12px;color:var(--mp-muted);font-weight:800}.moyupro-avatar-option.is-checked{border-color:rgba(124,58,237,.75);box-shadow:0 0 0 3px rgba(124,58,237,.14),0 14px 34px rgba(124,58,237,.18)}.moyupro-avatar-option.is-checked:after{content:'✓';position:absolute;right:8px;top:8px;width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,var(--mp-primary),var(--mp-pink));color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:900}.moyupro-avatar-default .moyupro-preset-avatar{display:none}
@media(max-width:576px){.moyupro-avatar-grid{grid-template-columns:repeat(3,1fr);gap:10px}.moyupro-avatar-picker{padding:14px}.moyupro-avatar-option span,.moyupro-avatar-option img,.moyupro-avatar-option .avatar{width:58px!important;height:58px!important;border-radius:18px!important}.moyupro-avatar-option{padding:10px 6px}}
.moyupro-avatar-default{font-size:18px;font-weight:900;color:#fff;background:linear-gradient(135deg,var(--mp-primary),var(--mp-cyan))!important;}

/* ===== 头像弹窗选择 ===== */
.user-avatar-trigger{grid-area:avatar;position:relative;width:76px;height:76px;border:0;background:transparent;padding:0;border-radius:24px;display:block;cursor:pointer;text-decoration:none;color:#fff;overflow:hidden}.user-avatar-trigger img{width:76px!important;height:76px!important;border-radius:24px!important;display:block;object-fit:cover}.user-avatar-trigger span{position:absolute;left:0;right:0;bottom:0;padding:5px 2px;background:rgba(15,23,42,.68);backdrop-filter:blur(8px);font-size:11px;font-weight:900;text-align:center;color:#fff;opacity:0;transition:.2s}.user-avatar-trigger:hover span{opacity:1}.moyupro-avatar-current{margin:0 0 24px;padding:20px;border:1px solid var(--mp-line);border-radius:22px;background:linear-gradient(135deg,rgba(124,58,237,.06),rgba(6,182,212,.05))}.moyupro-avatar-current>label{display:block;margin-bottom:12px;font-weight:900}.moyupro-avatar-preview{position:relative;width:96px;height:96px;border:0;border-radius:26px;padding:0;overflow:hidden;background:var(--mp-soft);cursor:pointer;display:block}.moyupro-avatar-preview img{width:96px!important;height:96px!important;border-radius:26px!important;object-fit:cover;display:block}.moyupro-avatar-preview span{position:absolute;left:0;right:0;bottom:0;padding:7px 4px;background:rgba(15,23,42,.72);color:#fff;font-size:12px;font-weight:900}.moyupro-avatar-current p{margin:10px 0 0;color:var(--mp-muted);font-size:13px}.moyupro-avatar-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:18px}.moyupro-avatar-modal.is-open{display:flex}.moyupro-avatar-modal-mask{position:absolute;inset:0;background:rgba(15,23,42,.72);backdrop-filter:blur(10px)}.moyupro-avatar-modal-box{position:relative;z-index:1;width:min(760px,96vw);max-height:88vh;overflow:auto;background:var(--mp-card);border:1px solid var(--mp-line);border-radius:28px;box-shadow:0 30px 90px rgba(0,0,0,.35);padding:22px}.moyupro-avatar-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.moyupro-avatar-modal-head strong{font-size:22px}.moyupro-avatar-modal-head p{margin:5px 0 0;color:var(--mp-muted);font-size:13px}.moyupro-avatar-modal-head button{border:0;width:38px;height:38px;border-radius:50%;background:var(--mp-soft);color:inherit;font-size:24px;cursor:pointer}.moyupro-avatar-grid-modal{max-height:420px;overflow:auto;padding:3px}.moyupro-avatar-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--mp-line)}.moyupro-avatar-modal .moyupro-btn.ghost{background:var(--mp-soft);color:inherit!important}.avatar-modal-open{overflow:hidden}
@media(max-width:576px){.user-avatar-trigger{width:54px;height:54px;border-radius:18px}.user-avatar-trigger img{width:54px!important;height:54px!important;border-radius:18px!important}.user-avatar-trigger span{display:none}.moyupro-avatar-modal-box{padding:16px;border-radius:22px}.moyupro-avatar-modal-actions{position:sticky;bottom:-16px;background:var(--mp-card);padding-bottom:2px}.moyupro-avatar-modal-actions .moyupro-btn{flex:1}.moyupro-avatar-preview{width:82px;height:82px}.moyupro-avatar-preview img{width:82px!important;height:82px!important;border-radius:22px!important}}

/* ===== 手机端 Hero 搜索框：放大镜固定在输入框内 ===== */
@media(max-width:576px){
  .moyupro-hero-search{
    display:grid!important;
    grid-template-columns:22px minmax(0,1fr);
    gap:8px 10px;
    align-items:center;
    padding:12px!important;
  }
  .moyupro-hero-search i{
    grid-column:1;
    grid-row:1;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#64748b;
  }
  .moyupro-hero-search input{
    grid-column:2;
    grid-row:1;
    width:100%!important;
    padding:8px 0!important;
    min-width:0;
  }
  .moyupro-hero-search button{
    grid-column:1 / -1;
    grid-row:2;
    width:100%!important;
  }
}


/* MoyuPro resource download box v1 */
.moyupro-download-v1{overflow:hidden;position:sticky;top:92px;padding:0!important;border:1px solid rgba(124,58,237,.16)!important;background:linear-gradient(180deg,rgba(124,58,237,.08),rgba(255,255,255,.92) 34%,var(--mp-card) 100%)!important}
.moyupro-download-head{padding:22px 22px 12px}.moyupro-download-kicker{display:inline-flex;font-size:11px;font-weight:900;letter-spacing:.16em;color:#7c3aed;background:rgba(124,58,237,.12);border-radius:999px;padding:5px 9px;margin-bottom:10px}.moyupro-download-head h3{margin:0 0 8px;font-size:22px;letter-spacing:-.03em}.moyupro-download-head p{margin:0;color:var(--mp-muted);font-size:13px;line-height:1.65}.moyupro-resource-list{padding:0 22px!important;margin:0 0 16px!important}.moyupro-resource-list li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0!important;border-bottom:1px dashed var(--mp-line)!important}.moyupro-resource-list li:last-child{border-bottom:0!important}.moyupro-resource-list span{font-size:13px;color:var(--mp-muted)}.moyupro-resource-list b{font-size:14px;text-align:right;color:inherit;word-break:break-all}.moyupro-download-actions{display:grid;gap:10px;padding:0 22px 18px}.moyupro-download-actions .moyupro-btn,.moyupro-download-actions .moyupro-fav{width:100%;margin:0}.moyupro-download-primary{box-shadow:0 12px 28px rgba(124,58,237,.24)}.moyupro-download-note{border-top:1px solid var(--mp-line);background:rgba(15,23,42,.035);padding:14px 22px;color:var(--mp-muted);font-size:12px;line-height:1.6}.ripro-dark .moyupro-download-v1{background:linear-gradient(180deg,rgba(124,58,237,.18),rgba(15,23,42,.92) 36%,var(--mp-card) 100%)!important;border-color:#2b3350!important}.ripro-dark .moyupro-download-note{background:rgba(255,255,255,.04)}@media(max-width:992px){.moyupro-download-v1{position:static}}


/* MoyuPro archive filter bar */
.moyupro-filter-bar{background:var(--mp-card);border:1px solid var(--mp-line);border-radius:24px;box-shadow:var(--mp-shadow);padding:16px 18px;margin:-8px 0 26px;overflow:hidden}.moyupro-filter-row{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;align-items:start;padding:10px 0;border-bottom:1px dashed var(--mp-line)}.moyupro-filter-row:last-child{border-bottom:0}.moyupro-filter-row.compact{padding:8px 0}.moyupro-filter-label{font-weight:900;color:var(--mp-muted);font-size:13px;line-height:34px;white-space:nowrap}.moyupro-filter-label i{color:var(--mp-primary);margin-right:6px}.moyupro-filter-scroll{display:flex;flex-wrap:wrap;gap:8px}.moyupro-filter-scroll a{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:7px 12px;border-radius:999px;background:var(--mp-soft);border:1px solid transparent;color:inherit;font-size:13px;font-weight:800;white-space:nowrap}.moyupro-filter-scroll a em{font-style:normal;font-size:11px;color:var(--mp-muted)}.moyupro-filter-scroll a:hover,.moyupro-filter-scroll a.active{background:linear-gradient(135deg,rgba(124,58,237,.14),rgba(6,182,212,.12));border-color:rgba(124,58,237,.22);color:var(--mp-primary)}@media(max-width:768px){.moyupro-filter-bar{padding:12px;margin-bottom:18px;border-radius:18px}.moyupro-filter-row{grid-template-columns:1fr;gap:6px;padding:9px 0}.moyupro-filter-label{line-height:1.4}.moyupro-filter-scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.moyupro-filter-scroll::-webkit-scrollbar{display:none}.moyupro-filter-scroll a{font-size:12px;padding:7px 11px}.moyupro-archive-head{padding:22px!important;margin-bottom:18px!important}}


/* MoyuPro live search */
.moyupro-live-search-wrap{position:relative}.moyupro-live-search{position:absolute;left:0;right:0;top:calc(100% + 10px);z-index:80;background:var(--mp-card);border:1px solid var(--mp-line);border-radius:20px;box-shadow:0 22px 55px rgba(15,23,42,.18);padding:8px;display:none;text-align:left;overflow:hidden}.moyupro-live-search.show{display:block}.moyupro-live-item{display:grid;grid-template-columns:58px 1fr;gap:12px;align-items:center;padding:9px;border-radius:15px;color:inherit}.moyupro-live-item:hover{background:var(--mp-soft);color:inherit}.moyupro-live-thumb{width:58px;height:44px;border-radius:12px;background-size:cover;background-position:center;background-color:var(--mp-soft)}.moyupro-live-body{min-width:0;display:grid;gap:2px}.moyupro-live-body b{font-size:14px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.moyupro-live-body em{font-style:normal;font-size:12px;color:var(--mp-primary);font-weight:800}.moyupro-live-body small{font-size:12px;color:var(--mp-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.moyupro-live-empty{padding:18px 14px;color:var(--mp-muted);font-size:13px}.moyupro-live-more{display:block;margin:5px 4px 2px;padding:11px 12px;border-radius:13px;background:linear-gradient(135deg,rgba(124,58,237,.12),rgba(6,182,212,.10));color:var(--mp-primary);font-weight:900;text-align:center}.moyupro-search-panel form .moyupro-live-search,.search-form .moyupro-live-search{top:calc(100% + 8px)}@media(max-width:768px){.moyupro-live-search{left:0;right:0;max-height:70vh;overflow:auto;border-radius:16px}.moyupro-live-item{grid-template-columns:50px 1fr}.moyupro-live-thumb{width:50px;height:40px}.moyupro-live-body small{display:none}}


/* MoyuPro user dashboard */
.moyupro-dashboard-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}.moyupro-dashboard-head h2{font-size:32px;letter-spacing:-.04em;margin:0 0 6px}.moyupro-dashboard-head p{margin:0;color:var(--mp-muted)}.moyupro-dashboard-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.moyupro-dashboard-stat{display:block;background:var(--mp-soft);border:1px solid var(--mp-line);border-radius:20px;padding:18px;color:inherit}.moyupro-dashboard-stat span{display:block;color:var(--mp-muted);font-size:13px;font-weight:800}.moyupro-dashboard-stat strong{display:block;font-size:30px;letter-spacing:-.04em;margin:8px 0 2px}.moyupro-dashboard-stat em{font-style:normal;color:var(--mp-primary);font-size:12px;font-weight:900}.moyupro-dashboard-stat.accent{background:linear-gradient(135deg,rgba(124,58,237,.14),rgba(6,182,212,.12));border-color:rgba(124,58,237,.22)}.moyupro-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.moyupro-dashboard-card{background:var(--mp-soft);border:1px solid var(--mp-line);border-radius:22px;padding:20px}.moyupro-card-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.moyupro-card-title h3{margin:0;font-size:18px}.moyupro-card-title a,.moyupro-card-title span{color:var(--mp-primary);font-size:12px;font-weight:900}.moyupro-vip-state{display:grid;gap:5px;padding:16px;border-radius:18px;background:var(--mp-card);border:1px solid var(--mp-line);margin-bottom:14px}.moyupro-vip-state b{font-size:22px}.moyupro-vip-state span{color:var(--mp-muted)}.moyupro-vip-state.active{background:linear-gradient(135deg,#7c3aed,#06b6d4);color:#fff}.moyupro-vip-state.active span{color:rgba(255,255,255,.82)}.moyupro-quick-actions{display:flex;flex-wrap:wrap;gap:10px}.moyupro-quick-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:9px 13px;border-radius:999px;background:var(--mp-card);border:1px solid var(--mp-line);font-weight:900;color:inherit}.moyupro-quick-actions.big a{flex:1 1 42%;border-radius:16px;min-height:48px}.moyupro-mini-list{display:grid;gap:8px}.moyupro-mini-list a,.moyupro-record-list a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border-radius:14px;background:var(--mp-card);border:1px solid var(--mp-line);color:inherit}.moyupro-mini-list span,.moyupro-record-list strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.moyupro-mini-list em,.moyupro-record-list span{font-style:normal;color:var(--mp-muted);font-size:12px;white-space:nowrap}.moyupro-empty-tip{color:var(--mp-muted);margin:0;line-height:1.7}.moyupro-record-list{display:grid;gap:10px}.moyupro-dashboard-stats.vip-page{grid-template-columns:repeat(3,1fr)}@media(max-width:900px){.moyupro-dashboard-stats,.moyupro-dashboard-grid{grid-template-columns:1fr 1fr}.moyupro-dashboard-stats.vip-page{grid-template-columns:1fr}}@media(max-width:576px){.moyupro-dashboard-head{display:block}.moyupro-dashboard-head .moyupro-btn{margin-top:14px}.moyupro-dashboard-stats,.moyupro-dashboard-grid{grid-template-columns:1fr}.moyupro-dashboard-stat strong{font-size:26px}}


/* MoyuPro lightweight toast / interaction states */
.moyupro-fav.loading{opacity:.72;cursor:wait}.moyupro-toast{position:fixed;left:50%;bottom:34px;transform:translate(-50%,18px);z-index:99999;max-width:min(360px,calc(100vw - 32px));padding:12px 16px;border-radius:999px;background:#111827;color:#fff;font-size:14px;font-weight:900;box-shadow:0 18px 45px rgba(15,23,42,.26);opacity:0;pointer-events:none;transition:.22s}.moyupro-toast.show{opacity:1;transform:translate(-50%,0)}.moyupro-toast.ok{background:linear-gradient(135deg,#16a34a,#06b6d4)}.moyupro-toast.warn{background:linear-gradient(135deg,#f97316,#dc2626)}@media(max-width:576px){.moyupro-toast{bottom:22px;border-radius:16px;text-align:center}}


/* MoyuPro resource access states */
.moyupro-download-v1.state-login .moyupro-download-primary{background:linear-gradient(135deg,#2563eb,#06b6d4)}.moyupro-download-v1.state-vip .moyupro-download-primary{background:linear-gradient(135deg,#7c3aed,#ec4899)}.moyupro-download-v1.state-paid .moyupro-download-primary,.moyupro-download-v1.state-missing .moyupro-download-primary{background:linear-gradient(135deg,#f97316,#ef4444)}.moyupro-admin-url{background:rgba(245,158,11,.10)!important;border-color:rgba(245,158,11,.25)!important}.moyupro-admin-url a{color:#d97706;font-weight:900}.moyupro-admin-preview{border:1px dashed rgba(245,158,11,.45)!important;color:#b45309!important;background:rgba(245,158,11,.10)!important}


/* MoyuPro share article modal */
.moyupro-share-entry{margin-top:14px}.moyupro-share-open{width:100%;display:flex;align-items:center;gap:12px;text-align:left;border:1px solid rgba(124,58,237,.22);background:linear-gradient(135deg,rgba(124,58,237,.10),rgba(6,182,212,.08));color:inherit;border-radius:18px;padding:13px 14px;cursor:pointer;transition:.22s}.moyupro-share-open:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(124,58,237,.16)}.moyupro-share-open>i{width:38px;height:38px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--mp-primary),var(--mp-pink));color:#fff;box-shadow:0 10px 24px rgba(124,58,237,.22)}.moyupro-share-open span{display:grid;gap:2px}.moyupro-share-open b{font-size:15px}.moyupro-share-open em{font-style:normal;color:var(--mp-muted);font-size:12px}.moyupro-share-modal{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:18px}.moyupro-share-modal.is-open{display:flex}.moyupro-share-modal-mask{position:absolute;inset:0;background:rgba(15,23,42,.72);backdrop-filter:blur(10px)}.moyupro-share-modal-box{position:relative;z-index:1;width:min(440px,96vw);max-height:92vh;overflow:auto;background:var(--mp-card);border:1px solid var(--mp-line);border-radius:28px;box-shadow:0 30px 90px rgba(0,0,0,.35);padding:18px}.moyupro-share-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.moyupro-share-kicker{display:inline-flex;padding:5px 9px;border-radius:999px;background:rgba(124,58,237,.12);color:var(--mp-primary);font-size:11px;font-weight:1000;letter-spacing:.14em;margin-bottom:8px}.moyupro-share-modal-head h3{margin:0 0 6px;font-size:22px;letter-spacing:-.03em}.moyupro-share-modal-head p{margin:0;color:var(--mp-muted);font-size:13px;line-height:1.55}.moyupro-share-close{border:0;width:38px;height:38px;border-radius:50%;background:var(--mp-soft);color:inherit;font-size:24px;line-height:1;cursor:pointer;flex:0 0 auto}.moyupro-poster-preview{width:100%;background:#fff;color:#111827;border-radius:22px;overflow:hidden;box-shadow:0 18px 45px rgba(15,23,42,.16);border:1px solid rgba(15,23,42,.08)}.moyupro-poster-cover{position:relative;height:180px;background-size:cover;background-position:center;display:flex;align-items:flex-end;justify-content:space-between;padding:16px}.moyupro-poster-cover span,.moyupro-poster-cover b{display:inline-flex;align-items:center;min-height:28px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);font-size:12px;font-weight:1000;color:#111827}.moyupro-poster-cover b{background:linear-gradient(135deg,#7c3aed,#ec4899);color:#fff}.moyupro-poster-body{padding:18px}.moyupro-poster-brand{display:inline-flex;margin-bottom:10px;padding:6px 10px;border-radius:999px;background:linear-gradient(135deg,rgba(124,58,237,.12),rgba(6,182,212,.10));color:#7c3aed;font-size:12px;font-weight:1000}.moyupro-poster-body h4{margin:0 0 10px;font-size:22px;line-height:1.22;letter-spacing:-.04em;color:#111827;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.moyupro-poster-body p{margin:0 0 12px;color:#64748b;font-size:13px;line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.moyupro-poster-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:15px}.moyupro-poster-meta span{padding:5px 8px;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:12px;font-weight:800}.moyupro-poster-foot{display:grid;grid-template-columns:82px 1fr;gap:12px;align-items:center;padding-top:14px;border-top:1px dashed #e2e8f0}.moyupro-poster-foot img{width:82px;height:82px;border-radius:14px;background:#fff;border:1px solid #e2e8f0}.moyupro-poster-foot strong{display:block;font-size:15px;color:#111827;margin-bottom:5px}.moyupro-poster-foot em{display:block;font-style:normal;font-size:12px;color:#64748b;word-break:break-all}.moyupro-share-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.moyupro-share-actions .moyupro-btn{width:100%;margin:0;border:0;cursor:pointer}.moyupro-poster-tip{margin:12px -18px -18px;padding:12px 18px 16px;color:var(--mp-muted);font-size:12px;line-height:1.55;background:rgba(15,23,42,.035);border-top:1px solid var(--mp-line)}.moyupro-poster-rendering{box-shadow:none!important;transform:none!important}.moyupro-share-modal-open{overflow:hidden}.ripro-dark .moyupro-share-modal-box{background:#111827}.ripro-dark .moyupro-poster-tip{background:rgba(255,255,255,.04)}@media(max-width:576px){.moyupro-share-modal{align-items:flex-end;padding:0}.moyupro-share-modal-box{width:100%;max-height:94vh;border-radius:24px 24px 0 0;padding:16px}.moyupro-share-actions{grid-template-columns:1fr}.moyupro-poster-cover{height:150px}.moyupro-poster-body{padding:15px}.moyupro-poster-body h4{font-size:19px}.moyupro-poster-foot{grid-template-columns:72px 1fr}.moyupro-poster-foot img{width:72px;height:72px}.moyupro-poster-tip{margin-left:-16px;margin-right:-16px;margin-bottom:-16px}}

/* MoyuPro home rank module */
.moyupro-rank-section{position:relative}.moyupro-rank-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.moyupro-rank-card{position:relative;overflow:hidden;background:var(--mp-card);border:1px solid var(--mp-line);border-radius:26px;box-shadow:var(--mp-shadow);padding:20px}.moyupro-rank-card:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--mp-primary),var(--mp-cyan));opacity:.9}.moyupro-rank-card.down:before{background:linear-gradient(90deg,#06b6d4,#22c55e)}.moyupro-rank-card.vip:before{background:linear-gradient(90deg,#7c3aed,#ec4899)}.moyupro-rank-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.moyupro-rank-head>span{width:42px;height:42px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(124,58,237,.14),rgba(6,182,212,.12));font-size:20px}.moyupro-rank-head h3{margin:0;font-size:20px;letter-spacing:-.03em}.moyupro-rank-head p{margin:3px 0 0;color:var(--mp-muted);font-size:13px}.moyupro-rank-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.moyupro-rank-list li a{display:grid;grid-template-columns:34px 54px minmax(0,1fr);gap:10px;align-items:center;padding:9px;border-radius:16px;color:inherit;background:var(--mp-soft);border:1px solid transparent;transition:.2s}.moyupro-rank-list li a:hover{transform:translateY(-2px);border-color:rgba(124,58,237,.22);box-shadow:0 12px 26px rgba(15,23,42,.10);color:inherit}.moyupro-rank-num{font-size:14px;font-weight:1000;color:var(--mp-primary);font-variant-numeric:tabular-nums}.moyupro-rank-thumb{width:54px;height:42px;border-radius:12px;background-size:cover;background-position:center;background-color:var(--mp-line)}.moyupro-rank-body{display:grid;gap:3px;min-width:0}.moyupro-rank-body b{font-size:14px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.moyupro-rank-body em{font-style:normal;color:var(--mp-muted);font-size:12px;font-weight:800}.moyupro-rank-empty{margin:0;padding:18px;border-radius:16px;background:var(--mp-soft);color:var(--mp-muted);font-size:13px;line-height:1.7}.ripro-dark .moyupro-rank-card{background:#111827}.ripro-dark .moyupro-rank-list li a{background:#0f172a}@media(max-width:992px){.moyupro-rank-grid{grid-template-columns:1fr}.moyupro-rank-card{border-radius:22px}}@media(max-width:576px){.moyupro-rank-card{padding:16px}.moyupro-rank-list li a{grid-template-columns:30px 48px minmax(0,1fr);gap:8px}.moyupro-rank-thumb{width:48px;height:38px}.moyupro-rank-head h3{font-size:18px}}

/* MoyuPro VIP center */
.moyupro-vip-hero-panel{border-radius:28px;background:linear-gradient(135deg,#111827,#5b21b6 55%,#0891b2);color:#fff;padding:30px;display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:22px;box-shadow:0 24px 65px rgba(91,33,182,.24);overflow:hidden;position:relative}.moyupro-vip-hero-panel:after{content:"";position:absolute;right:-70px;top:-90px;width:230px;height:230px;border-radius:50%;background:rgba(255,255,255,.12)}.moyupro-vip-hero-panel>div,.moyupro-vip-hero-panel>a{position:relative;z-index:1}.moyupro-vip-hero-panel h2{font-size:34px;letter-spacing:-.04em;margin:0 0 8px}.moyupro-vip-hero-panel p{margin:0;color:rgba(255,255,255,.82)}.moyupro-vip-packages{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0}.moyupro-vip-plan{position:relative;background:var(--mp-soft);border:1px solid var(--mp-line);border-radius:24px;padding:22px;box-shadow:var(--mp-shadow);overflow:hidden}.moyupro-vip-plan.is-hot{background:linear-gradient(180deg,rgba(124,58,237,.14),rgba(6,182,212,.08));border-color:rgba(124,58,237,.26);transform:translateY(-6px)}.moyupro-vip-plan-badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(124,58,237,.12);color:var(--mp-primary);font-size:12px;font-weight:900}.moyupro-vip-plan.is-hot .moyupro-vip-plan-badge{background:linear-gradient(135deg,#7c3aed,#ec4899);color:#fff}.moyupro-vip-plan h3{font-size:22px;margin:16px 0 10px}.moyupro-vip-price{display:flex;align-items:flex-end;gap:4px;font-size:42px;font-weight:1000;letter-spacing:-.05em;color:#111827}.ripro-dark .moyupro-vip-price{color:#fff}.moyupro-vip-price span{font-size:20px;margin-bottom:8px;color:var(--mp-primary)}.moyupro-vip-price em{font-style:normal;font-size:13px;color:var(--mp-muted);letter-spacing:0;margin-bottom:10px}.moyupro-vip-plan p{color:var(--mp-muted);min-height:42px}.moyupro-vip-plan ul{list-style:none;padding:0;margin:14px 0 18px;display:grid;gap:9px}.moyupro-vip-plan li{position:relative;padding-left:22px;color:var(--mp-muted);font-size:14px}.moyupro-vip-plan li:before{content:"✓";position:absolute;left:0;top:0;color:#16a34a;font-weight:900}.moyupro-vip-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.moyupro-vip-rights{display:flex;flex-wrap:wrap;gap:10px}.moyupro-vip-rights span{padding:10px 12px;border-radius:999px;background:var(--mp-card);border:1px solid var(--mp-line);font-weight:900;font-size:13px}@media(max-width:900px){.moyupro-vip-packages,.moyupro-vip-info-grid{grid-template-columns:1fr}.moyupro-vip-plan.is-hot{transform:none}.moyupro-vip-hero-panel{display:block}.moyupro-vip-hero-panel .moyupro-btn{margin-top:18px}}@media(max-width:576px){.moyupro-vip-hero-panel{padding:22px}.moyupro-vip-hero-panel h2{font-size:27px}.moyupro-vip-price{font-size:34px}}

/* MoyuPro bottom download button + modal */
.moyupro-single-layout.has-resource-modal{grid-template-columns:minmax(0,1fr) 330px}.moyupro-single-layout.no-resource-modal{grid-template-columns:minmax(0,1fr) 330px}.moyupro-single-side{align-self:start;position:sticky;top:92px}.moyupro-download-entry{margin-top:28px;padding-top:24px;border-top:1px solid var(--mp-line)}.moyupro-download-open{width:100%;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:14px;text-align:left;border:1px solid rgba(124,58,237,.24);background:linear-gradient(135deg,rgba(124,58,237,.12),rgba(236,72,153,.08));border-radius:22px;padding:16px;cursor:pointer;color:inherit;transition:.22s;box-shadow:0 16px 38px rgba(124,58,237,.10)}.moyupro-download-open:hover{transform:translateY(-2px);box-shadow:0 20px 48px rgba(124,58,237,.18)}.moyupro-download-open>i{width:48px;height:48px;border-radius:17px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--mp-primary),var(--mp-pink));color:#fff;font-size:18px}.moyupro-download-open span{display:grid;gap:4px}.moyupro-download-open b{font-size:18px;letter-spacing:-.02em}.moyupro-download-open em{font-style:normal;color:var(--mp-muted);font-size:13px;line-height:1.45}.moyupro-download-open strong{padding:8px 12px;border-radius:999px;background:#fff;color:#7c3aed;box-shadow:0 8px 22px rgba(124,58,237,.12);white-space:nowrap}.moyupro-download-modal{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;padding:18px}.moyupro-download-modal.is-open{display:flex}.moyupro-download-modal-mask{position:absolute;inset:0;background:rgba(15,23,42,.72);backdrop-filter:blur(10px)}.moyupro-download-modal-box{position:relative;z-index:1;width:min(430px,96vw);max-height:92vh;overflow:auto;background:var(--mp-card);border:1px solid var(--mp-line);border-radius:28px;box-shadow:0 30px 90px rgba(0,0,0,.35);padding:0!important;position:relative!important;top:auto!important}.moyupro-download-close{position:absolute;right:16px;top:16px;z-index:2;border:0;width:38px;height:38px;border-radius:50%;background:var(--mp-soft);color:inherit;font-size:24px;line-height:1;cursor:pointer}.moyupro-download-modal-open{overflow:hidden}.ripro-dark .moyupro-download-open strong{background:#111827;color:#c4b5fd}@media(max-width:992px){.moyupro-single-layout.has-resource-modal,.moyupro-single-layout.no-resource-modal{grid-template-columns:1fr}.moyupro-single-side{position:static}.moyupro-download-modal-box{position:relative!important}}@media(max-width:576px){.moyupro-download-open{grid-template-columns:42px 1fr;padding:14px}.moyupro-download-open>i{width:42px;height:42px}.moyupro-download-open strong{grid-column:1/-1;justify-self:start}.moyupro-download-modal{align-items:flex-end;padding:0}.moyupro-download-modal-box{width:100%;max-height:94vh;border-radius:24px 24px 0 0}}

/* MoyuPro coupon redeem */
.moyupro-coupon-modal{position:fixed;inset:0;z-index:100002;display:none;align-items:center;justify-content:center;padding:18px}.moyupro-coupon-modal.is-open{display:flex}.moyupro-coupon-mask{position:absolute;inset:0;background:rgba(15,23,42,.72);backdrop-filter:blur(10px)}.moyupro-coupon-box{position:relative;z-index:1;width:min(430px,96vw);background:var(--mp-card);border:1px solid var(--mp-line);border-radius:28px;box-shadow:0 30px 90px rgba(0,0,0,.35);padding:26px}.moyupro-coupon-close{position:absolute;right:16px;top:16px;border:0;width:38px;height:38px;border-radius:50%;background:var(--mp-soft);color:inherit;font-size:24px;line-height:1;cursor:pointer}.moyupro-coupon-kicker{display:inline-flex;padding:5px 9px;border-radius:999px;background:rgba(245,158,11,.13);color:#d97706;font-size:11px;font-weight:1000;letter-spacing:.14em;margin-bottom:10px}.moyupro-coupon-box h3{margin:0 0 8px;font-size:26px;letter-spacing:-.04em}.moyupro-coupon-box p{margin:0 0 16px;color:var(--mp-muted);line-height:1.65}.moyupro-coupon-form{display:grid;gap:12px}.moyupro-coupon-form input{width:100%;height:48px;border:1px solid var(--mp-line);background:var(--mp-soft);color:inherit;border-radius:15px;padding:0 14px;outline:0;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.moyupro-coupon-form input:focus{border-color:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.12)}.moyupro-coupon-result{display:none;margin-top:14px;padding:12px 14px;border-radius:14px;line-height:1.6;font-weight:800}.moyupro-coupon-result.ok{display:block;background:#ecfdf5;color:#047857}.moyupro-coupon-result.err{display:block;background:#fef2f2;color:#b91c1c}.moyupro-coupon-login{padding:14px;border-radius:18px;background:rgba(124,58,237,.08)}.moyupro-coupon-modal-open{overflow:hidden}@media(max-width:576px){.moyupro-coupon-modal{align-items:flex-end;padding:0}.moyupro-coupon-box{width:100%;border-radius:24px 24px 0 0;padding:22px}}

/* MoyuPro balance VIP purchase */
.moyupro-vip-buy{width:100%;justify-content:center;border:0}.moyupro-vip-buy-result{display:none;margin-top:14px;padding:13px 15px;border-radius:15px;font-weight:800;line-height:1.6}.moyupro-vip-buy-result.ok{display:block;background:#ecfdf5;color:#047857}.moyupro-vip-buy-result.err{display:block;background:#fef2f2;color:#b91c1c}

/* MoyuPro VIP identity cards */
.moyupro-vip-state.active,.moyupro-vip-name-card{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.22);box-shadow:0 18px 44px rgba(15,23,42,.12)}.moyupro-vip-state.active:after,.moyupro-vip-name-card:after{content:"";position:absolute;right:-36px;top:-36px;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.16)}.moyupro-vip-state.active.vip-card-lifetime,.vip-card-lifetime{background:linear-gradient(135deg,#78350f,#f59e0b,#fde68a)!important;color:#fff!important;border-color:rgba(245,158,11,.45)!important}.moyupro-vip-state.active.vip-card-lifetime span,.vip-card-lifetime span,.vip-card-lifetime em,.moyupro-vip-state.active.vip-card-lifetime em{color:rgba(255,255,255,.86)!important}.moyupro-vip-state.active.vip-card-year,.vip-card-year{background:linear-gradient(135deg,#4c1d95,#7c3aed,#c084fc)!important;color:#fff!important;border-color:rgba(124,58,237,.42)!important}.moyupro-vip-state.active.vip-card-year span,.vip-card-year span,.vip-card-year em,.moyupro-vip-state.active.vip-card-year em{color:rgba(255,255,255,.86)!important}.moyupro-vip-state.active.vip-card-month,.vip-card-month{background:linear-gradient(135deg,#ffffff,#f8fafc,#eef2ff)!important;color:#111827!important;border-color:#e2e8f0!important}.moyupro-vip-state.active.vip-card-month span,.vip-card-month span,.vip-card-month em,.moyupro-vip-state.active.vip-card-month em{color:#64748b!important}.moyupro-vip-state.active.vip-card-day,.vip-card-day{background:linear-gradient(135deg,#064e3b,#10b981,#a7f3d0)!important;color:#fff!important;border-color:rgba(16,185,129,.42)!important}.moyupro-vip-state.active.vip-card-day span,.vip-card-day span,.vip-card-day em,.moyupro-vip-state.active.vip-card-day em{color:rgba(255,255,255,.88)!important}.vip-card-normal{background:var(--mp-card)!important}.moyupro-vip-name-card strong,.moyupro-vip-state.active b{position:relative;z-index:1}.moyupro-vip-name-card span,.moyupro-vip-name-card em,.moyupro-vip-state.active span{position:relative;z-index:1}
