:root{color-scheme:dark;--bg:#09131f;--panel:#112637;--panel2:#152e3f;--gold:#eecb91;--cream:#f8edd9;--muted:#aec5cc;--mint:#8bcfc9;--edge:#456474;--danger:#ffb6ab;--success:#9ee5ba}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 75% -12%,#28515b 0,transparent 50%),linear-gradient(145deg,#09131f,#0d1b2c 62%,#07121b);font:15px/1.68 system-ui,-apple-system,"Microsoft JhengHei",sans-serif;color:var(--cream);min-height:100vh}a{color:var(--gold);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button{cursor:pointer}input,textarea,select{background:#081a2b;color:#f9eed9;border:1px solid #608092;border-radius:8px;padding:11px 13px;width:100%;min-width:0}textarea{resize:vertical;min-height:100px}input:focus,textarea:focus,select:focus,button:focus-visible{outline:2px solid #d2af76;outline-offset:2px}label{display:block;color:#d5e4e3;font-weight:700;font-size:14px;margin:5px 0}small,.muted,.hint{color:var(--muted)}.hint{font-size:13px}button:disabled{opacity:.5;cursor:default}
header{background:#07121eea;border-bottom:1px solid #c9a16a66;position:sticky;top:0;z-index:7;backdrop-filter:blur(12px)}header .shell{min-height:76px;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.brand{font:700 22px/1.1 Georgia,"Noto Serif TC",serif;letter-spacing:2px;color:#f8dfab}nav{display:flex;align-items:center;flex-wrap:wrap;gap:10px}nav a{font-size:13px;color:#d9e3dd;border:1px solid #3e566a;border-radius:8px;padding:7px 9px}nav a[aria-current="page"]{background:#d9ae6d;color:#172333;font-weight:800}
.shell{max-width:1190px;margin:0 auto;padding:0 22px}.hero{padding:54px 0 28px;position:relative}.eyebrow{letter-spacing:4px;text-transform:uppercase;color:var(--mint);font-size:12px;font-weight:800}.hero h1{font:700 clamp(31px,4vw,51px)/1.16 Georgia,"Noto Serif TC",serif;color:#fbe8bc;margin:13px 0}.hero p{max-width:830px;color:#d2dfde;font-size:16px}.decor{height:5px;width:130px;background:linear-gradient(90deg,#efc883,#6fd2bb,transparent);border-radius:3px;margin:21px 0}.panel{background:linear-gradient(145deg,#152f40,#0e2031);border:1px solid #507183;border-radius:15px;padding:21px;margin:19px 0;box-shadow:0 18px 40px #0002}.panel h2{font-size:23px;color:var(--gold);margin:4px 0 13px}.panel h3{color:#eed2a0;margin:7px 0}.badge{display:inline-block;font-size:12px;font-weight:700;border:1px solid #6c8a93;color:#bce2d5;padding:2px 9px;border-radius:100px;margin:5px 5px 0 0}.badge.gold{color:#f6d5a6;border-color:#c8a374}.badge.warn{color:#ffd9ad;border-color:#c78e58}.badge.danger{color:#ffc6bf;border-color:#c96c63}
.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.row>*{min-width:0}.row .grow{flex:1}.field{min-width:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #bca16f;border-radius:9px;padding:10px 16px;background:#1d3c4d;color:#f4e8d7;font-weight:700;min-height:44px}.btn:hover{background:#305062;text-decoration:none}.btn.primary{background:linear-gradient(120deg,#f8e1ac,#d2a362);color:#1b2534;border-color:#d9ad6d}.btn.primary:hover{filter:brightness(1.08)}.btn.red{border-color:#ce8583;color:#ffd1cd;background:#442a35}.btn.small{font-size:13px;padding:7px 10px;min-height:34px}.filters{display:grid;grid-template-columns:minmax(140px,1fr) minmax(200px,2fr) minmax(150px,1fr);gap:13px;align-items:end}.filter-row{display:flex;gap:9px;flex-wrap:wrap;margin:15px 0}.filter-row button{border:1px solid #476d76;color:#d6e6e6;background:#102c39;border-radius:8px;padding:7px 12px}.filter-row button.active{background:#d9b375;color:#172538;border-color:#f5d39b;font-weight:800}
.card{background:linear-gradient(150deg,#183343,#122638);border:1px solid #527180;border-radius:13px;padding:19px;min-width:0}.card h3{margin:2px 0 9px;font-size:20px;color:#f6d7aa}.card p{margin:6px 0;color:#cfdddd}.card .badge{margin-right:5px}.card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.card pre,.pre{white-space:pre-wrap;word-break:break-word;border-radius:8px;background:#0b1a29;padding:12px;color:#bed8d6;font-size:13px;line-height:1.7}.note{border-left:3px solid #e1bd83;background:#1f2b38;padding:13px;border-radius:8px;color:#efd6ac}.feedback{padding:14px 16px;border:1px solid #587585;background:#152f3e;border-radius:10px;margin:15px 0;color:#c7e7df}.feedback.error{color:#ffd1c9;border-color:#ce8080;background:#3b2431}.feedback.success{color:#b8f0cc;border-color:#539783}.empty{padding:23px;text-align:center;border:1px dashed #557081;border-radius:10px;color:#abc0c9}
details{border:1px solid #426577;border-radius:11px;background:#0d2534;padding:13px 16px;margin-top:14px}details summary{cursor:pointer;color:#f5d4a1;font-weight:800}details[open] summary{margin-bottom:14px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid .wide{grid-column:1/-1}.form-grid .row{grid-column:1/-1}.check{display:flex;gap:10px;align-items:center}.check input{width:auto}.split{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:18px;align-items:start}.metric{background:#0c2131;border:1px solid #477481;border-radius:12px;padding:15px}.metric b{font-size:28px;color:#f6daa8;display:block}.metric span{font-size:13px;color:#b1c9ce}.guild-icon{width:48px;height:48px;background:#244855;border:1px solid #d1a977;color:#f7d8a7;border-radius:13px;display:grid;place-items:center;font-size:29px;margin-bottom:12px}.source-links{display:flex;gap:10px;flex-wrap:wrap}.source-links a{font-size:13px;border:1px solid #617c82;padding:7px 11px;border-radius:7px}
footer{border-top:1px solid #304c59;margin-top:48px;padding:30px 0 40px;color:#99b3c0;font-size:13px}hr{border:0;border-top:1px solid #38596c;margin:18px 0}[hidden]{display:none!important}
@media(max-width:880px){.grid.three,.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}}
@media(max-width:630px){.shell{padding:0 14px}.grid.two,.grid.three,.grid.four,.form-grid,.filters{grid-template-columns:1fr}.form-grid .wide,.form-grid .row{grid-column:1/-1}.hero{padding-top:34px}.hero p{font-size:14px}.panel{padding:14px}}
