/* 设计师平台 - 全局自定义样式 */
:root{
  --primary:#2A6AE9;
  --primary-dark:#1E56C4;
  --primary-light:#5B8FEF;
  --secondary:#E2ECFD;
  --accent:#F59E0B;
  --success:#10B981;
  --danger:#EF4444;
  --gradient: linear-gradient(135deg,#2A6AE9 0%,#4A8AF0 50%,#06B6D4 100%);
  --gradient-soft: linear-gradient(135deg,#E2ECFD 0%,#F0F6FF 100%);
}
*{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;}
body{background:#F8FAFC;color:#1F2937;}
.bg-gradient{background:var(--gradient);}
.bg-gradient-soft{background:var(--gradient-soft);}
.text-gradient{background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.shadow-card{box-shadow:0 6px 20px rgba(42,106,233,.08);}
.shadow-hover{transition:all .25s ease;}
.shadow-hover:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(42,106,233,.15);}
.btn-primary{background:var(--gradient);color:#fff;padding:8px 20px;border-radius:8px;font-weight:500;transition:all .2s;}
.btn-primary:hover{opacity:.92;box-shadow:0 6px 16px rgba(42,106,233,.35);}
.btn-outline{border:1px solid #E5E7EB;background:#fff;padding:8px 20px;border-radius:8px;font-weight:500;color:#4B5563;}
.btn-outline:hover{border-color:var(--primary);color:var(--primary);}
.card{background:#fff;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.04);overflow:hidden;}
.card.bg-gradient,.card.bg-gradient-soft{background:var(--gradient);}
.card.bg-gradient-soft{background:var(--gradient-soft);}
.tag{display:inline-block;padding:2px 10px;border-radius:99px;font-size:12px;background:#F3F4F6;color:#6B7280;}
.tag-primary{background:var(--secondary);color:var(--primary-dark);}
.tag-success{background:#D1FAE5;color:#065F46;}
.tag-warning{background:#FEF3C7;color:#92400E;}
.tag-danger{background:#FEE2E2;color:#991B1B;}
.input{width:100%;padding:10px 14px;border:1px solid #E5E7EB;border-radius:8px;font-size:14px;outline:none;}
.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(42,106,233,.12);}
.sidebar-link{display:flex;align-items:center;gap:12px;padding:10px 16px;color:#4B5563;border-radius:8px;font-size:14px;transition:all .2s;}
.sidebar-link:hover{background:#F3F4F6;color:var(--primary);}
.sidebar-link.active{background:var(--secondary);color:var(--primary);font-weight:600;}
.sidebar-link i{width:18px;text-align:center;}
.sidebar-link.has-child{font-weight:600;color:#374151;}
.sidebar-submenu{position:relative;margin:2px 0 4px 0;padding-left:30px;}
.sidebar-submenu:before{content:"";position:absolute;left:24px;top:4px;bottom:8px;width:1px;background:#E5E7EB;}
.sidebar-sublink{position:relative;display:flex;align-items:center;gap:10px;padding:8px 14px;color:#6B7280;border-radius:8px;font-size:13px;transition:all .2s;}
.sidebar-sublink:before{content:"";position:absolute;left:-6px;top:50%;width:8px;height:1px;background:#E5E7EB;}
.sidebar-sublink:hover{background:#F3F4F6;color:var(--primary);}
.sidebar-sublink.active{background:var(--secondary);color:var(--primary);font-weight:600;}
.sidebar-sublink i{width:16px;text-align:center;font-size:12px;}
.masonry{column-count:4;column-gap:16px;}
@media(max-width:1024px){.masonry{column-count:3;}}
@media(max-width:768px){.masonry{column-count:2;}}
.masonry-item{break-inside:avoid;margin-bottom:16px;}
.scrollbar-hide::-webkit-scrollbar{display:none;}
/* 顶部导航 */
.topnav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);border-bottom:1px solid #F3F4F6;}
/* 模态弹窗 */
.modal-mask{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:100;display:none;align-items:center;justify-content:center;}
.modal-mask.show{display:flex;}
.modal-box{background:#fff;border-radius:16px;padding:24px;max-width:480px;width:90%;}
/* 投影 dp6 */
.dp6{box-shadow:0 6px 18px rgba(31,41,55,.08);}
.rounded-8{border-radius:8px;}
/* AI 输入框 */
.ai-input{background:#fff;border-radius:16px;padding:18px;box-shadow:0 12px 40px rgba(42,106,233,.18);}
/* 头像 */
.avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid #fff;}
/* hover 卡片操作 */
.work-card{position:relative;overflow:hidden;border-radius:12px;cursor:pointer;}
.work-card .overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.7) 100%);opacity:0;transition:.3s;display:flex;align-items:flex-end;padding:14px;}
.work-card:hover .overlay{opacity:1;}
.work-card:hover img{transform:scale(1.05);}
.work-card img{transition:.4s;}

/* ===== Tailwind purple 工具类 → 主题色覆盖 ===== */
.text-purple-600,.text-purple-700{color:var(--primary)!important;}
.text-purple-500{color:var(--primary-light)!important;}
.text-purple-800{color:var(--primary-dark)!important;}
.bg-purple-50,.bg-purple-50\/50{background-color:var(--secondary)!important;}
.bg-purple-100{background-color:#D4E4FC!important;}
.bg-purple-500,.bg-purple-600{background-color:var(--primary)!important;}
.border-purple-100{border-color:var(--secondary)!important;}
.border-purple-300{border-color:#A8C4F5!important;}
.border-purple-400,.border-purple-500,.border-purple-600{border-color:var(--primary)!important;}
.ring-purple-100,.focus\:ring-purple-100:focus{--tw-ring-color:var(--secondary)!important;}
.from-purple-50{--tw-gradient-from:var(--secondary)!important;}
.from-purple-100{--tw-gradient-from:#D4E4FC!important;}
.to-purple-50{--tw-gradient-to:var(--secondary)!important;}
.hover\:text-purple-600:hover,.hover\:text-purple-800:hover{color:var(--primary)!important;}
.hover\:border-purple-300:hover,.hover\:border-purple-400:hover{border-color:var(--primary)!important;}
.hover\:bg-purple-50:hover{background-color:var(--secondary)!important;}
.accent-purple-600{accent-color:var(--primary);}
