:root,html[data-theme=light]{--brand: #1677ff;--brand-hover: #4096ff;--brand-active: #0958d9;--brand-soft: rgba(22, 119, 255, .08);--brand-gradient: linear-gradient(135deg, #1677ff 0%, #4096ff 100%);--bg: #f5f7fb;--bg-surface: #ffffff;--bg-elev: #f9fafc;--bg-sider: #ffffff;--bg-hero: linear-gradient(135deg, #1677ff 0%, #155fd6 45%, #0a5bd2 100%);--text: #111827;--text-secondary: #4b5563;--text-muted: #8b95a7;--text-on-brand: #ffffff;--border: #e5e9f0;--border-soft: #f0f3f8;--footer-bg: #0f172a;--footer-text: #94a3b8;--footer-title: #f1f5f9;--admin-sider-bg: #0f172a;--admin-sider-text: #cbd5e1;--admin-sider-hover: rgba(22, 119, 255, .22);--shadow-card: 0 2px 8px rgba(0, 0, 0, .04)}html[data-theme=dark]{--brand: #4f8cff;--brand-hover: #7aa7ff;--brand-active: #3d78e6;--brand-soft: rgba(79, 140, 255, .2);--brand-gradient: linear-gradient(135deg, #4f8cff 0%, #7aa7ff 100%);--bg: #0a0f1a;--bg-surface: #131b2e;--bg-elev: #1a2440;--bg-sider: #0d1322;--bg-hero: linear-gradient(135deg, #0d1322 0%, #131b2e 50%, #0a0f1a 100%);--text: #f0f4fb;--text-secondary: #c4cde0;--text-muted: #9aa5bf;--text-on-brand: #ffffff;--border: #2a3550;--border-soft: #202b44;--footer-bg: #060b18;--footer-text: #9aa5bf;--footer-title: #e8edf8;--admin-sider-bg: #0a0f1a;--admin-sider-text: #c4cde0;--admin-sider-hover: rgba(79, 140, 255, .25);--shadow-card: 0 2px 8px rgba(0, 0, 0, .4)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{font-family:PingFang SC,Microsoft YaHei,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;transition:background .25s ease,color .25s ease}a{color:inherit;text-decoration:none}.container{max-width:1200px;margin:0 auto;padding:0 16px}.navbar{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--bg-surface) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-soft);height:64px;display:flex;align-items:center;transition:background .25s ease,border-color .25s ease}.navbar .container{display:flex;align-items:center;justify-content:space-between;width:100%}.navbar .logo{font-size:22px;font-weight:800;color:var(--brand);cursor:pointer;letter-spacing:.3px}.navbar .nav-links{display:flex;gap:24px;align-items:center}.navbar .nav-links a{font-size:15px;color:var(--text-secondary);transition:color .2s;cursor:pointer}.navbar .nav-links a:hover{color:var(--brand)}.hero{background:var(--bg-hero);color:var(--text-on-brand);padding:80px 0 96px;text-align:center;border-radius:0;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at top right,rgba(255,255,255,.14),transparent 55%),radial-gradient(ellipse at bottom left,rgba(255,255,255,.08),transparent 60%);pointer-events:none}.hero h1{font-size:44px;font-weight:800;margin-bottom:16px;letter-spacing:1px;position:relative;z-index:1}.hero .sub{font-size:18px;opacity:.88;margin-bottom:40px;position:relative;z-index:1}.hero .search-box{max-width:560px;margin:0 auto 20px;display:flex;background:#fffffff5;border-radius:12px;overflow:hidden;padding:4px;box-shadow:0 12px 30px #0000002e;position:relative;z-index:1}html[data-theme=dark] .hero .search-box{background:#111a2eeb;border:1px solid var(--border)}.hero .search-box input{flex:1;border:none;outline:none;padding:12px 16px;font-size:15px;background:transparent;color:var(--text)}.hero .search-box button{background:var(--brand);color:#fff;border:none;padding:12px 28px;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s}.hero .search-box button:hover{background:var(--brand-hover)}.hero .chips{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;position:relative;z-index:1}.hero .chips .chip{padding:5px 14px;border-radius:20px;border:1px solid rgba(255,255,255,.5);color:#fff;font-size:13px;cursor:pointer;transition:all .2s}.hero .chips .chip:hover{background:#ffffff26;transform:translateY(-1px)}.companion-card{background:var(--bg-surface);border-radius:12px;overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s,background .25s ease,border-color .25s ease;border:1px solid var(--border-soft)}.companion-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px color-mix(in srgb,var(--brand) 14%,transparent)}.companion-card .cover{width:100%;aspect-ratio:3/4;background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 18%,var(--bg-elev)),var(--bg-elev));background-size:cover;background-position:center;position:relative}.companion-card .cover .online-badge{position:absolute;top:8px;right:8px;background:#0009;color:#4ade80;font-size:12px;padding:2px 8px;border-radius:12px}.companion-card .info{padding:12px}.companion-card .info .title{font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.companion-card .info .meta{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:13px;color:var(--text-muted)}.companion-card .info .price{color:var(--brand);font-weight:700;font-size:16px}.companion-card .info .tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}.companion-card .info .tag{font-size:11px;background:var(--brand-soft);color:var(--brand);padding:2px 6px;border-radius:4px}.grid{display:grid;gap:16px}.grid-5{grid-template-columns:repeat(5,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}@media (max-width: 1024px){.grid-5,.grid-4{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.grid-5,.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}.page{min-height:calc(100vh - 264px);padding:24px 0}.section-title{font-size:24px;font-weight:700;margin-bottom:20px;color:var(--text)}.btn-gradient{background:linear-gradient(135deg,var(--brand),color-mix(in srgb,var(--brand) 75%,#0b57d0))!important;border:none!important;color:#fff!important;box-shadow:0 4px 12px color-mix(in srgb,var(--brand) 28%,transparent)!important;transition:transform .15s ease,filter .2s ease!important}.btn-gradient:hover{filter:brightness(1.08)}.btn-gradient:active{transform:translateY(1px)}.footer{background:var(--footer-bg);color:var(--footer-text);padding:40px 0 20px;margin-top:60px;transition:background .25s ease}.footer .container{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.footer h4{color:var(--footer-title);font-size:16px;margin-bottom:12px}.footer a{display:block;font-size:13px;color:var(--footer-text);margin-bottom:8px;transition:color .2s;cursor:pointer}.footer a:hover{color:var(--footer-title)}.footer .copyright{text-align:center;border-top:1px solid var(--border);margin-top:24px;padding-top:16px;font-size:13px}@media (max-width: 768px){.footer .container{grid-template-columns:repeat(2,1fr)}}.chat-container{display:flex;height:calc(100vh - 64px);background:var(--bg)}.chat-sidebar{width:280px;border-right:1px solid var(--border);overflow-y:auto;background:var(--bg-surface)}.chat-main{flex:1;display:flex;flex-direction:column}.chat-messages{flex:1;overflow-y:auto;padding:16px}.chat-message{margin-bottom:12px;display:flex;gap:8px}.chat-message.self{flex-direction:row-reverse}.chat-message .bubble{max-width:60%;padding:10px 14px;border-radius:12px;font-size:14px;word-break:break-word}.chat-message.self .bubble{background:var(--brand);color:#fff}.chat-message.other .bubble{background:var(--bg-surface);border:1px solid var(--border-soft);color:var(--text)}.chat-input{padding:12px;border-top:1px solid var(--border);background:var(--bg-surface);display:flex;gap:8px}.conversation-item{padding:12px 16px;cursor:pointer;border-bottom:1px solid var(--border-soft);display:flex;gap:10px;align-items:center}.conversation-item:hover,.conversation-item.active{background:var(--brand-soft)}.auth-card{background:var(--bg-surface);border:1px solid var(--border-soft)}.auth-card .register-link,.auth-card .admin-hint{color:var(--brand)}.admin-layout{display:flex;min-height:100vh;background:var(--bg);transition:background .25s ease}.admin-sider{width:220px;background:var(--admin-sider-bg);color:#fff;padding:16px 0;position:relative;transition:background .25s ease;border-right:1px solid var(--border)}.admin-sider .brand-title{padding:8px 24px 18px;font-size:20px;font-weight:700;color:#fff;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:8px;letter-spacing:.4px}.admin-sider .menu-item{padding:12px 24px;cursor:pointer;display:flex;align-items:center;gap:10px;color:var(--admin-sider-text);transition:all .2s;border-left:3px solid transparent}.admin-sider .menu-item:hover{color:#fff;background:var(--admin-sider-hover)}.admin-sider .menu-item.active{background:var(--admin-sider-hover);color:#fff;border-left-color:var(--brand)}.admin-content{flex:1;padding:24px;background:var(--bg);overflow-y:auto;transition:background .25s ease}.admin-topbar{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-bottom:20px}.ant-card{background:var(--bg-surface)!important;border-color:var(--border-soft)!important;color:var(--text)!important;box-shadow:var(--shadow-card)}.ant-card-head{border-bottom-color:var(--border-soft)!important;color:var(--text)!important}.ant-card-head-title,.ant-card-body{color:var(--text)!important}.ant-card .ant-statistic-title{color:var(--text-muted)!important}.ant-card .ant-statistic-content{color:var(--text)!important}.ant-modal-content,.ant-modal-header{background:var(--bg-surface)!important;color:var(--text)!important}.ant-modal-title{color:var(--text)!important}.ant-modal-close-x{color:var(--text-secondary)!important}.ant-modal-body{color:var(--text)!important}.ant-modal-footer{border-top-color:var(--border-soft)!important}.ant-table{background:var(--bg-surface)!important;color:var(--text)!important}.ant-table-thead>tr>th{background:var(--bg-elev)!important;color:var(--text)!important;border-bottom-color:var(--border)!important}.ant-table-tbody>tr>td{background:var(--bg-surface)!important;color:var(--text)!important;border-bottom-color:var(--border-soft)!important}.ant-table-tbody>tr:hover>td{background:var(--brand-soft)!important}.ant-table-cell-fix-left,.ant-table-cell-fix-right{background:var(--bg-surface)!important}.ant-tabs-tab{color:var(--text-secondary)!important}.ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--brand)!important}.ant-tabs-ink-bar{background:var(--brand)!important}.ant-tabs-nav:before{border-bottom-color:var(--border-soft)!important}.ant-input,.ant-input-affix-wrapper,.ant-input-number,.ant-picker,.ant-select-selector,.ant-input-number-input{background:var(--bg-elev)!important;color:var(--text)!important;border-color:var(--border)!important}.ant-input::placeholder,.ant-input-number-input::placeholder,.ant-picker input::placeholder{color:var(--text-muted)!important}.ant-select-arrow{color:var(--text-muted)!important}.ant-select-selection-item,.ant-descriptions-item-label,.ant-descriptions-item-content{color:var(--text)!important}.ant-descriptions-bordered .ant-descriptions-view{border-color:var(--border)!important}.ant-descriptions-bordered .ant-descriptions-item-label,.ant-descriptions-bordered .ant-descriptions-item-content{border-color:var(--border)!important;background:var(--bg-surface)!important}.ant-drawer-content{background:var(--bg-surface)!important;color:var(--text)!important}.ant-drawer-header{border-bottom-color:var(--border-soft)!important}.ant-drawer-title{color:var(--text)!important}.ant-drawer-close{color:var(--text-secondary)!important}.ant-empty-description{color:var(--text-muted)!important}.ant-image-img{background:var(--bg-elev)}.ant-tooltip-inner{background:var(--bg-elev)!important;color:var(--text)!important}.ant-tooltip-arrow:before{background:var(--bg-elev)!important}.ant-pagination-item,.ant-pagination-prev .ant-pagination-item-link,.ant-pagination-next .ant-pagination-item-link{background:var(--bg-surface)!important;border-color:var(--border)!important;color:var(--text)!important}.ant-pagination-item a{color:var(--text)!important}.ant-pagination-item-active{border-color:var(--brand)!important}.ant-pagination-item-active a{color:var(--brand)!important}.ant-dropdown-menu{background:var(--bg-surface)!important;border:1px solid var(--border-soft)}.ant-dropdown-menu-item,.ant-dropdown-menu-item .ant-dropdown-menu-title-content{color:var(--text)!important}.ant-dropdown-menu-item:hover{background:var(--brand-soft)!important}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:var(--bg)}*::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}*::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}html[data-theme],body,.ant-card,.ant-modal-content,.ant-table,.ant-input,.ant-select-selector{transition:background .25s ease,color .25s ease,border-color .25s ease}
