*{box-sizing:border-box}
html,body{overflow-x:hidden}body{font-family:"Microsoft YaHei",system-ui,-apple-system,sans-serif;background:#fff;margin:0;color:#222;font-size:14px}
header{background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.18);padding:12px;font-size:16px;display:flex;align-items:center;gap:22px}
header nav a{color:#555;text-decoration:none;font-size:14px;margin-right:16px}header nav a.on{color:#1e88e5;font-weight:600}
main{max-width:1110px;width:100%;margin:40px auto 40px;padding:0 16px}
a{color:#1e88e5}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.tile{display:block;border:1px solid #ddd;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.08);padding:14px 16px;text-decoration:none;color:#222}
.tile:hover{border-color:#1e88e5}.tile b{display:block;font-size:15px;margin-bottom:6px}.tile span{color:#777;font-size:13px}
.panel{border:1px solid #ddd;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.ph{background:#f5f5f5;border-bottom:1px solid #ddd;padding:10px 14px;font-size:15px;display:flex;justify-content:space-between;align-items:center}
.pb{padding:14px}
textarea,input[type=text],input[type=number],input[type=password],select{font:13px/1.5 Consolas,Menlo,monospace;border:1px solid #ccc;border-radius:3px;padding:6px 8px;max-width:100%}
textarea{width:100%;min-height:160px;resize:vertical}
input[type=text]{width:100%}
.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0}
.row label{white-space:nowrap}
button{background:#1e88e5;color:#fff;border:0;border-radius:3px;padding:7px 14px;cursor:pointer;font-size:13px}
button.g{background:#eee;color:#333}button:hover{opacity:.9}
.out{position:relative}
.cp{position:absolute;right:6px;top:6px;padding:3px 8px;font-size:12px;background:#eee;color:#333;z-index:2}
.msg{margin:8px 0;min-height:20px}.ok{color:#2e7d32}.bad{color:#c0392b}
table{border-collapse:collapse;width:100%;font-size:13px}th,td{border:1px solid #e3e3e3;padding:6px 8px;text-align:left;vertical-align:top;word-break:break-all}th{background:#fafafa}
.cols{display:flex;gap:14px}.cols>*{flex:1 1 0;min-width:0}
mark{background:#ffe082}mark:nth-of-type(even){background:#b3e5fc}
.hl{white-space:pre-wrap;word-break:break-all;font:13px/1.5 Consolas,monospace;border:1px solid #eee;padding:8px;min-height:40px}
.meter{height:8px;background:#eee;border-radius:4px;overflow:hidden}.meter i{display:block;height:100%}
.back{display:inline-block;margin-bottom:12px;text-decoration:none}
.stats td:first-child{width:40%}
.foot{margin-top:30px;text-align:center;color:#999;font-size:12px}
@media(max-width:700px){main{margin-top:20px}.cols{flex-direction:column}header{gap:10px}}
header nav a{white-space:nowrap}@media(max-width:560px){header>span{display:none}}
header nav{display:flex;min-width:0;overflow-x:auto;scrollbar-width:none}header nav::-webkit-scrollbar{display:none}
