*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;
     background:#0f1115;color:#e8eaed;line-height:1.6;font-size:15px}
a{color:#7eb6ff;text-decoration:none}
#topbar{position:sticky;top:0;display:flex;justify-content:space-between;
        align-items:center;padding:12px 16px;background:#161a20;
        border-bottom:1px solid #262c36;z-index:10}
.brand{font-weight:600;letter-spacing:2px;color:#c9a86a}
#main{padding:16px;padding-bottom:80px;max-width:640px;margin:0 auto}
#tabbar{position:fixed;bottom:0;left:0;right:0;display:flex;background:#161a20;
        border-top:1px solid #262c36;z-index:10}
#tabbar a{flex:1;text-align:center;padding:12px 0;color:#8a94a3;font-size:13px}
#tabbar a.active{color:#c9a86a}

.card{background:#1a1f28;border:1px solid #262c36;border-radius:12px;
      padding:16px;margin-bottom:14px}
.card h2{font-size:16px;margin-bottom:8px;color:#c9a86a}
.card p{color:#b8c0cc}
.card img{width:100%;border-radius:8px;margin:10px 0}
.state-bar{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;
           margin-bottom:14px}
.state-item{background:#1a1f28;border:1px solid #262c36;border-radius:8px;
            padding:8px 10px;font-size:13px}
.state-item b{color:#c9a86a}

.btn{background:#2a323d;border:1px solid #3a4453;color:#e8eaed;
     padding:10px 16px;border-radius:8px;cursor:pointer;font-size:14px}
.btn.primary{background:#c9a86a;color:#1a1f28;border-color:#c9a86a;font-weight:600}
.btn.danger{background:#5a2a2a;border-color:#8a3a3a}
.btn:disabled{opacity:.5;cursor:not-allowed}
.choice-btn{display:block;width:100%;text-align:left;margin:8px 0;
            background:#222831;border:1px solid #2f3846;color:#e8eaed;
            padding:12px 14px;border-radius:10px;cursor:pointer;font-size:14px}
.choice-btn:hover{border-color:#c9a86a;color:#c9a86a}

.modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;
       align-items:center;justify-content:center;z-index:100}
.modal-box{background:#1a1f28;border:1px solid #262c36;border-radius:14px;
           padding:24px;width:88%;max-width:360px}
.modal-box h3{margin-bottom:14px;color:#c9a86a;text-align:center}
.modal-box input{width:100%;padding:10px 12px;margin-bottom:10px;
                 background:#0f1115;border:1px solid #2f3846;border-radius:8px;
                 color:#e8eaed;font-size:14px}
.modal-actions{display:flex;gap:8px;margin-top:6px}
.modal-actions .btn{flex:1}
.msg{color:#ff8a8a;font-size:13px;text-align:center;margin-top:8px;min-height:18px}

.timeline{position:relative;padding-left:20px}
.timeline::before{content:"";position:absolute;left:6px;top:0;bottom:0;
                  width:1px;background:#2f3846}
.timeline-item{position:relative;padding:8px 0}
.timeline-item::before{content:"";position:absolute;left:-18px;top:14px;
                       width:8px;height:8px;border-radius:50%;background:#c9a86a}
.timeline-item .year{font-size:12px;color:#8a94a3}
.timeline-item .desc{font-size:14px;color:#d8dde5}

.attr-row{display:flex;justify-content:space-between;padding:8px 0;
          border-bottom:1px solid #222831}
.attr-row:last-child{border-bottom:none}
.attr-row span:first-child{color:#8a94a3}
.attr-row span:last-child{color:#c9a86a;font-weight:600}

table{width:100%;border-collapse:collapse;font-size:13px;margin-top:10px}
th,td{border:1px solid #2a323d;padding:6px 8px;text-align:left}
th{background:#161a20;color:#c9a86a}
.admin-layout{display:flex;min-height:calc(100vh - 50px)}
.admin-side{width:180px;background:#161a20;border-right:1px solid #262c36;padding:10px 0}
.admin-side a{display:block;padding:10px 16px;color:#b8c0cc;font-size:14px}
.admin-side a.active{background:#222831;color:#c9a86a;border-left:3px solid #c9a86a}
.admin-main{flex:1;padding:20px;overflow:auto}
.stats{display:flex;gap:14px;margin:14px 0}
.stat{background:#1a1f28;border:1px solid #262c36;border-radius:10px;
      padding:16px 24px;text-align:center;flex:1}
.stat b{display:block;font-size:24px;color:#c9a86a}
.stat span{font-size:12px;color:#8a94a3}
.loading{text-align:center;padding:40px;color:#8a94a3}