@import "https://fonts.googleapis.com/css2?family=Kanit:wght@400;500;600;700&display=swap";:root{--bg-page:#faf9fa;--bg-gradient:linear-gradient(139.73deg, #e5fdff 0%, #f3efff 100%);--bg-card:#fff;--bg-input:#eeeaf4;--primary:#1fc7d4;--primary-hover:#13b5c1;--primary-dark:#0098a1;--secondary:#7645d9;--secondary-light:#a881fc;--text-primary:#280d5f;--text-secondary:#7a6eaa;--text-muted:#b8add2;--success:#31d0aa;--warning:#ffb237;--error:#ed4b9e;--border:#e7e3eb;--border-focus:#7645d9;--shadow-card:0 0 0 1px #00000003, 0 4px 16px #0000000a;--shadow-card-hover:0 0 0 1px #00000005, 0 8px 24px #00000014;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px;--radius-full:9999px;color:var(--text-primary);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Kanit,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-page);min-height:100vh}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3{color:var(--text-primary);font-family:Kanit,sans-serif;font-weight:600}h1{margin:0;font-size:1.5rem}h2{margin:0 0 8px;font-size:1.2rem}p{margin:0}code{border-radius:var(--radius-sm);color:var(--secondary);background:#eeeaf4;border:none;padding:2px 8px;font-family:SF Mono,Fira Code,monospace;font-size:.82em;display:inline-flex}::selection{background:var(--secondary-light);color:#fff}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px}@media (width<=768px){h1{font-size:1.25rem}h2{font-size:1.05rem}}.app{background:var(--bg-gradient);flex-direction:column;min-height:100vh;display:flex}.header{z-index:100;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#ffffffd9;justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex;position:sticky;top:0}.header-left{align-items:center;gap:12px;display:flex}.header-left .logo-img{border-radius:50%;width:40px;height:40px}.header-left h1{color:var(--secondary);letter-spacing:0;font-size:1.25rem;font-weight:700}.nav-mass-link{color:var(--secondary);border-radius:var(--radius-full);background:var(--bg-input);padding:4px 10px;font-size:.8rem;text-decoration:none}.nav-mass-link:hover{text-decoration:underline}.header-right{align-items:center;gap:16px;display:flex}.header-right .subtitle{color:var(--text-secondary);font-size:.8rem;display:none}@media (width>=640px){.header-right .subtitle{display:block}}.wallet-row{align-items:center;gap:8px;display:flex}.wallet-row .chain{color:var(--text-muted);background:var(--bg-input);border-radius:var(--radius-full);padding:4px 10px;font-size:.75rem}.hero-section{text-align:center;padding:48px 24px 24px}.hero-mascot{width:120px;height:120px;margin:0 auto 16px;animation:3s ease-in-out infinite float}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.hero-title{color:var(--text-primary);margin-bottom:12px;font-size:2.5rem;font-weight:700;line-height:1.15}.hero-title .highlight{color:var(--secondary)}.hero-subtitle{color:var(--text-secondary);max-width:480px;margin:0 auto;font-size:1rem;line-height:1.6}.main{flex-direction:column;flex:1;gap:16px;width:100%;max-width:620px;margin:0 auto;padding:0 16px 40px;display:flex}.card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:1px solid var(--border);padding:24px;transition:box-shadow .2s}.card:hover{box-shadow:var(--shadow-card-hover)}.card h2{color:var(--text-primary);align-items:center;gap:10px;margin-bottom:12px;font-size:1.15rem;font-weight:600;display:flex}.step-num{background:var(--secondary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;font-weight:700;display:inline-flex}.hint{color:var(--text-secondary);margin-bottom:12px;font-size:.88rem}.file-input{display:none}.file-row{align-items:center;gap:12px;display:flex}.btn{cursor:pointer;border-radius:var(--radius-md);border:none;justify-content:center;align-items:center;gap:8px;padding:10px 24px;font-family:Kanit,sans-serif;font-size:.95rem;font-weight:600;transition:all .2s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 4px 12px #1fc7d44d}.btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 6px 16px #1fc7d466}.btn-secondary{background:var(--primary);color:#fff;border-radius:var(--radius-md)}.btn-secondary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.btn-approve{background:var(--secondary);color:#fff;box-shadow:0 4px 12px #7645d94d}.btn-approve:hover:not(:disabled){background:#6b3ec9;transform:translateY(-1px);box-shadow:0 6px 16px #7645d966}.btn-small{background:var(--bg-input);color:var(--secondary);border-radius:var(--radius-sm);padding:6px 14px;font-size:.82rem}.btn-small:hover{background:#e0d8ea}.btn-lg{border-radius:var(--radius-md);width:100%;padding:14px 24px;font-size:1.05rem}.textarea-wrap{flex-direction:column;gap:8px;margin-top:12px;display:flex}.csv-textarea{border-radius:var(--radius-md);border:2px solid var(--border);background:var(--bg-input);width:100%;color:var(--text-primary);resize:vertical;padding:12px 16px;font-family:SF Mono,Fira Code,monospace;font-size:.82rem;transition:border-color .2s}.csv-textarea:focus{border-color:var(--secondary);outline:none;box-shadow:0 0 0 3px #7645d91a}.csv-textarea::placeholder{color:var(--text-muted)}.token-row{align-items:center;gap:12px;margin-bottom:12px;display:flex}.token-row label{color:var(--text-secondary);white-space:nowrap;font-size:.9rem;font-weight:500}.token-select{border-radius:var(--radius-md);border:2px solid var(--border);background:var(--bg-input);color:var(--text-primary);cursor:pointer;padding:8px 16px;font-family:Kanit,sans-serif;font-size:.9rem;font-weight:600;transition:border-color .2s}.token-select:focus{border-color:var(--secondary);outline:none}.summary{color:var(--secondary);border-radius:var(--radius-md);border-left:4px solid var(--secondary);background:#7645d90f;margin-bottom:12px;padding:10px 16px;font-size:1rem;font-weight:600}.approve-banner{border-radius:var(--radius-md);background:#ffb2371a;border:1px solid #ffb2374d;align-items:flex-start;gap:12px;margin-bottom:12px;padding:14px 16px;display:flex}.approve-banner-icon{background:var(--warning);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.9rem;font-weight:700;display:flex}.approve-banner-body{color:#7a6000;font-size:.88rem;line-height:1.5}.approve-success-banner{border-radius:var(--radius-md);color:#007a5e;background:#31d0aa1a;border:1px solid #31d0aa4d;align-items:center;gap:10px;margin-bottom:12px;padding:14px 16px;font-size:.88rem;font-weight:500;display:flex}.table-wrap{border-radius:var(--radius-md);border:1px solid var(--border);margin:12px 0;overflow-x:auto}.preview-table{border-collapse:collapse;width:100%;font-size:.85rem}.preview-table thead{background:var(--bg-input)}.preview-table th{text-align:left;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);padding:10px 16px;font-size:.78rem;font-weight:600}.preview-table td{border-bottom:1px solid var(--border);color:var(--text-primary);padding:10px 16px}.preview-table tbody tr:last-child td{border-bottom:none}.preview-table tbody tr:hover{background:#7645d908}.preview-table .addr{color:var(--text-secondary);font-family:SF Mono,Fira Code,monospace;font-size:.8rem}.more{text-align:center;color:var(--text-muted);padding:10px;font-size:.82rem}.actions{margin-top:16px}.progress-box{border-radius:var(--radius-md);background:var(--bg-input);text-align:center;margin-top:16px;padding:16px}.progress-box p{color:var(--text-secondary);font-size:.9rem}.progress-box .chunk-continue-row{text-align:left;margin-top:12px}.progress-box .chunk-btn-row{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:12px;display:flex}.error{color:var(--error);border-radius:var(--radius-sm);border-left:3px solid var(--error);background:#ed4b9e14;margin-top:8px;padding:10px 14px;font-size:.88rem;font-weight:500}.success{color:var(--success);margin-top:8px;font-size:.95rem;font-weight:600}.footer{text-align:center;color:var(--text-muted);border-top:1px solid var(--border);background:#ffffff80;margin-top:auto;padding:24px;font-size:.82rem}.footer .brand-text{color:var(--secondary);font-weight:600}.modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(4px);background:#0f0a1e73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-dialog{border-radius:var(--radius-lg);border:1px solid var(--border);background:#fff;width:100%;max-width:420px;padding:24px;box-shadow:0 20px 50px #280d5f2e}.modal-title{color:var(--secondary);margin:0 0 14px;font-size:1.15rem;font-weight:700}.modal-body{color:var(--text-primary);margin:0 0 10px;font-size:.92rem;line-height:1.55}.modal-body-error{color:var(--error);font-weight:500}.modal-hint{color:var(--text-secondary);margin:0 0 20px;font-size:.86rem;line-height:1.5}.modal-close-btn{width:100%;margin-top:4px}@media (width<=640px){.header{padding:0 16px}.hero-title{font-size:1.8rem}.hero-section{padding:32px 16px 16px}.card{padding:20px 16px}}wui-connect-button,appkit-button{--wui-color-accent-100:var(--primary)!important}.mass-reward-app .header-left h1{font-size:1.05rem}.mass-back-link{color:var(--secondary);white-space:nowrap;font-size:.85rem;text-decoration:none}.mass-back-link:hover{text-decoration:underline}.mass-reward-main{max-width:920px}.mass-actions{flex-wrap:wrap;gap:12px;margin-top:16px;display:flex}.mass-progress-label{margin-bottom:12px;font-size:1.1rem}.mass-progress-bar{background:var(--bg-input);border-radius:var(--radius-full);height:10px;overflow:hidden}.mass-progress-fill{background:linear-gradient(90deg, var(--primary), var(--secondary));height:100%;transition:width .3s}.mass-balance-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}@media (width>=640px){.mass-balance-grid{grid-template-columns:repeat(4,1fr)}}.mass-balance-item{background:var(--bg-input);border-radius:var(--radius-md);text-align:center;padding:12px}.mass-balance-label{color:var(--text-muted);margin-bottom:4px;font-size:.75rem;display:block}.mass-balance-value{word-break:break-all;font-size:.95rem;font-weight:600}.mass-round-list{flex-direction:column;gap:12px;display:flex}.mass-round-item{border:1px solid var(--border);border-radius:var(--radius-md);background:#fff9;padding:12px}.mass-round-head{flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:.9rem;display:flex}.mass-round-time{color:var(--text-muted);font-size:.8rem}.mass-round-tx{word-break:break-all;margin-top:8px;font-size:.85rem}.mass-round-tx a{color:var(--secondary)}.mass-round-bal{color:var(--text-secondary);margin-top:6px;font-size:.8rem}.mass-addr-table{max-height:320px;margin-top:12px}.reward-app{min-height:100vh}.reward-main{flex-direction:column;flex:1;gap:16px;width:100%;max-width:1080px;margin:0 auto;padding:24px 20px 48px;display:flex}.reward-nav{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.reward-nav a{color:var(--secondary);border-radius:var(--radius-full);background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-card);padding:6px 14px;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .2s}.reward-nav a:hover{background:var(--bg-input);border-color:var(--secondary-light);transform:translateY(-1px)}.reward-card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:1px solid var(--border);padding:24px}.reward-card h2{color:var(--text-primary);margin-bottom:8px;font-size:1.15rem;font-weight:600}.reward-card h3{color:var(--text-primary);margin-bottom:12px;font-size:1rem;font-weight:600}.reward-hint{color:var(--text-secondary);margin-bottom:16px;font-size:.88rem;line-height:1.55}.reward-stats{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.reward-stat-pill{color:var(--secondary);border-radius:var(--radius-full);background:#7645d914;border:1px solid #7645d926;padding:6px 12px;font-size:.82rem;font-weight:500}.reward-stat-pill strong{color:var(--text-primary)}.reward-form-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.reward-form-grid{grid-template-columns:1fr 180px 120px;align-items:end;gap:14px 16px;display:grid}.reward-field-wide{grid-column:1/-1}.reward-select-full{width:100%;min-width:160px}.reward-field .token-select{width:100%;min-height:44px}.reward-file-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.reward-file-name{color:var(--text-secondary);word-break:break-all;font-size:.88rem}@media (width<=720px){.reward-form-grid{grid-template-columns:1fr}}.reward-field{flex-direction:column;gap:6px;display:flex}.reward-field label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:600}.reward-input,.reward-select{border-radius:var(--radius-md);border:2px solid var(--border);background:var(--bg-input);color:var(--text-primary);appearance:auto;-webkit-appearance:menulist;width:100%;min-height:44px;padding:10px 14px;font-family:Kanit,sans-serif;font-size:.9rem;transition:border-color .2s}.reward-input:focus,.reward-select:focus{border-color:var(--secondary);outline:none;box-shadow:0 0 0 3px #7645d91a}.reward-input::placeholder{color:var(--text-muted)}.reward-input-narrow{width:88px}.reward-file-input{display:none}.reward-file-btn{cursor:pointer}.reward-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.reward-toolbar .reward-input,.reward-toolbar .reward-select{padding:8px 12px;font-size:.85rem}.reward-table-wrap{border-radius:var(--radius-md);border:1px solid var(--border);overflow-x:auto}.reward-table{border-collapse:collapse;width:100%;font-size:.85rem}.reward-table thead{background:var(--bg-input)}.reward-table th{text-align:left;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 14px;font-size:.75rem;font-weight:600}.reward-table td{border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle;padding:10px 14px}.reward-table tbody tr:last-child td{border-bottom:none}.reward-table tbody tr:hover{background:#7645d908}.reward-table .mono{color:var(--text-secondary);word-break:break-all;font-family:SF Mono,Fira Code,monospace;font-size:.78rem}.reward-table a{color:var(--secondary);font-weight:600;text-decoration:none}.reward-table a:hover{text-decoration:underline}.reward-table input[type=checkbox]{width:16px;height:16px;accent-color:var(--secondary);cursor:pointer}.reward-badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.03em;color:#9a7200;background:#ffb23726;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-block}.reward-badge.sent{color:#007a5e;background:#31d0aa26}.reward-badge.locked{color:var(--error);background:#ed4b9e1f}.reward-batch-block{border-radius:var(--radius-md);border:1px solid var(--border);background:#7645d908;margin-top:12px;padding:16px}.reward-batch-block h4{color:var(--text-primary);margin:0 0 8px;font-size:.95rem;font-weight:600}.reward-batch-block a{color:var(--secondary);word-break:break-all}.reward-progress{background:var(--bg-input);border-radius:var(--radius-full);height:10px;margin:12px 0;overflow:hidden}.reward-progress-bar{background:linear-gradient(90deg, var(--primary), var(--secondary));border-radius:var(--radius-full);height:100%;transition:width .3s}.reward-msg{color:var(--text-secondary);margin:8px 0;font-size:.9rem;line-height:1.5}.reward-msg strong{color:var(--text-primary)}.reward-error{color:var(--error);border-radius:var(--radius-sm);border-left:3px solid var(--error);background:#ed4b9e14;margin-top:8px;padding:10px 14px;font-size:.88rem;font-weight:500}.reward-empty{text-align:center;color:var(--text-muted);padding:32px 16px;font-size:.9rem}.reward-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.reward-pagination{border-top:1px solid var(--border);color:var(--text-secondary);flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:16px;padding-top:16px;font-size:.85rem;display:flex}.reward-log-text{white-space:pre-wrap;background:var(--bg-input);color:var(--text-primary);border-radius:var(--radius-md);border:1px solid var(--border);margin-top:12px;padding:14px;font-family:SF Mono,Fira Code,monospace;font-size:.78rem;line-height:1.5;overflow-x:auto}.reward-balance-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px;display:grid}@media (width>=640px){.reward-balance-grid{grid-template-columns:repeat(4,1fr)}}.reward-balance-item{background:var(--bg-input);border-radius:var(--radius-md);text-align:center;padding:12px}.reward-balance-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:.72rem;display:block}.reward-balance-value{color:var(--text-primary);word-break:break-all;font-size:.9rem;font-weight:600}.reward-warn{color:#9a7200;border-radius:var(--radius-md);border-left:3px solid var(--warning);background:#ffb2371f;padding:10px 14px}.hot-wallet-box{margin-bottom:16px}.hot-wallet-box label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:.78rem;font-weight:600;display:block}.hot-wallet-value{word-break:break-all;background:var(--bg-input);border-radius:var(--radius-md);border:1px solid var(--border);margin-bottom:8px;padding:12px 14px;font-size:.82rem}.hot-wallet-key{color:var(--error)}.reward-cost-grid{grid-template-columns:1fr;gap:12px;margin-top:8px;display:grid}@media (width>=720px){.reward-cost-grid{grid-template-columns:repeat(3,1fr)}}.reward-cost-item{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 16px}.reward-cost-item-spent{background:#1fc7d40f;border-color:#1fc7d459}.reward-cost-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:.72rem;font-weight:600;display:block}.reward-cost-value{color:var(--text-primary);margin-bottom:4px;font-size:1.05rem;display:block}.reward-cost-sub{color:var(--text-secondary);font-size:.78rem;display:block}@media (width<=640px){.reward-main{padding:16px 12px 32px}.reward-card{padding:18px 14px}.reward-form-row{flex-direction:column;align-items:stretch}}
