
:root {
    --azhai-pink: #e98ca8;
    --azhai-pink-soft: #fff1f5;
    --azhai-pink-hover: #fbe1e8;
    --azhai-bg: #f8f8f9;
    --azhai-card: #ffffff;
    --azhai-text: #29272b;
    --azhai-muted: #858189;
    --azhai-line: #eceaec;
    --azhai-shadow: 0 10px 30px rgba(42, 35, 40, .055);
}
html, body { background: var(--azhai-bg) !important; color: var(--azhai-text) !important; }
body {
    background: #f8f8f9 !important;
}
.site-header {
    background: rgba(255,255,255,.94) !important;
    border-bottom: 1px solid var(--azhai-line) !important;
    box-shadow: 0 4px 18px rgba(42,35,40,.035) !important;
    backdrop-filter: blur(12px);
}
.brand-mark {
    background: var(--azhai-pink-soft) !important;
    color: var(--azhai-pink) !important;
    border: 1px solid #f4d7df !important;
    box-shadow: none !important;
}
.header-primary {
    background: var(--azhai-pink) !important;
    color: #fff !important;
    box-shadow: 0 7px 18px rgba(233,140,168,.2) !important;
}
.header-link:hover { background: var(--azhai-pink-soft) !important; color: #b9637d !important; }
.container { padding-top: 64px !important; }
.hero-kicker {
    background: var(--azhai-pink-soft) !important;
    border: 1px solid #f4d7df !important;
    color: #bd6c84 !important;
    box-shadow: none !important;
}
.hero-kicker::before { background: var(--azhai-pink) !important; }
.hero h1 { color: #29272b !important; letter-spacing: -3px !important; }
.hero p { color: var(--azhai-muted) !important; }
.search-form {
    background: #fff !important;
    border: 1px solid var(--azhai-line) !important;
    box-shadow: var(--azhai-shadow) !important;
}
.search-form:focus-within {
    border-color: #efb5c5 !important;
    box-shadow: 0 10px 30px rgba(42,35,40,.06), 0 0 0 4px rgba(233,140,168,.08) !important;
}
.search-button { background: var(--azhai-pink) !important; color: #fff !important; box-shadow: none !important; }
.categories { gap: 8px !important; }
.category {
    background: #fff !important;
    border: 1px solid var(--azhai-line) !important;
    color: #6d6870 !important;
    box-shadow: none !important;
}
.category:hover,.category.active {
    background: var(--azhai-pink-soft) !important;
    border-color: #f1c6d1 !important;
    color: #b9637d !important;
    box-shadow: none !important;
}
.site-card {
    background: #fff !important;
    border: 1px solid var(--azhai-line) !important;
    box-shadow: var(--azhai-shadow) !important;
    backdrop-filter: none !important;
}
.site-card:hover {
    border-color: #f0c5d0 !important;
    box-shadow: 0 16px 36px rgba(42,35,40,.08) !important;
    transform: translateY(-2px);
}
.site-icon {
    background: #faf8f9 !important;
    border: 1px solid var(--azhai-line) !important;
}
.site-name { color: #302d32 !important; }
.site-description { color: #858189 !important; }
.site-access { background: var(--azhai-pink) !important; color: #fff !important; box-shadow: none !important; }
.favorite-button:hover { background: var(--azhai-pink-soft) !important; color: var(--azhai-pink) !important; }
.empty { background: #fff !important; border: 1px solid var(--azhai-line) !important; box-shadow: var(--azhai-shadow) !important; }
.site-footer { border-top: 1px solid var(--azhai-line) !important; color: #969198 !important; }
button, .button, .btn { border-radius: 11px !important; }
@media(max-width:700px){
    .container { width: min(100% - 22px,1180px) !important; padding-top: 34px !important; }
    .site-header { height: 64px !important; }
    .hero { margin-bottom: 34px !important; }
    .hero h1 { letter-spacing: -2px !important; }
}


:root {
    --azhai-pink: #df819d;
    --azhai-pink-soft: #fff3f6;
    --azhai-pink-hover: #fbe5ec;
    --azhai-bg: #f7f7f8;
    --azhai-line: #ebe9ec;
    --azhai-shadow: 0 8px 26px rgba(45, 35, 41, .045);
}
body {
    background: #f7f7f8 !important;
}
.site-header {
    height: 68px !important;
    padding-left: max(18px, calc((100vw - 1160px) / 2)) !important;
    padding-right: max(18px, calc((100vw - 1160px) / 2)) !important;
    background: rgba(255,255,255,.92) !important;
    border-bottom-color: #eee9ec !important;
    box-shadow: 0 3px 16px rgba(45,35,41,.025) !important;
}
.brand { gap: 10px !important; }
.brand-mark {
    width: 38px !important;
    height: 38px !important;
    flex-basis: 38px !important;
    border-radius: 12px !important;
    background: #fff1f5 !important;
    color: #d46f8c !important;
    border-color: #f4d8e0 !important;
    font-size: 11px !important;
}
.brand-text strong { font-size: 14px !important; }
.brand-text span { font-size: 9px !important; letter-spacing: 1px !important; }
.header-right { gap: 7px !important; }
.header-link, .header-primary {
    min-height: 36px !important;
    padding: 0 13px !important;
    border-radius: 10px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}
.header-link:hover { background: #fff3f6 !important; color: #bd5c79 !important; }
.header-primary { background: #df819d !important; }
.header-primary:hover { background: #d87593 !important; transform: translateY(-1px); }
.container {
    width: min(1160px, calc(100% - 36px)) !important;
    padding-top: 58px !important;
    padding-bottom: 68px !important;
}
.hero { max-width: 760px !important; margin-bottom: 48px !important; }
.hero-kicker {
    margin-bottom: 17px !important;
    padding: 7px 11px !important;
    border-radius: 9px !important;
    font-size: 9px !important;
    letter-spacing: 1.8px !important;
    font-weight: 700 !important;
}
.hero-kicker::before { box-shadow: 0 0 0 4px rgba(223,129,157,.12) !important; }
.hero h1 {
    font-size: clamp(34px, 5.3vw, 54px) !important;
    line-height: 1.16 !important;
    letter-spacing: -2.2px !important;
    font-weight: 800 !important;
}
.hero p { margin-top: 13px !important; font-size: 13px !important; line-height: 1.85 !important; }
.search-box { margin-top: 27px !important; max-width: 690px !important; }
.search-form {
    gap: 7px !important;
    padding: 5px !important;
    border-radius: 14px !important;
    box-shadow: 0 8px 26px rgba(45,35,41,.045) !important;
}
.search-input { height: 44px !important; padding: 0 13px !important; font-size: 13px !important; }
.search-button { height: 44px !important; padding: 0 20px !important; border-radius: 10px !important; font-size: 12px !important; }
.categories { gap: 8px !important; margin-bottom: 23px !important; padding-bottom: 7px !important; }
.category {
    min-height: 34px !important;
    padding: 0 13px !important;
    border-radius: 10px !important;
    font-size: 11px !important;
}
.category:hover, .category.active {
    background: #fff1f5 !important;
    border-color: #f2d1dc !important;
    color: #bd5c79 !important;
    transform: none !important;
}
.result-info { margin-bottom: 12px !important; font-size: 11px !important; }
.site-grid { gap: 14px !important; }
.site-card {
    min-height: 184px !important;
    padding: 18px !important;
    border-radius: 15px !important;
    box-shadow: 0 5px 20px rgba(45,35,41,.025) !important;
}
.site-card:hover {
    border-color: #f0c5d0 !important;
    box-shadow: 0 12px 28px rgba(45,35,41,.06) !important;
    transform: translateY(-2px) !important;
}
.site-icon { width: 43px !important; height: 43px !important; flex-basis: 43px !important; border-radius: 12px !important; }
.site-name { font-size: 14px !important; font-weight: 700 !important; }
.site-url { font-size: 10px !important; }
.site-description { margin: 15px 0 !important; font-size: 11px !important; line-height: 1.75 !important; }
.site-category { border-radius: 7px !important; background: #f7f5f6 !important; }
.site-access { background: #fff1f5 !important; color: #bd5c79 !important; }
.site-access:hover, .site-card:hover .site-access { background: #fbe5ec !important; color: #a94d6b !important; }
.favorite-button { border-radius: 9px !important; }
.favorite-button.active { background: #fff3f6 !important; border-color: #f2d1dc !important; }
.message, .empty { border-radius: 14px !important; }
.site-footer { padding-top: 23px !important; font-size: 11px !important; }
@media (max-width: 700px) {
    .site-header { height: 62px !important; padding: 0 13px !important; }
    .container { width: calc(100% - 24px) !important; padding-top: 38px !important; padding-bottom: 48px !important; }
    .hero { margin-bottom: 32px !important; }
    .hero h1 { font-size: clamp(30px, 8.5vw, 42px) !important; letter-spacing: -1.5px !important; }
    .hero p { font-size: 12px !important; }
    .header-link, .header-primary { min-height: 33px !important; padding: 0 10px !important; }
    .site-grid { gap: 10px !important; }
    .site-card { min-height: 175px !important; padding: 13px !important; border-radius: 13px !important; }
    .site-icon { width: 36px !important; height: 36px !important; flex-basis: 36px !important; border-radius: 10px !important; }
    .site-top { gap: 9px !important; }
    .site-name { font-size: 12px !important; }
    .site-url { font-size: 9px !important; }
    .favorite-button { width: 29px !important; height: 29px !important; }
    .site-description { margin: 12px 0 !important; font-size: 10px !important; }
}
