:root{--bg: #080e16;--surface: #0e1824;--surface2: #121e2c;--border: #243648;--text: #e8f0f8;--muted: #8296aa;--accent: #00c8a7;--accent-dark: #008c76;--warn: #e8b048;--danger: #dc5a5a;--input: #0a121c}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100vh}body{font-family:Microsoft YaHei UI,PingFang SC,Segoe UI,sans-serif;color:var(--text);background:var(--bg);overflow-x:hidden;cursor:auto;-webkit-user-select:none;user-select:none}textarea,input{-webkit-user-select:text;user-select:text}body.touch-device{cursor:auto}.bg-anim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden;background:radial-gradient(900px 420px at 8% -8%,rgba(0,200,167,.12),transparent 55%),radial-gradient(700px 380px at 92% 18%,rgba(0,200,167,.06),transparent 50%),var(--bg)}.bg-anim:before,.bg-anim:after{content:"";position:absolute;border-radius:50%;filter:blur(48px);opacity:.4;animation:drift 18s ease-in-out infinite alternate}.bg-anim:before{width:420px;height:420px;left:-80px;top:10%;background:#00c8a72e}.bg-anim:after{width:340px;height:340px;right:-50px;bottom:6%;background:#e8b0481a;animation-duration:22s;animation-delay:-6s}@keyframes drift{0%{transform:translate(0) scale(1)}to{transform:translate(48px,-36px) scale(1.12)}}.wrap{position:relative;z-index:1;width:min(1000px,calc(100% - 2rem));margin:0 auto;padding:0 0 2.5rem}.reveal{opacity:0;transform:translateY(14px);animation:rise-in .65s cubic-bezier(.22,1,.36,1) forwards}.reveal.d1{animation-delay:.06s}.reveal.d2{animation-delay:.14s}.reveal.d3{animation-delay:.22s}.reveal.d4{animation-delay:.3s}@keyframes rise-in{to{opacity:1;transform:translateY(0)}}.header{display:flex;align-items:stretch;gap:0;margin:1.1rem 0 .9rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.header-accent{width:5px;background:var(--accent);flex:0 0 auto}.header-body{padding:.85rem 1.1rem}.brand{margin:0;font-size:1.35rem;font-weight:800;letter-spacing:.04em;color:var(--accent)}.subtitle{margin:.25rem 0 0;color:var(--muted);font-size:.92rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:.85rem 1rem 1rem;margin-bottom:.85rem;position:relative;overflow:hidden;transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}.card:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--border);border-radius:12px 12px 0 0;z-index:1}.card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,transparent 30%,rgba(0,200,167,.12) 48%,transparent 62%);transform:translate(-120%);transition:transform .55s ease;pointer-events:none}.card:hover{border-color:#00c8a773;box-shadow:0 12px 32px #00000047,0 0 0 1px #00c8a71f;transform:translateY(-2px)}.card:hover:after{transform:translate(120%)}.card-head{display:flex;align-items:center;gap:.75rem;margin-bottom:.55rem;flex-wrap:wrap}.section-title{color:var(--muted);font-size:.9rem}.count{color:var(--accent);font-weight:700;font-size:.9rem}.spacer{flex:1}label{display:block;color:var(--muted);font-size:.85rem;margin-bottom:.35rem}textarea,input[type=number],input[type=text]{width:100%;border:1px solid var(--border);background:var(--input);color:var(--text);border-radius:8px;padding:.65rem .75rem;font:inherit;transition:border-color .2s ease,box-shadow .2s ease}textarea:focus,input:focus{outline:none;border-color:#00c8a78c;box-shadow:0 0 0 3px #00c8a71f}textarea{min-height:96px;resize:vertical;font-family:Consolas,ui-monospace,monospace;font-size:.95rem}textarea.hidden-box,.hidden-box{display:none}.key-grid{display:grid;grid-template-columns:1.4fr .45fr .7fr;gap:.75rem;align-items:end}@media(max-width:800px){.key-grid{grid-template-columns:1fr}}.actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.btn{border:1px solid var(--border);background:var(--surface2);color:var(--text);border-radius:8px;padding:.55rem 1rem;font-weight:700;font-size:.92rem;cursor:pointer;transition:transform .15s ease,filter .15s ease,background .15s ease}body.touch-device .btn,body.touch-device a{cursor:pointer}.btn.primary{background:var(--accent);color:#061210;border-color:transparent}.btn.primary:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.btn:hover:not(:disabled):not(.primary){background:#1c2c3e;transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(1px) scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.sm{padding:.3rem .75rem;font-size:.85rem}.file-btn{display:inline-flex;align-items:center;margin:0}.status-line{margin-top:.65rem;color:var(--muted);min-height:1.25em}.status-line.busy{color:var(--text);animation:status-pulse 1.4s ease-in-out infinite}.status-line.ok{color:var(--accent)}.status-line.warn{color:var(--warn)}.status-line.bad{color:var(--danger)}@keyframes status-pulse{0%,to{opacity:.7}50%{opacity:1}}.meta-row{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:center;margin-top:.55rem}.time-info{color:var(--warn);font-weight:700;font-size:.9rem}.progress{flex:1;min-width:160px;height:10px;background:var(--input);border:1px solid var(--border);border-radius:999px;overflow:hidden}.progress>i{display:block;height:100%;width:0%;background:linear-gradient(90deg,var(--accent-dark),var(--accent));transition:width .25s ease}table{width:100%;border-collapse:collapse;font-family:Consolas,ui-monospace,monospace;font-size:.9rem}th,td{text-align:left;padding:.55rem .4rem;border-bottom:1px solid var(--border)}th{color:var(--muted);font-family:Microsoft YaHei UI,PingFang SC,sans-serif;font-weight:600}tbody tr:nth-child(odd){background:var(--input)}tbody tr:nth-child(2n){background:var(--surface2)}tbody tr.row-new{animation:row-in .35s ease both}@keyframes row-in{0%{opacity:0;transform:translate(-8px);background:#00c8a71f}to{opacity:1;transform:none}}.addr-link{color:inherit;text-decoration:none;border-bottom:1px dashed rgba(0,200,167,.45)}.addr-link:hover,.row-ok{color:var(--accent)}.row-bad{color:var(--danger)}.ripple-canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;z-index:9999;pointer-events:none}@media(prefers-reduced-motion:reduce){.bg-anim:before,.bg-anim:after,.reveal,.status-line.busy,tbody tr.row-new{animation:none!important}.reveal{opacity:1;transform:none}body{cursor:auto}.card:after{display:none}}
