body {-webkit-text-size-adjust: 100%; font-family: Arial, sans-serif; padding: 20px; max-width: 1200px; margin: auto; background-color: #f9f9f9; }
h1,h2,h3 { text-align: center; margin-bottom: 15px; }

/* Navbar */
.navbar { display: flex; justify-content: center; gap: 20px; background: #fff; padding: 12px 20px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.1); margin-bottom: 20px; }
.navbar a { text-decoration: none; font-weight: bold; color: #ffcc00; padding: 6px 12px; border-radius: 6px; transition: background 0.2s, color 0.2s; }
.navbar a:hover { background-color: #ffcc00; color: #000; }

/* Search form */
.search-form { display:flex; justify-content:center; align-items:stretch; margin-bottom:30px; max-width:600px; margin-left:auto; margin-right:auto; }
.search-form input[type=text] { flex:1; padding:12px; font-size:1.1em; border:1px solid #ccc; border-right:none; border-radius:8px 0 0 8px; outline:none; margin:0; }
.search-form button { padding:12px 24px; font-size:1.1em; border:1px solid #ffcc00; border-left:none; background-color:#ffcc00; color:#000; cursor:pointer; border-radius:0 8px 8px 0; transition:background 0.2s; margin:0; }
.search-form button:hover { background-color:#e6b800; }

/* Card */
.balance-card, .tx-card { max-width:900px; margin:20px auto; padding:20px; background:#fff; border-radius:12px; box-shadow:0 4px 15px rgba(0,0,0,0.1); }
.tx-row { display:flex; justify-content:space-between; padding:8px 0; font-size:1.05em; border-bottom:1px solid #eee; }
.tx-row:last-child { border-bottom:none; }
.tx-row .label { font-weight:bold; color:#333; }
.tx-row .value { color:#555; word-break:break-all; }
.tx-row a { color:#ffcc00; text-decoration:none; }
.tx-row a:hover { text-decoration:underline; }

/* Table */
.table-container { overflow-x:auto; margin-bottom:20px; }
table { border-collapse:collapse; width:100%; min-width:450px; font-size:16px; }
th, td { border:1px solid #ccc; padding:8px; text-align:center; word-break:break-word; }
th { background-color:#f0f0f0; }
a { color:#666; font-weight:bold; text-decoration:underline; padding:2px 6px; border-radius:4px; transition:0.2s; }
a:hover { background-color:#ffcc00; color:#000; text-decoration:none; }

.table-container table tr:hover,
.all-addresses-table tr:hover {
    background-color: #fff3c4;
}

/* Input status */
.spent { color: red; font-weight:bold; }
.unspent { color: green; font-weight:bold; }

/* Pagination */
.pagination { text-align:center; margin-top:15px; display:flex; flex-wrap:wrap; justify-content:center; }
.pagination a, .pagination strong, .pagination .dots { display:inline-block; padding:6px 12px; margin:2px; border:1px solid #ccc; text-decoration:none; color:#333; border-radius:4px; min-width:36px; text-align:center; }
.pagination strong { background-color:#ffcc00; color:#000; border-color:#ffcc00; }
.pagination .dots { border:none; background:none; cursor:default; }
.pagination a:hover { background-color:#eee; }

/* Footer */
hr.footer-separator { border:none; border-top:1px solid #ddd; margin:40px 0 20px 0; }
footer { text-align:center; padding:10px 0; color:#555; font-size:0.95em; }

table a {
    color: #ffcc00;
    text-decoration: none;
    font-weight: bold;
    padding: 2px 6px;
    border-radius: 4px;
    transition: background 0.2s, color 0.2s;
}

table a:hover {
    background-color: #ffcc00;
    color: #000;
    text-decoration: none;
}

/* Loader overlay */
#loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255,255,255,0.9);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.4s ease;
}

#loader.active {
    opacity: 1;
    pointer-events: all;
}

.spinner-logo {
    width: 128px;
    height: 128px;
    animation: spin 2s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@keyframes spinOnce {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Mobile */
@media screen and (max-width:600px){
    .tx-row{flex-direction:column;align-items:flex-start;}
    .tx-row .value{margin-top:4px;}
    table,th,td{font-size:12px;}
}

#myBtn {
  display: none;
  position: fixed;
  bottom: 20px;
  right: 30px;
  z-index: 99;
  border: none;
  outline: none;
  background-color: #999999;
  color: white;
  cursor: pointer;
  padding: 15px; 
  border-radius: 10px; 
  font-size: 18px; 
  opacity: 0.6;
  text-decoration: none;
}

#myBtn:hover {
  opacity: 0.8;
  text-decoration: none;
}