/* 好教源AI书法 · 学生作品AI评分 —— 「墨·纸·印」文房主题
   设计token: 纸#f5f1e8/卡#fffdf8/描边#e5dcc8 · 墨#2b2620/#4a4438
             朱砂#b03a2e/#c0392b(行动) · 竹青#3d7a4f(成功) · 米黄#f0ead9(表头) */
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:"Microsoft YaHei","PingFang SC","Hiragino Sans GB",sans-serif;
     background:linear-gradient(180deg,#f7f3ea 0%,#f5f1e8 400px,#f5f1e8 100%);
     color:#2b2620;line-height:1.7;font-size:15px}

/* 导航: 浓墨 */
.nav{background:linear-gradient(135deg,#2b2620 0%,#3a332a 60%,#423a30 100%);color:#fff;
     padding:12px 24px;display:flex;align-items:center;justify-content:space-between;
     flex-wrap:wrap;box-shadow:0 2px 10px rgba(43,38,32,.35)}
.nav .brand{font-size:18px;font-weight:bold;letter-spacing:3px;
     font-family:'Kaiti SC','STKaiti','KaiTi','楷体',serif}
.nav a{color:#fff;text-decoration:none;margin-left:16px;font-size:14px;
      padding:4px 10px;border-radius:14px;background:rgba(255,255,255,.12)}
.nav a:hover{background:rgba(192,57,43,.55)}

/* 布局: 宣纸卡片 */
.container{max-width:1080px;margin:24px auto;padding:0 16px}
.card{background:#fffdf8;border-radius:12px;padding:26px;margin-bottom:20px;
      box-shadow:0 2px 10px rgba(43,38,32,.07);border:1px solid #e5dcc8}
.auth-card{max-width:380px;margin:60px auto}
h2{margin-bottom:16px;color:#2b2620;font-family:'Kaiti SC','STKaiti','KaiTi','楷体',serif;
   letter-spacing:1px}
h3{margin:16px 0 8px;color:#423a30;font-family:'Kaiti SC','STKaiti','KaiTi','楷体',serif}

/* 表单 */
label{display:block;margin:12px 0 4px;font-size:14px;font-weight:bold;color:#4a4438}
input,select,textarea{width:100%;padding:9px 10px;border:1px solid #d8cfba;
     border-radius:8px;font-size:14px;background:#fffefb;color:#2b2620}
input:focus,select:focus,textarea:focus{outline:none;border-color:#b03a2e;
     box-shadow:0 0 0 3px rgba(176,58,46,.10)}
.row{display:flex;gap:14px;flex-wrap:wrap}
.row>div{flex:1;min-width:150px}
/* 按钮: 朱砂印 */
.btn{display:inline-block;background:linear-gradient(135deg,#b03a2e,#c0392b);color:#fff;
     border:none;border-radius:8px;padding:10px 22px;cursor:pointer;text-decoration:none;
     font-size:14px;letter-spacing:2px;box-shadow:0 2px 6px rgba(176,58,46,.28)}
.btn:hover{background:linear-gradient(135deg,#8f2b21,#b03a2e)}
.btn.ghost{background:#fffefb;color:#b03a2e;border:1px solid #dcae9f;box-shadow:none}
.btn.ghost:hover{background:#faf1ec}
.btn-block{width:100%}
.btn.mini{padding:5px 12px;font-size:12px;letter-spacing:1px;border-radius:6px;margin-right:6px}
.sel-ops{margin:6px 0 4px}

/* 表格 */
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{padding:9px 10px;border-bottom:1px solid #ece4d2;text-align:left;vertical-align:top}
th{background:#f0ead9;color:#2b2620;white-space:nowrap;font-family:'Kaiti SC','STKaiti','KaiTi','楷体',serif;
   letter-spacing:1px}
table.info td:first-child{color:#8a8272;width:90px;background:#faf6ec}
table a{color:#b03a2e}
table a:hover{color:#8f2b21}

/* 状态标签 */
.tag{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;white-space:nowrap}
.tag.g{background:#e3efe6;color:#3d7a4f}
.tag.o{background:#f7ecd9;color:#a06a12}
.tag.gr{background:#eae5da;color:#6b6455}

/* 提示 */
.flash{padding:10px 14px;border-radius:8px;margin-bottom:14px}
.flash.ok{background:#e3efe6;color:#2c5e3a}
.flash.err{background:#f9e5e1;color:#8f2b21}
.muted{color:#8a8272;font-size:13px;font-weight:normal}

/* 参赛码/成绩 */
.big-code{font-size:26px;letter-spacing:6px;font-weight:bold;color:#2b2620;
          font-family:'Kaiti SC','STKaiti','KaiTi','楷体',serif;
          padding:10px 18px;background:linear-gradient(135deg,#faf6ec,#f0ead9);
          border:1px dashed #c9b98d;border-radius:10px;display:inline-block}
.score-num{font-size:42px;font-weight:bold;color:#b03a2e}
.copy-input{background:#faf6ec}
.code{font-family:Consolas,monospace;letter-spacing:1px}

/* 筛选 */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;align-items:center}
.filters input,.filters select{width:auto;min-width:90px}

/* 分页 */
.pager{margin-top:14px;text-align:center}
.pager a,.pager .cur{display:inline-block;margin:0 4px;padding:2px 10px;
     border:1px solid #d8cfba;border-radius:6px;text-decoration:none;color:#b03a2e}
.pager a:hover{background:#faf1ec}
.pager .cur{background:#b03a2e;color:#fff;border-color:#b03a2e}

/* 作品详情 */
.detail-row{align-items:flex-start}
.art-col{flex:1.2;min-width:260px}
img.artwork{max-width:100%;border-radius:8px;border:1px solid #e5dcc8;
            box-shadow:0 2px 8px rgba(43,38,32,.12)}

/* 参赛码入口 */
.code-card{max-width:420px;margin:6vh auto 0;text-align:center}
.code-card h2{margin-bottom:6px}
.code-input{font-family:Consolas,monospace;font-size:20px;letter-spacing:4px;
            text-transform:uppercase;text-align:center;padding:12px;
            border-color:#c9b98d}
.code-input:focus{border-color:#b03a2e}

/* 二级页面: 宣纸书法风 */
.portal-wrap{max-width:560px;margin:0 auto;padding:14px 0 30px}
.ink-hero{text-align:center;padding:22px 0 4px;user-select:none}
.ink-char{font-family:'Kaiti SC','STKaiti','KaiTi','楷体',serif;font-size:62px;
          color:#2b2620;line-height:1;display:inline-block;
          text-shadow:2px 3px 0 rgba(43,38,32,.10)}
.ink-seal{display:inline-block;width:28px;height:28px;line-height:29px;margin-left:6px;
          background:#c0392b;color:#fff;border-radius:5px;font-size:16px;
          font-family:'Kaiti SC','STKaiti','KaiTi','楷体',serif;
          transform:translateY(-30px);box-shadow:0 1px 3px rgba(192,57,43,.4)}
.ink-card{text-align:center;background:linear-gradient(180deg,#fffdf7,#faf5ea);
          border:1px solid #eadfc8}
.ink-title{font-family:'Kaiti SC','STKaiti','KaiTi','楷体',serif;font-size:26px;
           color:#2b2620;margin:2px 0 10px;letter-spacing:1px}
.ink-time{margin:0}
.portal-actions{display:flex;gap:18px;flex-wrap:wrap}
.portal-btn{flex:1;min-width:240px;display:block;text-align:center;text-decoration:none;
           color:inherit;padding:30px 18px;transition:transform .15s,box-shadow .15s;
           background:linear-gradient(180deg,#fffdf7,#faf5ea);border:1px solid #eadfc8}
.portal-btn:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(176,58,46,.16);
                 border-color:#c0392b}
.portal-btn h3{margin:12px 0 8px;font-family:'Kaiti SC','STKaiti','KaiTi','楷体',serif;
              letter-spacing:2px;color:#2b2620}
.portal-icon{display:block;margin:0 auto}
.ink-footer{text-align:center;color:#a39a86;font-size:14px;letter-spacing:5px;
            margin-top:22px;font-family:'Kaiti SC','STKaiti','KaiTi','楷体',serif}

/* 移动端 */
@media(max-width:640px){
  .row>div{min-width:100%}
  .nav{padding:10px 14px}
  .container{padding:0 10px}
  .card{padding:18px 14px}
  .filters input,.filters select{min-width:70px}
}
