*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Segoe UI",Arial,"Hiragino Sans GB","Noto Sans CJK SC",sans-serif;color:#2b2b2b;background:#f6efdf}
a{text-decoration:none;color:#8b3f2d}img{max-width:100%;display:block}
.site-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #e8dcc5;background:#f3ead7;position:sticky;top:0;z-index:10}
.brand{display:flex;align-items:center;gap:10px}.brand-icon{width:56px;height:56px;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,.06)}.brand-text{font-size:22px;letter-spacing:2px}
.nav{display:flex;gap:10px;flex-wrap:wrap}.nav a{padding:8px 14px;border:1px solid #e0d6c1;border-radius:22px;background:#fff0;transition:.2s}.nav a:hover,.nav a.active{background:#fff;border-color:#d9cdb6}
.container{max-width:1200px;margin:24px auto;padding:0 16px}.section{margin-bottom:32px}.section h2{margin:6px 0 16px 6px;font-size:22px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}.card{background:#fff;border:1px solid #e9dfca;border-radius:14px;overflow:hidden;box-shadow:0 4px 18px rgba(0,0,0,.04)}.card>a img{width:100%;height:220px;object-fit:cover}.card-text{padding:12px 14px}.card-module{font-size:12px;color:#a07b63;margin-bottom:6px}.card-desc{line-height:1.65}.card time{display:block;margin-top:6px;color:#9a8f81;font-size:12px}.empty{padding:40px;text-align:center;color:#9a8f81}
.ticker{overflow:hidden;border:1px dashed #d6cbb4;border-radius:14px;background:#fff}.ticker-track{display:flex;gap:16px;padding:10px;animation:scroll 40s linear infinite}.ticker:hover .ticker-track{animation-play-state:paused}.ticker-item{display:flex;gap:10px;align-items:center;min-width:320px}.ticker-item img{width:72px;height:48px;object-fit:cover;border-radius:8px;border:1px solid #eee}.ti-text{display:flex;flex-direction:column}.ti-tag{font-size:12px;color:#a0755f}.ti-desc{font-size:14px;max-width:480px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes scroll {from{transform:translateX(0)} to{transform:translateX(-50%)}}
.site-footer{padding:30px 16px;border-top:1px solid #e8dcc5;color:#8a8277;text-align:center}
.login-box{max-width:460px;margin:60px auto;background:#fff;border:1px solid #eadfca;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:10px}.login-box input[type=password]{padding:10px;border:1px solid #e0d6c1;border-radius:8px}.login-box button{padding:10px 14px;border:none;border-radius:10px;background:#caa061;color:#fff;cursor:pointer}.login-box .error{color:#c33}
.admin{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel{background:#fff;border:1px solid #eadfca;border-radius:12px;padding:16px}.panel h3{margin:0 0 10px}.panel form{display:flex;flex-direction:column;gap:8px}.panel input[type=file],.panel select,.panel textarea{padding:8px;border:1px solid #e0d6c1;border-radius:8px;background:#fff}.panel button,.btn{padding:8px 12px;border:none;border-radius:8px;background:#caa061;color:#fff;cursor:pointer}.items{display:flex;flex-direction:column;gap:12px;max-height:70vh;overflow:auto}.item{display:grid;grid-template-columns:140px 1fr;gap:12px;border-top:1px dashed #eee;padding-top:12px}.thumb img{width:140px;height:100px;object-fit:cover;border-radius:8px;border:1px solid #eee}.row{display:flex;gap:8px;align-items:center}@media(max-width:900px){.admin{grid-template-columns:1fr}.item{grid-template-columns:1fr}}

/* brand small */
@media(max-width:600px){.brand-icon{width:44px;height:44px}}


/* Links page */
.link-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.link-item{display:block;background:#fff;border:1px solid #eadfca;border-radius:12px;padding:12px 14px}
.link-item .link-title{font-weight:600;margin-bottom:6px}
.link-item .link-desc{color:#8a8277;font-size:14px}

/* Feedback */
.msg-form{background:#fff;border:1px solid #eadfca;border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.msg-form input[type=text], .msg-form textarea{padding:10px;border:1px solid #e0d6c1;border-radius:8px;background:#fff}
.msg-form button{align-self:flex-start;padding:8px 12px;border:none;border-radius:8px;background:#caa061;color:#fff;cursor:pointer}
.msg-form .ok{color:#2c8f4e;font-size:14px}
.msg-form .error{color:#c33;font-size:14px}
.msg-list{display:flex;flex-direction:column;gap:12px}
.msg-item{background:#fff;border:1px solid #eadfca;border-radius:12px;padding:12px}
.msg-item .meta{color:#8a8277;font-size:13px;margin-bottom:6px}
.msg-item .reply{margin-top:8px;padding:10px;background:#f7f2e6;border-radius:8px;border:1px dashed #e0d6c1}
.admin-reply textarea{width:100%;padding:8px;border:1px solid #e0d6c1;border-radius:8px;background:#fff;margin-top:8px}
