/* 清妍古诗词歌赋 - PC端公共样式 */
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:"Microsoft Yahei","PingFang SC","STKaiti","KaiTi",serif;background:#fdf6ec url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100'%3E%3Ctext x='50' y='60' text-anchor='middle' fill='%238b4513' opacity='0.04' font-size='60' font-family='serif'%3E诗%3C/text%3E%3C/svg%3E");color:#3a2a1a;line-height:1.7;}
a{color:#8b4513;text-decoration:none;transition:color .2s;}
a:hover{color:#c0392b;}
img{max-width:100%;}

/* ====== 顶部导航 ====== */
.navbar{background:linear-gradient(135deg,#5a2e1a 0%,#8b4513 100%);color:#f8ecd6;padding:0 40px;height:70px;display:flex;align-items:center;position:sticky;top:0;z-index:100;box-shadow:0 2px 12px rgba(90,46,26,.3);}
.navbar .logo{font-family:"STKaiti",serif;font-size:28px;letter-spacing:4px;margin-right:50px;color:#f5e6c8;display:flex;align-items:center;gap:10px;}
.navbar .logo img{width:36px;height:36px;border-radius:8px;}
.nav-links{display:flex;gap:8px;flex:1;}
.nav-links a{color:#f5e6c8;padding:10px 18px;border-radius:20px;font-size:16px;transition:all .2s;}
.nav-links a:hover,.nav-links a.active{background:rgba(245,230,200,.15);color:#fff;}
.nav-right{display:flex;align-items:center;gap:14px;}
.nav-right .user-info{color:#f5e6c8;font-size:14px;}
.nav-right .btn{padding:8px 20px;border-radius:20px;font-size:14px;cursor:pointer;border:none;font-family:inherit;}
.btn-ghost{background:transparent;border:1px solid #f5e6c8;color:#f5e6c8;}
.btn-ghost:hover{background:rgba(245,230,200,.15);}
.btn-gold{background:linear-gradient(135deg,#d4a856,#b8893d);color:#fff;border:none;}
.btn-gold:hover{background:linear-gradient(135deg,#e0b868,#c4974b);}

/* ====== 容器 ====== */
.container{max-width:1280px;margin:0 auto;padding:0 24px;}

/* ====== Hero ====== */
.hero{background:linear-gradient(135deg,rgba(139,69,19,.9),rgba(90,46,26,.95)),linear-gradient(45deg,#3a2a1a,#5a2e1a);color:#fdf6ec;padding:80px 0 100px;text-align:center;position:relative;overflow:hidden;}
.hero::before{content:'詩';position:absolute;font-size:500px;color:rgba(245,230,200,.04);top:50%;left:50%;transform:translate(-50%,-50%);font-family:"STKaiti",serif;}
.hero h1{font-family:"STKaiti",serif;font-size:72px;letter-spacing:24px;margin-bottom:16px;position:relative;}
.hero .slogan{font-size:22px;color:#f0d9a8;letter-spacing:6px;margin-bottom:20px;position:relative;}
.hero .subtitle{font-size:16px;color:#d4b896;max-width:640px;margin:0 auto 40px;position:relative;}
.hero-actions{display:flex;gap:16px;justify-content:center;position:relative;}
.hero-actions .btn{padding:14px 36px;border-radius:30px;font-size:17px;cursor:pointer;font-family:inherit;}
.hero-actions .btn-primary{background:#f5d98a;color:#5a2e1a;border:none;font-weight:bold;}
.hero-actions .btn-primary:hover{background:#fbe9b0;transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.3);}
.hero-actions .btn-ghost{background:transparent;color:#f5e6c8;border:2px solid #f5e6c8;}
.hero-actions .btn-ghost:hover{background:rgba(245,230,200,.15);}

/* ====== 通用区块 ====== */
.section{padding:60px 0;}
.section-title{text-align:center;margin-bottom:40px;}
.section-title h2{font-family:"STKaiti",serif;font-size:36px;color:#5a2e1a;letter-spacing:6px;margin-bottom:10px;}
.section-title p{color:#8b6f56;font-size:15px;letter-spacing:2px;}

/* ====== 每日一诗 ====== */
.daily-card{background:#fff;border-radius:16px;padding:50px;box-shadow:0 4px 24px rgba(139,69,19,.08);border:1px solid #f0dfc5;text-align:center;max-width:780px;margin:0 auto;}
.daily-card .label{color:#b8893d;font-size:14px;letter-spacing:8px;margin-bottom:20px;}
.daily-card .poem-title{font-family:"STKaiti",serif;font-size:36px;color:#5a2e1a;margin-bottom:8px;}
.daily-card .poem-author{color:#8b6f56;font-size:16px;margin-bottom:28px;}
.daily-card .poem-body{font-family:"STKaiti",serif;font-size:24px;line-height:2.2;color:#3a2a1a;letter-spacing:2px;}
.daily-card .actions{margin-top:32px;display:flex;gap:12px;justify-content:center;}
.daily-card .actions .btn{padding:10px 24px;border-radius:24px;font-size:14px;cursor:pointer;font-family:inherit;border:1px solid #d4a856;background:#fff;color:#8b4513;}
.daily-card .actions .btn:hover{background:#fdf6ec;}
.daily-card .actions .btn-primary{background:#8b4513;color:#fff;border-color:#8b4513;}

/* ====== 功能卡片栅格 ====== */
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;max-width:1200px;margin:0 auto;}
.feature-card{background:#fff;border-radius:14px;padding:30px;border:1px solid #f0dfc5;text-align:center;transition:all .3s;cursor:pointer;}
.feature-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(139,69,19,.15);border-color:#d4a856;}
.feature-card .icon{font-size:52px;margin-bottom:12px;}
.feature-card h3{font-size:20px;color:#5a2e1a;margin-bottom:8px;font-family:"STKaiti",serif;}
.feature-card p{font-size:14px;color:#8b6f56;line-height:1.8;}

/* ====== 诗词列表页 ====== */
.page-layout{display:grid;grid-template-columns:240px 1fr;gap:30px;padding:30px 0;}
.sidebar{background:#fff;border-radius:12px;padding:20px;border:1px solid #f0dfc5;position:sticky;top:90px;align-self:start;max-height:calc(100vh - 110px);overflow-y:auto;}
.sidebar h3{font-family:"STKaiti",serif;color:#5a2e1a;font-size:18px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #f0dfc5;}
.filter-group{margin-bottom:20px;}
.filter-group label{display:block;font-size:13px;color:#8b6f56;margin-bottom:6px;}
.filter-group a{display:inline-block;padding:4px 12px;margin:2px 4px 2px 0;border-radius:14px;font-size:13px;color:#5a2e1a;background:#fdf6ec;border:1px solid #f0dfc5;}
.filter-group a:hover,.filter-group a.active{background:#8b4513;color:#fff;border-color:#8b4513;}
.search-box{display:flex;gap:8px;margin-bottom:20px;}
.search-box input{flex:1;padding:10px 14px;border:1px solid #d4b896;border-radius:20px;font-size:14px;font-family:inherit;background:#fdf6ec;}
.search-box button{padding:10px 22px;border-radius:20px;background:#8b4513;color:#fff;border:none;cursor:pointer;font-family:inherit;}

.main-content{background:#fff;border-radius:12px;padding:24px;border:1px solid #f0dfc5;}
.poem-list{list-style:none;}
.poem-item{padding:18px 0;border-bottom:1px dashed #f0dfc5;cursor:pointer;transition:padding .2s;}
.poem-item:hover{padding-left:8px;}
.poem-item:last-child{border-bottom:none;}
.poem-item h4{font-family:"STKaiti",serif;font-size:20px;color:#5a2e1a;margin-bottom:4px;}
.poem-item .meta{color:#a08070;font-size:13px;margin-bottom:8px;}
.poem-item .preview{color:#6b5040;font-size:15px;line-height:1.8;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.poem-item .tags{margin-top:6px;}
.poem-item .tag{display:inline-block;padding:2px 8px;background:#fdf6ec;color:#b8893d;border-radius:4px;font-size:12px;margin-right:6px;}

/* ====== 分页 ====== */
.pagination{display:flex;justify-content:center;gap:6px;margin-top:30px;}
.pagination button{padding:8px 14px;border:1px solid #f0dfc5;background:#fff;border-radius:6px;cursor:pointer;font-family:inherit;color:#5a2e1a;}
.pagination button.active,.pagination button:hover{background:#8b4513;color:#fff;border-color:#8b4513;}
.pagination button:disabled{opacity:.4;cursor:not-allowed;}

/* ====== 诗词详情页 ====== */
.detail-hero{background:#fff;border-radius:16px;padding:50px;text-align:center;border:1px solid #f0dfc5;margin-bottom:24px;}
.detail-hero .p-title{font-family:"STKaiti",serif;font-size:42px;color:#5a2e1a;margin-bottom:8px;}
.detail-hero .p-author{color:#8b6f56;font-size:16px;margin-bottom:24px;}
.detail-hero .p-body{font-family:"STKaiti",serif;font-size:26px;line-height:2.4;color:#3a2a1a;letter-spacing:3px;}
.detail-hero .p-body p{margin-bottom:6px;}
.detail-actions{margin-top:30px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.detail-actions .btn{padding:10px 22px;border-radius:20px;border:1px solid #d4a856;background:#fff;color:#8b4513;cursor:pointer;font-family:inherit;font-size:14px;}
.detail-actions .btn-primary{background:#8b4513;color:#fff;border-color:#8b4513;}
.detail-tabs{background:#fff;border-radius:12px;border:1px solid #f0dfc5;overflow:hidden;}
.detail-tabs .tabs-nav{display:flex;border-bottom:1px solid #f0dfc5;}
.detail-tabs .tabs-nav a{flex:1;padding:14px;text-align:center;color:#8b6f56;cursor:pointer;border-bottom:2px solid transparent;}
.detail-tabs .tabs-nav a.active{color:#8b4513;border-bottom-color:#8b4513;background:#fdf6ec;}
.detail-tabs .tab-content{padding:30px;min-height:200px;}
.detail-tabs .tab-pane{display:none;}
.detail-tabs .tab-pane.active{display:block;line-height:2;color:#4a3a2a;}

/* ====== 登录页 ====== */
.login-wrap{min-height:calc(100vh - 70px);display:flex;align-items:center;justify-content:center;padding:40px 20px;}
.login-card{background:#fff;border-radius:18px;padding:40px;max-width:460px;width:100%;box-shadow:0 8px 40px rgba(139,69,19,.12);border:1px solid #f0dfc5;}
.login-card h2{font-family:"STKaiti",serif;color:#5a2e1a;font-size:28px;text-align:center;margin-bottom:6px;letter-spacing:4px;}
.login-card .sub{text-align:center;color:#8b6f56;font-size:14px;margin-bottom:30px;}
.login-tabs{display:flex;margin-bottom:24px;border-bottom:2px solid #f0dfc5;}
.login-tabs a{flex:1;padding:12px;text-align:center;cursor:pointer;color:#8b6f56;border-bottom:2px solid transparent;margin-bottom:-2px;font-size:16px;}
.login-tabs a.active{color:#8b4513;border-bottom-color:#8b4513;}
.form-group{margin-bottom:18px;}
.form-group label{display:block;font-size:14px;color:#5a2e1a;margin-bottom:6px;}
.form-group input{width:100%;padding:12px 14px;border:1px solid #d4b896;border-radius:8px;font-size:15px;font-family:inherit;background:#fdf6ec;}
.form-group input:focus{outline:none;border-color:#8b4513;background:#fff;}
.form-group .hint{font-size:12px;color:#a08070;margin-top:6px;}
.btn-block{width:100%;padding:13px;border-radius:8px;font-size:16px;cursor:pointer;font-family:inherit;}
.qrcode-box{text-align:center;padding:10px 0;}
.qrcode-box img{width:240px;height:240px;border-radius:12px;border:8px solid #fdf6ec;box-shadow:0 4px 16px rgba(139,69,19,.1);}
.qrcode-box .tip{color:#8b6f56;margin-top:14px;font-size:14px;line-height:1.8;}
.qrcode-box .expired{color:#c0392b;margin-top:8px;}
.qrcode-box .refresh{color:#8b4513;cursor:pointer;text-decoration:underline;}

/* ====== 飞花令页 ====== */
.battle-wrap{max-width:900px;margin:0 auto;}
.battle-room{background:#fff;border-radius:16px;padding:40px;border:1px solid #f0dfc5;text-align:center;}
.battle-room .char-big{font-family:"STKaiti",serif;font-size:120px;color:#8b4513;margin:20px 0;text-shadow:0 4px 16px rgba(139,69,19,.15);}
.battle-room .battle-input{display:flex;gap:10px;margin-top:20px;max-width:500px;margin-left:auto;margin-right:auto;}
.battle-room .battle-input input{flex:1;padding:14px 18px;border:2px solid #d4b896;border-radius:24px;font-size:16px;font-family:"STKaiti",serif;}
.battle-room .battle-input button{padding:14px 28px;border-radius:24px;background:#8b4513;color:#fff;border:none;cursor:pointer;font-family:inherit;font-size:15px;}
.battle-log{max-height:320px;overflow-y:auto;padding:20px;text-align:left;background:#fdf6ec;border-radius:10px;margin-top:20px;}
.battle-log .line{padding:8px 0;border-bottom:1px dashed #f0dfc5;font-family:"STKaiti",serif;font-size:18px;line-height:1.8;}
.battle-log .line.me{color:#8b4513;}
.battle-log .line.ai{color:#2c7873;}
.battle-log .line.sys{color:#b8893d;font-size:14px;font-family:inherit;text-align:center;}
.char-select{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:20px 0;}
.char-select span{padding:6px 14px;background:#fdf6ec;border:1px solid #f0dfc5;border-radius:18px;cursor:pointer;font-family:"STKaiti",serif;font-size:18px;color:#5a2e1a;}
.char-select span:hover,.char-select span.active{background:#8b4513;color:#fff;border-color:#8b4513;}

/* ====== 会员页 ====== */
.vip-hero{background:linear-gradient(135deg,#3a2a1a 0%,#8b4513 50%,#d4a856 100%);color:#fdf6ec;padding:60px 0;text-align:center;border-radius:0;margin:0;}
.vip-hero h1{font-family:"STKaiti",serif;font-size:48px;letter-spacing:12px;margin-bottom:10px;}
.vip-hero .crown{font-size:60px;margin-bottom:10px;}
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:960px;margin:40px auto;}
.plan-card{background:#fff;border-radius:14px;padding:30px;border:2px solid #f0dfc5;text-align:center;position:relative;transition:all .3s;cursor:pointer;}
.plan-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(212,168,86,.3);}
.plan-card.hot{border-color:#d4a856;}
.plan-card.hot::before{content:'推荐';position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,#d4a856,#b8893d);color:#fff;padding:4px 16px;border-radius:12px;font-size:12px;}
.plan-card h3{font-family:"STKaiti",serif;font-size:24px;color:#5a2e1a;margin-bottom:8px;}
.plan-card .price{font-size:40px;color:#c0392b;font-weight:bold;margin:10px 0;}
.plan-card .price small{font-size:14px;color:#a08070;font-weight:normal;}
.plan-card ul{list-style:none;text-align:left;padding:20px 0;border-top:1px dashed #f0dfc5;}
.plan-card ul li{padding:6px 0;color:#4a3a2a;font-size:14px;}
.plan-card ul li::before{content:'✓ ';color:#d4a856;font-weight:bold;}
.plan-card button{margin-top:10px;width:100%;padding:12px;border-radius:24px;background:#8b4513;color:#fff;border:none;cursor:pointer;font-family:inherit;font-size:15px;}
.plan-card.hot button{background:linear-gradient(135deg,#d4a856,#b8893d);}

/* ====== 个人中心 ====== */
.profile-card{background:#fff;border-radius:14px;padding:30px;display:flex;gap:24px;align-items:center;margin-bottom:20px;border:1px solid #f0dfc5;}
.profile-card .avatar{width:80px;height:80px;border-radius:50%;background:#f0dfc5;display:flex;align-items:center;justify-content:center;font-size:40px;font-family:"STKaiti",serif;color:#8b4513;overflow:hidden;}
.profile-card .avatar img{width:100%;height:100%;object-fit:cover;}
.profile-card .info h3{font-family:"STKaiti",serif;font-size:24px;color:#5a2e1a;margin-bottom:6px;}
.profile-card .info .meta{color:#8b6f56;font-size:14px;}
.profile-card .vip-badge{margin-left:auto;padding:8px 18px;background:linear-gradient(135deg,#d4a856,#b8893d);color:#fff;border-radius:20px;font-size:14px;}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px;}
.stat-box{background:#fff;border-radius:10px;padding:20px;text-align:center;border:1px solid #f0dfc5;}
.stat-box .num{font-size:28px;color:#8b4513;font-family:"STKaiti",serif;font-weight:bold;}
.stat-box .label{color:#8b6f56;font-size:13px;margin-top:4px;}

/* ====== 社区 ====== */
.post-card{background:#fff;border-radius:12px;padding:24px;margin-bottom:16px;border:1px solid #f0dfc5;}
.post-card .post-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.post-card .post-head .av{width:36px;height:36px;border-radius:50%;background:#f0dfc5;display:flex;align-items:center;justify-content:center;color:#8b4513;font-size:16px;}
.post-card .post-head .nm{color:#5a2e1a;font-size:14px;}
.post-card .post-head .tm{color:#a08070;font-size:12px;margin-left:auto;}
.post-card h4{font-family:"STKaiti",serif;font-size:20px;color:#5a2e1a;margin-bottom:8px;}
.post-card .post-body{color:#4a3a2a;line-height:1.8;}
.post-card .post-foot{margin-top:12px;padding-top:12px;border-top:1px dashed #f0dfc5;color:#8b6f56;font-size:13px;display:flex;gap:20px;}

/* ====== 底部 ====== */
.footer{background:#3a2a1a;color:#c4a88a;padding:40px 0;text-align:center;margin-top:40px;}
.footer a{color:#d4b896;}
.footer .links{margin-bottom:16px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 24px;}
.footer .links a{margin:0;}
.footer p{font-size:13px;color:#8b6f56;line-height:2;}

/* ====== 消息提示 ====== */
.toast{position:fixed;top:30px;left:50%;transform:translateX(-50%);background:rgba(58,42,26,.92);color:#fff;padding:12px 24px;border-radius:24px;z-index:9999;font-size:14px;opacity:0;transition:opacity .3s;pointer-events:none;}
.toast.show{opacity:1;}

/* ====== 作者页 ====== */
.author-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;}
.author-card{background:#fff;border-radius:10px;padding:20px;text-align:center;border:1px solid #f0dfc5;cursor:pointer;transition:all .3s;}
.author-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(139,69,19,.1);}
.author-card .name{font-family:"STKaiti",serif;font-size:22px;color:#5a2e1a;}
.author-card .dynasty{color:#b8893d;font-size:13px;margin:4px 0;}
.author-card .cnt{color:#8b6f56;font-size:12px;}

/* ====== 响应式 ====== */
@media (max-width: 960px){
    .navbar{padding:0 16px;}
    .nav-links{gap:0;}
    .nav-links a{padding:8px 12px;font-size:14px;}
    .hero h1{font-size:44px;letter-spacing:12px;}
    .page-layout{grid-template-columns:1fr;}
    .sidebar{position:static;max-height:none;}
    .plan-grid{grid-template-columns:1fr;}
    .stats-grid{grid-template-columns:repeat(2,1fr);}
}

@media (max-width: 640px){
    .navbar{height:auto;flex-wrap:wrap;padding:10px 14px;gap:6px;}
    .navbar .logo{margin-right:auto;font-size:22px;letter-spacing:2px;}
    .nav-links{flex-basis:100%;order:10;flex-wrap:wrap;gap:2px;justify-content:center;}
    .nav-links a{padding:5px 8px;font-size:12px;border-radius:16px;}
    .nav-right{margin-left:auto;}
    .container{padding:0 14px;}
    .section{padding:36px 0;}
    .hero{padding:46px 0 56px;}
    .hero h1{font-size:28px;letter-spacing:6px;}
    .hero .slogan{font-size:16px;letter-spacing:3px;}
    .hero .subtitle{font-size:14px;padding:0 14px;}
    .daily-card{padding:30px 18px;}
    .daily-card .poem-title{font-size:26px;}
    .daily-card .poem-body{font-size:20px;}
    .detail-hero{padding:30px 16px;}
    .detail-hero .p-title{font-size:28px;}
    .detail-hero .p-body{font-size:21px;}
    .vip-hero h1{font-size:34px;letter-spacing:6px;}
    .login-card{padding:28px 20px;}
}

/* 工具栏（筛选/搜索/按钮） */
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.layui-input,.layui-select{
    height:38px;padding:0 12px;border:1px solid #d7c6ab;border-radius:6px;
    background:#fdf6ec;font-size:14px;color:#3a2418;outline:none;
    font-family:"Noto Serif SC","PingFang SC","Microsoft YaHei",serif;
}
.layui-input:focus{border-color:#b83a2a;box-shadow:0 0 0 2px rgba(184,58,42,0.15);}
.layui-select{min-width:120px;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#8b6f56 50%),linear-gradient(135deg,#8b6f56 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:30px;cursor:pointer;}

/* 分页 */
.pagination{display:flex;gap:6px;justify-content:center;margin-top:24px;flex-wrap:wrap;}
.pagination button{min-width:38px;height:36px;padding:0 12px;border:1px solid #d7c6ab;background:#fdf6ec;color:#5a2e1a;border-radius:6px;cursor:pointer;font-size:14px;}
.pagination button:hover:not(:disabled){border-color:#b83a2a;color:#b83a2a;}
.pagination button.active{background:#b83a2a;color:#fdf6ec;border-color:#b83a2a;}
.pagination button:disabled{opacity:0.4;cursor:not-allowed;}

/* 作者卡片（a 标签化） */
.author-card{display:block;text-align:center;padding:24px 12px;background:linear-gradient(180deg,#fdf6ec 0%,#f6ebd7 100%);border:1px solid #e0cfb3;border-radius:10px;cursor:pointer;transition:all .25s;text-decoration:none;color:inherit;}
.author-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px rgba(90,46,26,0.15);border-color:#b83a2a;}
.author-card .name{font-size:22px;font-weight:700;color:#5a2e1a;font-family:"KaiTi","STKaiti",serif;letter-spacing:2px;}
.author-card .dynasty{margin-top:6px;color:#8b6f56;font-size:13px;}
.author-card .cnt{margin-top:8px;color:#b83a2a;font-size:13px;}
