/* ============================================================
   笔刷Hub - 完整样式表
   完全复刻原站视觉风格（紫色渐变主题）
   ============================================================ */

/* ========== Reset ========== */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;background:hsl(250 20% 98%);color:hsl(250 30% 10%);-webkit-font-smoothing:antialiased;line-height:1.6}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button{border:none;background:none;cursor:pointer;font:inherit}
ul,ol{list-style:none}
details summary::-webkit-details-marker{display:none}
details summary{list-style:none}

/* ========== CSS Variables ========== */
:root{
  --primary:hsl(262 83% 58%);
  --primary-light:hsl(262 83% 65%);
  --accent:hsl(280 70% 60%);
  --bg:hsl(250 20% 98%);
  --card:#fff;
  --border:hsl(250 15% 90%);
  --text:hsl(250 30% 10%);
  --text-muted:hsl(250 10% 45%);
  --text-muted-60:hsl(250 10% 45%/0.6);
  --secondary:hsl(250 20% 96%);
  --secondary-fg:hsl(250 30% 20%);
  --gradient:linear-gradient(135deg,hsl(262 83% 58%) 0%,hsl(280 70% 60%) 100%);
  --gradient-subtle:linear-gradient(180deg,hsl(250 20% 98%) 0%,hsl(250 15% 95%) 100%);
  --shadow-sm:0 1px 2px hsl(250 30% 10%/0.05);
  --shadow-md:0 4px 12px hsl(250 30% 10%/0.08);
  --shadow-lg:0 10px 40px hsl(250 30% 10%/0.12);
  --shadow-glow:0 0 30px hsl(262 83% 58%/0.3);
  --radius:0.75rem;
  --container:1200px;
}

/* ========== Layout ========== */
.container{max-width:var(--container);margin:0 auto;padding-left:1rem;padding-right:1rem}
.min-h-screen{min-height:100vh}

/* ========== Text Utilities ========== */
.text-gradient{background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.text-foreground{color:var(--text)}
.text-muted{color:var(--text-muted)}
.text-primary{color:var(--primary)}
.text-white{color:#fff}

/* ========== Header ========== */
.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,0.8);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid hsl(250 15% 90%/0.5)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:64px;gap:1rem}
.logo{display:flex;align-items:center;gap:0.5rem;font-size:1.25rem;font-weight:700}
.logo-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:0.5rem;background:var(--gradient);color:#fff;font-size:1.1rem}
.nav{display:flex;align-items:center;gap:1.5rem}
.nav a,.nav button{font-size:0.875rem;font-weight:500;color:var(--text-muted);transition:color 0.2s;padding:0;background:none;border:none;cursor:pointer}
.nav a:hover,.nav button:hover{color:var(--primary)}
.nav-active{color:var(--text)!important}
.search-form{flex:1;max-width:28rem;display:flex}
.search-wrap{position:relative;width:100%}
.search-icon{position:absolute;left:0.75rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}
.search-input{height:2.5rem;width:100%;border-radius:9999px;border:1px solid var(--border);background:hsl(250 20% 96%/0.5);padding-left:2.5rem;padding-right:1rem;font-size:0.875rem;color:var(--text);outline:none;transition:border-color 0.2s,box-shadow 0.2s}
.search-input::placeholder{color:var(--text-muted)}
.search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px hsl(262 83% 58%/0.15)}
.mobile-menu-btn{display:none;width:40px;height:40px;align-items:center;justify-content:center;border-radius:0.5rem;color:var(--text);transition:background 0.2s}
.mobile-menu-btn:hover{background:var(--secondary)}
.mobile-menu{display:none;padding-bottom:1rem;border-top:1px solid var(--border)}
.mobile-menu.open{display:block}
.mobile-menu .search-form{max-width:100%;margin:1rem 0}
.mobile-menu-nav a,.mobile-menu-nav button{display:block;padding:0.5rem 0.75rem;font-size:0.875rem;font-weight:500;color:var(--text-muted);border-radius:0.5rem;transition:background 0.2s;text-align:left;width:100%}
.mobile-menu-nav a:hover,.mobile-menu-nav button:hover{background:var(--secondary)}

