:root{--bg:#0d181b;--panel:#132429;--ink:#f2e8d3;--muted:#a7b6b5;--gold:#d7b67b;--line:#ffffff18;--green:#76c9b5;--red:#ef9c8e}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:radial-gradient(ellipse at 80% 0,#244044,transparent 48%),var(--bg);font:15px/1.7 'Microsoft YaHei',sans-serif}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select,textarea{outline-offset:5px}button{cursor:pointer}button:disabled{opacity:.45;cursor:wait}button{border:1px solid var(--line);border-radius:7px;background:#ffffff08;color:var(--ink);padding:9px 16px}button:hover{border-color:var(--gold);background:#d7b67b12}header{max-width:1360px;padding:20px 40px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:12px;font:700 24px 'KaiTi',serif;white-space:nowrap}.brand small{display:block;margin-top:6px;font:11px 'Microsoft YaHei',sans-serif;color:var(--muted);letter-spacing:1px}nav{display:flex;align-items:center;gap:18px;font-size:13px}nav a{color:var(--muted)}main{max-width:1280px;margin:8px auto 60px;padding:0 24px}.hero{position:relative;overflow:hidden;border:1px solid #d7b67b44;border-radius:18px;min-height:330px;padding:40px 48px;background:linear-gradient(90deg,#102326 5%,#102326dd 46%,#10232655),url('/assets/hero.webp') center 45%/cover}.eyebrow{font-size:10px;letter-spacing:3px;color:var(--gold);font-weight:600;margin:0 0 10px}.hero h1{font:42px/1.5 'KaiTi','STKaiti',serif;margin:4px 0 12px;letter-spacing:5px}.hero h1 span{display:block;color:var(--gold)}.hero-copy>p:not(.eyebrow){color:#b8c7c6;font-size:13px}.hero-tags{display:flex;gap:18px;color:#d7c3a1;font-size:11px;margin-top:25px}.hero-tags span:before{content:'◇ ';color:var(--gold)}.seal{position:absolute;right:12%;top:50px;border:1px solid #d7b67b66;border-radius:50px;padding:25px 18px;color:#eed6aa;font:28px/1.7 'KaiTi',serif;transform:rotate(7deg);background:#14282b77}.hero-cta{position:absolute;right:44px;bottom:30px;color:var(--gold);letter-spacing:2px;border-bottom:1px solid #d7b67b66;padding:8px}.hero-cta span{padding-left:35px}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);margin:28px 0 36px;padding-bottom:26px}.stats>div{display:flex;gap:14px;align-items:baseline;justify-content:center;border-right:1px solid var(--line)}.stats>div:last-child{border:0}.stats b{font:32px Georgia,serif;color:var(--gold)}.stats span{font-size:12px;color:var(--muted)}.layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:30px}.board,.compose{border:1px solid var(--line);background:#132429d9;border-radius:12px;padding:26px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:20px}h2{font:25px 'KaiTi',serif;margin:4px 0 14px}.section-head h2{margin-bottom:0}.muted,.fine{color:var(--muted);font-size:12px}.filters{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:18px;border-bottom:1px solid var(--line)}.filters label{margin:0}.filters .search{flex:1;min-width:120px}.filters input,.filters select{font-size:12px;padding:9px}.filters button{font-size:12px}.filters #unread-filter{width:100%;font-size:12px;color:var(--gold)}label{display:block;font-size:13px;color:#d8d9cc;margin:15px 0}label em{font-size:10px;color:#9baaaa;font-style:normal;float:right}input,textarea,select{width:100%;display:block;background:#0b191d;color:var(--ink);border:1px solid #52626566;border-radius:6px;padding:10px 12px;margin-top:6px}textarea{resize:vertical}input[type=checkbox]{display:inline;width:16px;margin:0 8px 0 0;vertical-align:middle;accent-color:var(--gold)}.check{font-size:12px}.primary{background:linear-gradient(110deg,#b58a49,#e1c994);color:#192326;border:0;font-weight:700}.primary:hover{background:linear-gradient(110deg,#c59a59,#f1d9a4);color:#192326}.compose .primary{width:100%;text-align:left;margin-top:12px}.compose .primary span{float:right}.compose>p.muted{margin-bottom:25px}.fine{font-size:11px;line-height:1.9}.form-status{color:var(--gold);font-size:12px}.pledge{margin:20px 10px;color:var(--muted);font-size:12px}.pledge>span{color:var(--gold);letter-spacing:4px}.ticket{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:21px 0;background:none}.ticket:hover{background:#ffffff04;border-color:var(--line)}.ticket-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:11px;color:var(--muted)}.tag{padding:2px 8px;background:#ffffff0b;border-radius:3px;font-size:10px;color:var(--gold)}.tag.open{color:var(--gold)}.tag.processing{color:#93c8db}.tag.resolved{color:var(--green)}.tag.unread{color:var(--red);background:#ad3c2626}.ticket h3{font-size:16px;font-weight:500;margin:10px 0 5px;word-break:break-word}.ticket p{margin:0;color:var(--muted);font-size:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.ticket-bottom{display:flex;justify-content:space-between;margin-top:14px;font-size:11px;color:#829a9c}.ticket-bottom span:last-child{color:var(--gold)}.empty{text-align:center;padding:64px 20px;color:var(--muted);font-size:13px}.empty:before{content:'信';display:block;font:44px 'KaiTi',serif;color:#d7b67b88;margin-bottom:18px}.pages{display:flex;justify-content:space-between;align-items:center;margin-top:24px;font-size:11px}.pages button{font-size:11px;padding:7px 10px}.board-note{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;margin-top:24px}footer{border-top:1px solid var(--line);padding:28px 6%;font-size:12px;color:var(--gold);display:flex;justify-content:space-between}footer span{color:var(--muted)}dialog{border:1px solid #b3945d77;background:#122327;color:var(--ink);border-radius:15px;width:min(720px,calc(100% - 28px));max-height:85vh;padding:32px;box-shadow:0 28px 100px #000b}dialog::backdrop{background:#02090bd9;backdrop-filter:blur(6px)}dialog#login{max-width:420px}dialog h2{padding-right:20px;line-height:1.5;word-break:break-word}.close{position:absolute;right:13px;top:10px;font-size:24px;border:0;padding:0 8px}.message{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;font-size:14px;padding:20px 0}.reply{border-left:2px solid #668484;background:#ffffff05;padding:15px 18px;margin:15px 0}.reply.official{border-color:var(--gold);background:#d7b67b0a}.reply p{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0;font-size:13px}.reply small{font-size:10px;color:var(--muted)}.reply b{font-size:11px;color:var(--gold)}.dialog-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px;font-size:12px}#receipt-box{border:1px solid #d7b67b44;background:#d7b67b08;padding:15px;margin-top:20px;border-radius:8px}#receipt-box input{font-size:11px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);border:1px solid var(--gold);background:#152b30;padding:13px 25px;border-radius:8px;z-index:20;max-width:90%;box-shadow:0 8px 40px #0008}.trap{position:absolute;left:-10000px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}@media(max-width:1000px){.layout{grid-template-columns:minmax(0,1fr) 310px;gap:18px}.board,.compose{padding:20px}.hero{padding:32px}header{padding:18px 25px}}@media(max-width:760px){header{padding:16px;align-items:start;flex-wrap:wrap}nav{gap:10px;font-size:11px}nav button{padding:6px 10px}.brand{font-size:21px}main{padding:0 14px}.hero{padding:25px;min-height:340px}.hero h1{font-size:35px;letter-spacing:3px}.hero-copy>p:not(.eyebrow){max-width:85%;font-size:12px}.seal{right:18px;top:25px;font-size:18px;padding:16px 10px}.hero-tags{gap:10px;font-size:10px;flex-wrap:wrap;max-width:85%}.hero-cta{right:24px;bottom:16px;font-size:12px}.stats{margin:22px 0;padding-bottom:20px}.stats>div{display:block;text-align:center}.stats b{font-size:26px;display:block}.stats span{font-size:10px}.layout{grid-template-columns:1fr}.layout aside{order:-1}.compose{padding:22px}.compose h2{font-size:24px}.pledge{display:none}.board{padding:22px 18px}.hero-cta span{padding-left:12px}footer{display:block;text-align:center}footer span{display:block;margin-top:8px}dialog{padding:25px 20px}.pages{gap:8px}.filters .search{min-width:145px}}