/* ========== Hero ========== */
.hero{position:relative;overflow:hidden;background:var(--gradient-subtle)}
.hero-bg{position:absolute;inset:0;overflow:hidden}
.hero-bg .blob{position:absolute;border-radius:50%;filter:blur(60px)}
.hero-bg .blob-1{left:-160px;top:-160px;width:320px;height:320px;background:hsl(262 83% 58%/0.1)}
.hero-bg .blob-2{right:-80px;bottom:-80px;width:240px;height:240px;background:hsl(280 70% 60%/0.1)}
.hero-bg .blob-3{left:50%;top:50%;width:160px;height:160px;transform:translate(-50%,-50%);background:hsl(262 83% 58%/0.05)}
.hero-container{position:relative}
.hero-content{position:relative;padding:5rem 0 5rem;text-align:center;max-width:48rem;margin:0 auto}
.hero-badge{display:inline-flex;align-items:center;gap:0.5rem;border-radius:9999px;border:1px solid hsl(262 83% 58%/0.2);background:hsl(262 83% 58%/0.05);padding:0.375rem 1rem;font-size:0.875rem;font-weight:500;color:var(--primary);margin-bottom:1.5rem}
.hero-badge svg{fill:var(--primary)}
.hero h1{font-size:2.5rem;font-weight:800;line-height:1.15;color:var(--text);animation:fadeIn 0.6s ease-out}
.hero-desc{margin-top:1.5rem;font-size:1.125rem;color:var(--text-muted);max-width:40rem;margin-left:auto;margin-right:auto;animation:fadeIn 0.6s ease-out 0.2s both}
.hero-actions{margin-top:2.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;animation:fadeIn 0.6s ease-out 0.3s both}
.btn-hero{display:inline-flex;align-items:center;gap:0.5rem;height:3rem;padding:0 2rem;border-radius:9999px;background:var(--gradient);color:#fff;font-size:0.875rem;font-weight:600;box-shadow:var(--shadow-glow);transition:all 0.3s}
.btn-hero:hover{transform:scale(1.05);box-shadow:var(--shadow-lg)}
.btn-hero svg{transition:transform 0.3s}
.btn-hero:hover svg{transform:translateX(4px)}
.btn-outline{display:inline-flex;align-items:center;gap:0.5rem;height:3rem;padding:0 2rem;border-radius:9999px;border:1px solid var(--border);background:var(--card);color:var(--text);font-size:0.875rem;font-weight:600;transition:all 0.3s}
.btn-outline:hover{border-color:var(--primary);background:hsl(262 83% 58%/0.05)}
.hero-float{position:absolute;pointer-events:none;animation:float 3s ease-in-out infinite;display:none}
.hero-float-1{left:2.5rem;top:25%}
.hero-float-2{right:2.5rem;top:33%;animation-delay:1s}
.hero-float-box{display:flex;align-items:center;justify-content:center;border-radius:1rem;background:var(--card);box-shadow:var(--shadow-lg)}
.hero-float-box.lg{width:4rem;height:4rem}
.hero-float-box.md{width:3.5rem;height:3.5rem}
.hero-float-box .icon-primary{color:var(--primary)}
.hero-float-box .icon-accent{color:var(--accent)}

/* ========== Brush Section ========== */
.brush-section{padding:4rem 0}
.brush-section-header{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}
.brush-section-header h2{font-size:1.5rem;font-weight:700;color:var(--text)}
.brush-section-header p{color:var(--text-muted);margin-top:0.25rem}

/* ========== Category Filter ========== */
.category-filter{display:flex;flex-wrap:wrap;gap:0.5rem}
.cat-btn{border-radius:9999px;padding:0.5rem 1rem;font-size:0.875rem;font-weight:500;transition:all 0.2s;background:var(--secondary);color:var(--secondary-fg)}
.cat-btn:hover{background:hsl(250 20% 92%)}
.cat-btn.active{background:var(--gradient);color:#fff;box-shadow:var(--shadow-md)}

/* ========== Brush Grid ========== */
.brush-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.brush-card{display:flex;flex-direction:column;border-radius:var(--radius);border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-sm);transition:transform 0.3s,box-shadow 0.3s;overflow:hidden;text-decoration:none;color:inherit}
.brush-card.pg-hidden{display:none}
.brush-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.brush-card-img-wrap{position:relative;height:176px;overflow:hidden}
.brush-card-img{width:100%;height:100%;object-fit:cover}
.brush-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.brush-card-placeholder .ph-inner{text-align:center;color:rgba(255,255,255,0.9)}
.brush-card-placeholder .ph-wave{font-size:2.5rem;font-weight:300;opacity:0.8}
.brush-card-placeholder .ph-text{margin-top:0.5rem;font-size:0.75rem;opacity:0.7}
.brush-card-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.4);opacity:0;transition:opacity 0.3s}
.brush-card:hover .brush-card-overlay{opacity:1}
.brush-card-overlay span{display:flex;align-items:center;gap:0.5rem;border-radius:9999px;background:#fff;padding:0.5rem 1rem;font-size:0.875rem;font-weight:500;color:#111}
.brush-card-body{padding:1rem;flex:1;display:flex;flex-direction:column}
.brush-card-body h3{font-weight:600;color:var(--text);transition:color 0.2s;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.brush-card:hover .brush-card-body h3{color:var(--primary)}
.brush-card-desc{margin-top:0.5rem;font-size:0.875rem;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}
.brush-card-dl{margin-top:1rem;display:flex;align-items:center;justify-content:center;gap:0.5rem;height:2.5rem;width:100%;border-radius:0.5rem;background:var(--gradient);color:#fff;font-size:0.875rem;font-weight:500;transition:opacity 0.2s}
.brush-card-dl:hover{opacity:0.9;box-shadow:var(--shadow-md)}
.brush-empty{grid-column:1/-1;padding:5rem 0;text-align:center;color:var(--text-muted)}
.brush-empty svg{margin:0 auto 1rem;opacity:0.5}
.brush-empty p{font-size:1.125rem}
.brush-empty .sub{margin-top:0.25rem;font-size:0.875rem;opacity:0.7}

/* ========== Pagination ========== */
.pagination{display:flex;align-items:center;justify-content:center;gap:0.5rem;margin-top:2.5rem;flex-wrap:wrap}
.pg-btn{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;height:2.25rem;padding:0 0.75rem;border-radius:0.5rem;border:1px solid var(--border);background:var(--card);color:var(--text);font-size:0.875rem;font-weight:500;cursor:pointer;transition:all 0.2s}
.pg-btn:hover{border-color:var(--primary);color:var(--primary)}
.pg-btn.active{background:var(--gradient);color:#fff;border-color:transparent;box-shadow:var(--shadow-md)}
.pg-btn.disabled{opacity:0.4;cursor:not-allowed;pointer-events:none}
.pg-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;height:2.25rem;color:var(--text-muted);font-size:0.875rem}

/* ========== Category Gradient Backgrounds ========== */
.grad-watercolor{background:linear-gradient(to bottom right,#60a5fa,#67e8f9)}
.grad-sketch{background:linear-gradient(to bottom right,#9ca3af,#94a3b8)}
.grad-texture{background:linear-gradient(to bottom right,#fbbf24,#fb923c)}
.grad-calligraphy{background:linear-gradient(to bottom right,#fb7185,#f9a8d4)}
.grad-effects{background:linear-gradient(to bottom right,#a78bfa,#c084fc)}
.grad-illustration{background:linear-gradient(to bottom right,#818cf8,#c084fc)}
.grad-ink{background:linear-gradient(to bottom right,#334155,#6b7280)}

/* Category badge pill */
.cat-badge{display:inline-block;border-radius:9999px;padding:0.375rem 1rem;font-size:0.875rem;font-weight:500;color:#fff}

/* ========== Detail Page ========== */
.detail-bg{position:fixed;inset:0;z-index:-1;overflow:hidden;background:var(--gradient-subtle)}
.detail-bg .blob{position:absolute;border-radius:50%;filter:blur(60px)}
.detail-bg .b1{left:-160px;top:-160px;width:320px;height:320px;background:hsl(262 83% 58%/0.1)}
.detail-bg .b2{right:-160px;top:-160px;width:320px;height:320px;background:hsl(280 70% 60%/0.1)}
.detail-bg .b3{left:-160px;bottom:-80px;width:240px;height:240px;background:hsl(262 83% 58%/0.1)}
.detail-bg .b4{right:-80px;bottom:-80px;width:240px;height:240px;background:hsl(280 70% 60%/0.1)}
.detail-bg .b5{left:50%;top:50%;width:160px;height:160px;transform:translate(-50%,-50%);background:hsl(262 83% 58%/0.05)}
.detail-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,0.8);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid hsl(250 15% 90%/0.5)}
.detail-header-inner{display:flex;align-items:center;gap:1rem;height:64px}
.detail-back,.detail-share{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:0.5rem;color:var(--text);transition:background 0.2s}
.detail-back:hover,.detail-share:hover{background:var(--secondary)}
.detail-share{color:var(--text-muted)}
.detail-title-wrap{flex:1}
.detail-title-wrap h1{font-size:1.125rem;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.detail-title-wrap p{font-size:0.875rem;color:var(--text-muted)}
.detail-main{padding:2rem 0}
.detail-grid{display:grid;gap:2rem;grid-template-columns:1fr 1fr}
.detail-preview{border-radius:1rem;overflow:hidden;box-shadow:var(--shadow-lg);background:hsl(250 20% 96%);display:flex;align-items:center;justify-content:center;min-height:200px;max-height:600px}
.detail-preview img{width:100%;height:auto;max-height:600px;object-fit:contain;display:block}
.detail-preview-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}
.detail-preview-placeholder .wave{font-size:5rem;font-weight:300;color:rgba(255,255,255,0.8)}
.detail-preview-placeholder .ptext{margin-top:1rem;font-size:1.125rem;color:rgba(255,255,255,0.7)}
.detail-preview-placeholder .pgrid{margin-top:2rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;width:100%;max-width:240px}
.detail-preview-placeholder .pgrid-item{aspect-ratio:1/1;border-radius:0.75rem;background:rgba(255,255,255,0.2);backdrop-filter:blur(8px)}
.detail-info{display:flex;flex-direction:column;gap:1.5rem}
.detail-info h2{font-size:1.875rem;font-weight:700;color:var(--text)}
.detail-tags{display:flex;flex-wrap:wrap;align-items:center;gap:0.5rem;margin-top:1rem}
.detail-desc{border-radius:0.75rem;background:hsl(250 20% 96%/0.5);padding:1rem}
.detail-desc p{color:var(--text-muted);line-height:1.7}
.detail-dl-btn{display:flex;align-items:center;justify-content:center;gap:0.5rem;width:100%;padding:1rem;border-radius:0.75rem;background:var(--gradient);color:#fff;font-size:1.125rem;font-weight:600;box-shadow:var(--shadow-lg);transition:all 0.2s;margin-top:1rem}
.detail-dl-btn:hover{transform:scale(1.02);box-shadow:0 10px 50px hsl(262 83% 58%/0.2)}
.detail-dl-hint{text-align:center;font-size:0.875rem;color:var(--text-muted);margin-top:0.5rem}
.related-section{margin-top:4rem}
.related-section h2{margin-bottom:1.5rem;font-size:1.5rem;font-weight:700;color:var(--text)}
.related-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.related-card{display:block;border-radius:0.75rem;border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-sm);transition:all 0.3s;overflow:hidden;text-decoration:none;color:inherit}
.related-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.related-card-img{height:128px;overflow:hidden}
.related-card-img img{width:100%;height:100%;object-fit:cover}
.related-card-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.related-card-ph .rwave{font-size:1.875rem;color:rgba(255,255,255,0.8)}
.related-card-body{padding:0.75rem}
.related-card-body h3{font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color 0.2s}
.related-card:hover h3{color:var(--primary)}

/* ========== Sub Pages Shared ========== */
.page-content{padding:2rem 0}
.back-link{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.875rem;color:var(--text-muted);transition:color 0.2s;margin-bottom:2rem}
.back-link:hover{color:var(--primary)}
.page-hero{text-align:center;margin-bottom:3rem}
.page-hero-icon{margin:0 auto 1rem;display:flex;width:4rem;height:4rem;align-items:center;justify-content:center;border-radius:1rem;background:hsl(262 83% 58%/0.1)}
.page-hero-icon svg{color:var(--primary)}
.page-hero h1{font-size:1.875rem;font-weight:700;color:var(--text)}
.page-hero p{margin-top:1rem;color:var(--text-muted);max-width:40rem;margin-left:auto;margin-right:auto}
.page-hero .subtitle{margin-top:0.5rem;font-size:0.875rem;color:var(--text-muted)}

/* ========== Guide Page ========== */
.steps-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin-bottom:4rem}
.step-card{position:relative;border-radius:1rem;border:1px solid var(--border);background:var(--card);padding:1.5rem;transition:all 0.3s}
.step-card:hover{border-color:hsl(262 83% 58%/0.5);box-shadow:var(--shadow-lg)}
.step-num{position:absolute;top:-0.75rem;left:1.5rem;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;border-radius:50%;background:var(--primary);color:#fff;font-size:0.75rem;font-weight:700}
.step-icon{display:flex;width:3rem;height:3rem;align-items:center;justify-content:center;border-radius:0.75rem;background:hsl(262 83% 58%/0.1);color:var(--primary);margin-bottom:1rem;transition:all 0.2s}
.step-card:hover .step-icon{background:var(--primary);color:#fff}
.step-card h3{font-weight:600;color:var(--text);margin-bottom:0.5rem}
.step-card p{font-size:0.875rem;color:var(--text-muted)}
.tips-grid{display:grid;gap:1.5rem;grid-template-columns:1fr 1fr;margin-bottom:4rem}
.tip-box{border-radius:1rem;padding:1.5rem}
.tip-box.success{border:1px solid hsl(142 76% 36%/0.3);background:hsl(142 76% 36%/0.05)}
.tip-box.warning{border:1px solid hsl(48 96% 53%/0.3);background:hsl(48 96% 53%/0.05)}
.tip-box-header{display:flex;align-items:center;gap:0.75rem;margin-bottom:1rem}
.tip-box-header svg.green{color:hsl(142 76% 36%)}
.tip-box-header svg.yellow{color:hsl(48 96% 53%)}
.tip-box-header h3{font-weight:600;color:var(--text)}
.tip-list{display:flex;flex-direction:column;gap:0.5rem}
.tip-list li{display:flex;align-items:flex-start;gap:0.5rem;font-size:0.875rem;color:var(--text-muted)}
.tip-list .dot{margin-top:0.4rem;width:6px;height:6px;flex-shrink:0;border-radius:50%}
.tip-list .dot.green{background:hsl(142 76% 36%)}
.tip-list .dot.yellow{background:hsl(48 96% 53%)}
.page-cta{text-align:center;margin-top:2rem}
.page-cta h2{font-size:1.5rem;font-weight:700;color:var(--text);margin-bottom:1rem}
.page-cta p{color:var(--text-muted);margin-bottom:1.5rem}
.btn-primary-pill{display:inline-flex;align-items:center;gap:0.5rem;border-radius:9999px;background:var(--primary);color:#fff;padding:0.75rem 2rem;font-weight:500;transition:all 0.2s}
.btn-primary-pill:hover{background:var(--primary-light);box-shadow:var(--shadow-lg)}

/* ========== FAQ Page ========== */
.faq-cats{display:flex;flex-wrap:wrap;justify-content:center;gap:0.75rem;margin-bottom:3rem}
.faq-cat-pill{border-radius:9999px;border:1px solid var(--border);background:var(--card);padding:0.5rem 1rem;font-size:0.875rem;font-weight:500;color:var(--text-muted);transition:all 0.2s}
.faq-cat-pill:hover{border-color:var(--primary);color:var(--primary)}
.faq-list{max-width:48rem;margin:0 auto}
.faq-group{margin-bottom:2rem}
.faq-group-title{display:flex;align-items:center;gap:0.5rem;font-size:1.125rem;font-weight:600;color:var(--text);margin-bottom:1rem}
.faq-group-title svg{color:var(--primary)}
.faq-items{display:flex;flex-direction:column;gap:0.75rem}
.faq-item{border-radius:0.75rem;border:1px solid var(--border);background:var(--card);overflow:hidden;transition:border-color 0.2s}
.faq-item:hover{border-color:hsl(262 83% 58%/0.3)}
.faq-item-q{display:flex;width:100%;align-items:center;justify-content:space-between;padding:1rem;text-align:left;font-weight:500;color:var(--text);cursor:pointer}
.faq-item-q svg{flex-shrink:0;color:var(--text-muted);transition:transform 0.3s}
.faq-item.open .faq-item-q svg{transform:rotate(180deg)}
.faq-item-a{max-height:0;overflow:hidden;transition:max-height 0.3s ease,padding 0.3s ease}
.faq-item.open .faq-item-a{max-height:300px;padding:0 1rem 1rem}
.faq-item-a p{font-size:0.875rem;line-height:1.7;color:var(--text-muted)}
.faq-cta{max-width:40rem;margin:4rem auto 0;border-radius:1rem;border:1px solid var(--border);background:var(--card);padding:2rem;text-align:center}
.faq-cta svg{margin:0 auto 1rem;color:var(--primary)}
.faq-cta h2{font-size:1.25rem;font-weight:700;color:var(--text);margin-bottom:0.5rem}
.faq-cta p{color:var(--text-muted);margin-bottom:1.5rem}

/* ========== Contact Page ========== */
.contact-method{display:flex;align-items:center;gap:1.5rem;border-radius:1rem;border:1px solid var(--border);background:var(--card);padding:1.5rem;transition:all 0.3s;margin-bottom:1.5rem;max-width:40rem;margin-left:auto;margin-right:auto}
.contact-method:hover{border-color:hsl(262 83% 58%/0.5);box-shadow:var(--shadow-lg)}
.contact-icon{display:flex;width:3.5rem;height:3.5rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:0.75rem;background:hsl(262 83% 58%/0.1);color:var(--primary);transition:all 0.2s}
.contact-method:hover .contact-icon{background:var(--primary);color:#fff}
.contact-info{flex:1}
.contact-info h3{font-weight:600;color:var(--text)}
.contact-info p{font-size:0.875rem;color:var(--text-muted);margin-top:0.25rem}
.contact-info .email{margin-top:0.5rem;font-weight:500;color:var(--primary)}
.contact-arrow{display:flex;align-items:center;color:var(--text-muted);transition:transform 0.3s,color 0.3s}
.contact-method:hover .contact-arrow{transform:translateX(4px);color:var(--primary)}
.response-section{max-width:40rem;margin:3rem auto 0}
.response-title{text-align:center;font-size:1.25rem;font-weight:600;color:var(--text);margin-bottom:1.5rem}
.response-grid{display:grid;gap:1rem;grid-template-columns:1fr 1fr}
.response-card{border-radius:0.75rem;border:1px solid var(--border);background:var(--card);padding:1.25rem}
.response-card-header{display:flex;align-items:center;gap:0.75rem;margin-bottom:0.75rem}
.response-card-icon{display:flex;width:2.5rem;height:2.5rem;align-items:center;justify-content:center;border-radius:0.5rem;background:var(--secondary);color:var(--text-muted)}
.response-card h3{font-weight:500;color:var(--text)}
.response-card p{font-size:0.875rem;color:var(--text-muted)}
.response-card a{display:inline-flex;align-items:center;gap:0.25rem;font-size:0.875rem;color:var(--primary);margin-top:0.75rem}
.response-card a:hover{text-decoration:underline}
.contact-cta{max-width:32rem;margin:3rem auto 0;border-radius:1rem;border:1px solid hsl(262 83% 58%/0.3);background:hsl(262 83% 58%/0.05);padding:2rem;text-align:center}
.contact-cta-icon{margin:0 auto 1rem;display:flex;width:2.5rem;height:2.5rem;align-items:center;justify-content:center;color:var(--primary)}
.contact-cta-icon svg{width:2.5rem;height:2.5rem}
.contact-cta h2{font-size:1.25rem;font-weight:600;color:var(--text);margin-bottom:0.5rem}
.contact-cta p{font-size:0.875rem;color:var(--text-muted);margin-bottom:1.5rem}
.btn-primary-pill svg{color:#fff}

/* ========== Privacy Page ========== */
.privacy-sections{max-width:48rem;margin:0 auto;display:flex;flex-direction:column;gap:2rem}
.privacy-card{border-radius:1rem;border:1px solid var(--border);background:var(--card);padding:1.5rem;transition:border-color 0.2s}
.privacy-card:hover{border-color:hsl(262 83% 58%/0.3)}
.privacy-card-header{display:flex;align-items:center;gap:0.75rem;margin-bottom:1rem}
.privacy-card-icon{display:flex;width:2.5rem;height:2.5rem;align-items:center;justify-content:center;border-radius:0.75rem;background:hsl(262 83% 58%/0.1)}
.privacy-card-icon svg{color:var(--primary)}
.privacy-card h2{font-size:1.25rem;font-weight:600;color:var(--text)}
.privacy-card-content{font-size:0.875rem;line-height:1.8;color:var(--text-muted);white-space:pre-line}
.privacy-contact{border-radius:1rem;border:1px solid hsl(262 83% 58%/0.3);background:hsl(262 83% 58%/0.05);padding:1.5rem;text-align:center}
.privacy-contact svg{margin:0 auto 1rem;color:var(--primary)}
.privacy-contact h2{font-size:1.25rem;font-weight:600;color:var(--text);margin-bottom:0.5rem}
.privacy-contact p{font-size:0.875rem;color:var(--text-muted);margin-bottom:1rem}
.privacy-contact a{display:inline-flex;align-items:center;gap:0.5rem;color:var(--primary)}
.privacy-contact a:hover{text-decoration:underline}

/* ========== SEO Content (Mini FAQ) ========== */
.seo-faq{padding:4rem 0}
.seo-faq-box{max-width:40rem;margin:0 auto;border-radius:1rem;border:1px solid var(--border);background:var(--card);padding:1.5rem 2rem}
.seo-faq-title{display:flex;align-items:center;gap:0.5rem;font-size:1.125rem;font-weight:600;color:var(--text);margin-bottom:1.5rem}
.seo-faq-title svg{color:var(--primary)}
.seo-faq-items{display:flex;flex-direction:column;gap:1rem}
.seo-faq-item summary{display:flex;cursor:pointer;align-items:flex-start;gap:0.5rem;font-size:0.875rem;font-weight:500;color:var(--text);transition:color 0.2s}
.seo-faq-item summary:hover{color:var(--primary)}
.seo-faq-item summary .q{font-weight:700;color:var(--primary);flex-shrink:0;margin-top:0.05rem}
.seo-faq-item p{margin-left:1.5rem;margin-top:0.5rem;font-size:0.875rem;line-height:1.7;color:var(--text-muted)}
.seo-faq-more{display:inline-flex;align-items:center;gap:0.25rem;font-size:0.875rem;font-weight:500;color:var(--primary);margin-top:1.5rem}
.seo-faq-more:hover{text-decoration:underline}

/* ========== SEO: Category Descriptions ========== */
.seo-categories{padding:3rem 0 2rem}
.seo-categories h2{font-size:1.5rem;font-weight:700;color:var(--text);text-align:center;margin-bottom:0.5rem}
.seo-categories-subtitle{text-align:center;color:var(--text-muted);margin-bottom:2rem;font-size:0.95rem}
.cat-desc-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.cat-desc-item{border-radius:0.75rem;border:1px solid var(--border);background:var(--card);padding:1.25rem;transition:border-color 0.2s}
.cat-desc-item:hover{border-color:hsl(262 83% 58%/0.3)}
.cat-desc-item h3{font-size:1rem;font-weight:600;color:var(--text);margin-bottom:0.5rem}
.cat-desc-item p{font-size:0.875rem;color:var(--text-muted);line-height:1.7}

/* ========== SEO: About Section ========== */
.seo-about{padding:2rem 0 3rem}
.seo-about-box{max-width:48rem;margin:0 auto;border-radius:1rem;border:1px solid var(--border);background:var(--card);padding:2rem}
.seo-about-box h2{font-size:1.25rem;font-weight:700;color:var(--text);margin-bottom:1rem}
.seo-about-box p{font-size:0.875rem;color:var(--text-muted);line-height:1.8;margin-bottom:0.75rem}
.seo-about-box p:last-child{margin-bottom:0}
.seo-about-box a{color:var(--primary);text-decoration:underline}
.seo-about-box a:hover{color:var(--primary-light)}

/* ========== Footer ========== */
.footer{border-top:1px solid var(--border);background:var(--card);padding:3rem 0 2rem}
.footer-grid{display:grid;gap:2rem;grid-template-columns:2fr 1fr 1fr}
.footer-brand p{margin-top:1rem;font-size:0.875rem;color:var(--text-muted);max-width:360px}
.footer-social{display:flex;gap:0.75rem;margin-top:1rem}
.footer-social a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:0.5rem;background:var(--secondary);color:var(--text-muted);transition:all 0.2s}
.footer-social a:hover{background:var(--primary);color:#fff}
.footer-col h3{font-weight:600;margin-bottom:1rem;color:var(--text)}
.footer-col li{margin-bottom:0.5rem}
.footer-col a{font-size:0.875rem;color:var(--text-muted);transition:color 0.2s}
.footer-col a:hover{color:var(--primary)}
.footer-bottom{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--border);text-align:center;font-size:0.875rem;color:var(--text-muted)}
.footer-icp{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:0.5rem}
.footer-icp a{transition:color 0.2s}
.footer-icp a:hover{color:var(--primary)}
.footer-icp-gongan{display:inline-flex;align-items:center;gap:0.25rem}
.footer-disclaimer{margin-top:0.75rem;font-size:0.75rem;color:var(--text-muted-60);max-width:600px;margin-left:auto;margin-right:auto}
.footer-disclaimer a{text-decoration:underline}
.footer-disclaimer a:hover{color:var(--primary)}

/* ========== Animations ========== */
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* ========== Responsive ========== */
@media(min-width:640px){
  .hero-actions{flex-direction:row}
}
@media(min-width:768px){
  .hero h1{font-size:3rem}
  .hero-content{padding:6rem 0}
  .page-hero h1{font-size:2.25rem}
  .brush-section-header{flex-direction:row;align-items:center;justify-content:space-between}
}
@media(min-width:1024px){
  .hero h1{font-size:3.75rem}
  .hero-float{display:block}
}
@media(max-width:767px){
  .nav{display:none}
  .search-form.desktop{display:none}
  .mobile-menu-btn{display:flex}
  .footer-grid{grid-template-columns:1fr}
  .detail-grid{grid-template-columns:1fr}
  .tips-grid{grid-template-columns:1fr}
  .response-grid{grid-template-columns:1fr}
  .related-grid{grid-template-columns:repeat(2,1fr)}
}

/* ========== Scrollbar ========== */
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:hsl(250 15% 95%)}
::-webkit-scrollbar-thumb{background:hsl(250 10% 45%/0.3);border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:hsl(250 10% 45%/0.5)}
