@font-face{font-family:'Press Start 2P';font-style:normal;font-weight:400;font-display:swap;src:url('press-start-2p-latin-400.woff2?v=20260908j') format('woff2')}:root{--bg:#000;--surface:#081405;--surface-2:#0b1a09;--border:#1e4a1e;--border-strong:#2f7d33;--text:#e6fae6;--text-secondary:#a8dcae;--text-muted:#6bab7a;--danger:#e5484d;--success:#3fb950;--success-rgb:63,185,80;--radius:8px;--theme-transition:background .35s ease,color .35s ease,border-color .35s ease,box-shadow .35s ease}*{box-sizing:border-box}.app-header{background:var(--surface);border:.5px solid var(--border);border-radius:12px;padding:1.25rem 1.25rem;margin-bottom:1.25rem;position:relative;overflow:hidden;transition:var(--theme-transition)}.app-header::before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,rgba(255,255,255,0.03) 0 2px,transparent 2px 8px),repeating-linear-gradient(0,rgba(255,255,255,0.03) 0 2px,transparent 2px 8px);pointer-events:none}.app-header-inner{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem}.app-header-title{display:inline-flex;flex-direction:column;align-items:center;gap:.6rem;font-family:"Courier New",Courier,monospace}.app-header-title-main{font-family:"Press Start 2P","Courier New",Courier,monospace;font-size:18px;font-weight:400;letter-spacing:2px;position:relative;display:inline-block;background:linear-gradient(90deg,#0080ff 0,#7a5ce0 15%,#c14fe0 30%,#ff00c8 45%,#ff17b8 60%,#c14fe0 75%,#7a5ce0 90%,#0080ff 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:header-gradient-shift 1.6s linear infinite}.app-header-title-main::after{content:"B U R N T\00a0\00a0P I X";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,0) 42%,rgba(255,255,255,0.9) 50%,rgba(255,255,255,0) 58%,transparent 70%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:header-shine 2.4s ease-in-out infinite;pointer-events:none}.app-header-title-sub{font-family:"Press Start 2P","Courier New",Courier,monospace;font-size:10px;font-weight:400;color:var(--text-secondary);letter-spacing:4px;display:inline-block;animation:sub-pulse 2s ease-in-out infinite}@keyframes sub-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes header-gradient-shift{0%{background-position:0 50%}100%{background-position:300% 50%}}@keyframes header-shine{0%{background-position:150% 50%}100%{background-position:-150% 50%}}@media(prefers-reduced-motion:reduce){.app-header-title-main{animation:none}}@media(max-width:600px){.app-header{padding:1rem 1rem}.app-header-title-main{font-size:13px;letter-spacing:1.5px}.app-header-title-sub{font-size:8px;letter-spacing:3px}}@media(max-width:600px){.app-header{display:none}}body{background:var(--bg);color:var(--text);font-family:"Courier New",Courier,monospace;max-width:560px;margin:0 auto;padding:1.5rem;transition:var(--theme-transition)}h2{margin-bottom:.25rem;font-weight:500;text-align:center}.sub{color:var(--text-secondary);font-size:13px;margin-top:0;margin-bottom:1.5rem}.card{background:var(--surface);border:.5px solid var(--border);border-radius:12px;padding:1rem 1.25rem;margin-bottom:.5rem}.card.error{border-color:var(--danger);color:var(--danger);font-size:13px}.card-enter{animation:cardEnter .32s ease-out}@keyframes cardEnter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.card-enter{animation:none}}.badge{display:inline-block;font-size:11px;padding:2px 8px;border-radius:999px;background:rgba(var(--success-rgb),0.15);color:var(--success);margin-bottom:8px}label{font-size:13px;color:var(--text-secondary);margin-bottom:4px;display:block}input{width:100%;padding:8px 10px;border-radius:var(--radius);border:.5px solid var(--border);background:var(--surface-2);color:var(--text);font-size:14px;margin-bottom:12px}button{padding:8px 16px;border-radius:var(--radius);border:.5px solid var(--border-strong);background:var(--surface-2);color:var(--text);cursor:pointer;font-size:14px;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.5;cursor:not-allowed}button.start{padding:4px 10px;background:rgba(var(--success-rgb),0.15);color:var(--success);border-color:var(--success)}button.stop{padding:4px 10px;background:rgba(229,72,77,0.15);color:var(--danger);border-color:var(--danger)}.section-label{font-size:13px;color:var(--text-secondary);margin-bottom:8px;font-weight:500}.section-label:empty{display:none}.notify-toggle-inline{display:inline-flex;flex-direction:row;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);font-weight:500;cursor:pointer;user-select:none;white-space:nowrap;flex-wrap:nowrap}.notify-toggle-inline span{order:1;line-height:1}.notify-toggle-inline input{order:2;cursor:pointer;accent-color:var(--success);margin:0;width:14px;height:14px;vertical-align:middle}.notify-toggle-inline:hover{color:var(--text-primary)}.hint{font-size:12px;color:var(--text-muted);margin-top:8px;margin-bottom:12px}.progress-wrap{margin-top:10px}.progress-track{position:relative;width:100%;height:22px;background:var(--surface-2);border:.5px solid var(--border);border-radius:6px;overflow:hidden;box-shadow:inset 0 1px 3px rgba(0,0,0,0.4),inset 0 0 0 1px rgba(255,255,255,0.02)}.progress-fill{position:absolute;top:0;left:0;height:100%;width:0;background:linear-gradient(90deg,var(--border-strong),var(--success));background-size:200% 100%;transition:width .4s ease;box-shadow:0 0 10px rgba(var(--success-rgb),0.55),0 0 2px rgba(var(--success-rgb),0.8);animation:progress-glow-pulse 2.2s ease-in-out infinite}.progress-fill::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0,rgba(255,255,255,0.35) 50%,transparent 100%);width:60%;transform:translateX(-150%);animation:progress-shimmer 2s ease-in-out infinite}@keyframes progress-glow-pulse{0%,100%{filter:brightness(1);box-shadow:0 0 10px rgba(var(--success-rgb),0.55),0 0 2px rgba(var(--success-rgb),0.8)}50%{filter:brightness(1.15);box-shadow:0 0 16px rgba(var(--success-rgb),0.8),0 0 4px rgba(var(--success-rgb),1)}}@keyframes progress-shimmer{0%{transform:translateX(-150%)}100%{transform:translateX(250%)}}.progress-fill.infinite{width:100%;background:repeating-linear-gradient(45deg,var(--surface-2) 0,var(--surface-2) 10px,var(--border-strong) 10px,var(--border-strong) 20px);background-size:200% 200%;animation:progress-stripes 1.2s linear infinite;opacity:.5;box-shadow:none}.progress-fill.infinite::after{display:none}@keyframes progress-stripes{0%{background-position:0 0}100%{background-position:40px 0}}.refine-progress-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:6px;font-family:"Press Start 2P","Courier New",Courier,monospace;font-size:9px;font-weight:400;line-height:1;color:var(--text);text-shadow:0 1px 3px rgba(0,0,0,0.75),0 0 1px rgba(0,0,0,0.9);letter-spacing:.3px;z-index:1;white-space:nowrap;overflow:hidden;padding:0 6px}.refine-progress-label span:not(.refine-progress-count){display:inline-block;line-height:1;transform:translateY(1px)}.refine-progress-count{display:inline-block;line-height:1;transform:translateY(1px)}.refine-progress-eta{opacity:.85}@media(max-width:600px){.refine-progress-count{display:none}}@media(prefers-reduced-motion:reduce){.progress-fill,.progress-fill::after,.progress-fill.infinite{animation:none}}.gallery-fetch-progress{margin:0}.gallery-fetch-progress .progress-track{height:22px}.gallery-fetch-progress .progress-fill{transition:none}.gallery-fetch-progress-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:6px;font-family:"Press Start 2P","Courier New",Courier,monospace;font-size:9px;font-weight:400;line-height:1;color:var(--text);text-shadow:0 1px 3px rgba(0,0,0,0.75),0 0 1px rgba(0,0,0,0.9);letter-spacing:.3px;z-index:1;white-space:nowrap;overflow:hidden;padding:0 6px}.gallery-fetch-progress-count{display:inline-block;line-height:1;transform:translateY(1px)}.gallery-fetch-progress-note{margin-top:2px;font-size:11px;color:var(--text-muted);text-align:center;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif}@media(max-width:600px){.gallery-fetch-progress-count{font-size:8px}}.mode-tab.tab-locked{opacity:.5;cursor:not-allowed}.viewer-fetch-gate{position:absolute;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.72);backdrop-filter:blur(2px);border-radius:inherit;padding:1.5rem}.viewer-fetch-gate-box{width:100%;max-width:360px;background:var(--surface);border:.5px solid var(--border-strong);border-radius:12px;padding:1.25rem;box-shadow:0 8px 32px rgba(0,0,0,0.6)}.viewer-fetch-gate-title{font-family:"Press Start 2P","Courier New",Courier,monospace;font-size:11px;color:var(--text);text-align:center;margin-bottom:14px;letter-spacing:.3px}.viewer-fetch-gate .gallery-fetch-progress{margin:0 0 10px 0}.key-box{margin-top:8px;word-break:break-all;background:var(--surface-2);padding:8px;border-radius:var(--radius);font-size:11px}.key-box .warn{color:var(--danger);margin-bottom:4px;font-size:12px}.key-box-header{display:flex;align-items:center;gap:8px}.key-box-actions{display:flex;align-items:center;gap:8px;margin-top:8px}.key-box-value{margin-top:4px}#log{height:120px;overflow-y:auto;overflow-x:hidden;font-size:12px;font-family:"Courier New",Courier,monospace;margin-top:8px;scrollbar-width:thin;scrollbar-color:var(--border-strong) var(--surface-2)}#log.expanded{height:360px}#log::-webkit-scrollbar{width:8px}#log::-webkit-scrollbar-track{background:var(--surface-2);border-radius:999px}#log::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px;border:1px solid var(--surface-2);transition:var(--theme-transition)}#log::-webkit-scrollbar-thumb:hover{background:var(--success)}#log div{margin-bottom:4px;white-space:pre-line;overflow-wrap:break-word;word-break:break-word}.log-info{color:var(--text-secondary)}.log-success{color:var(--success)}.log-error{color:var(--danger)}.log-warning{color:#e3b341}.log-timestamp{color:var(--text-muted);opacity:.7}.log-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:0;border:0;padding:0;color:var(--text-secondary);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer}.log-toggle-icon{font-size:18px;font-weight:700;line-height:1;transition:transform .2s ease;color:var(--text-muted)}.log-toggle-icon.open{transform:rotate(180deg)}.log-toggle-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.log-filter-row{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.log-filter-btn{font-family:"Courier New",Courier,monospace;font-size:11px;letter-spacing:.4px;padding:4px 9px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.log-filter-btn:hover{border-color:var(--success);color:var(--text)}.log-filter-btn.active{background:var(--success);border-color:var(--success);color:#000}.getting-started-card{background:linear-gradient(180deg,#141414 0,var(--surface) 100%);border:1px solid rgba(var(--success-rgb),0.35);box-shadow:0 0 0 1px rgba(var(--success-rgb),0.06) inset,0 0 24px rgba(var(--success-rgb),0.06)}.getting-started-title-short{display:none}.getting-started-title{text-align:center;font-size:calc(1.3em - 5px);margin-bottom:16px;font-family:"Press Start 2P","Courier New",Courier,monospace;font-weight:400;letter-spacing:1px;color:var(--success);text-shadow:0 0 6px rgba(var(--success-rgb),0.45),0 0 18px rgba(var(--success-rgb),0.15)}.getting-started-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;border:.5px solid var(--border);background:var(--surface-2);text-decoration:none;margin-bottom:10px;transition:var(--theme-transition),transform .15s ease}.getting-started-row--btn{width:100%;font-family:inherit;cursor:pointer}.getting-started-row--about{--about:#e3b341;--about-rgb:227,179,65;padding:16px;position:relative;justify-content:center !important;align-items:center;gap:14px;width:100% !important;max-width:100%;margin-left:0;margin-right:0;margin-top:10px;background:radial-gradient(120% 140% at 0 0,rgba(var(--about-rgb),0.10) 0,transparent 55%),var(--surface-2);border:1.5px dashed rgba(var(--about-rgb),0.55);box-shadow:0 0 0 1px rgba(var(--about-rgb),0.05) inset}.getting-started-row--about::before{content:"ABOUT";position:absolute;top:-9px;right:14px;font-size:9px;font-weight:700;letter-spacing:1.5px;color:var(--bg);background:var(--about);padding:2px 7px;border-radius:4px;line-height:1.4;box-shadow:0 0 8px rgba(var(--about-rgb),0.35)}.getting-started-row--about:hover{border-color:var(--about);box-shadow:0 0 16px rgba(var(--about-rgb),0.18),0 0 0 1px rgba(var(--about-rgb),0.08) inset;transform:none}.getting-started-about-emoji{width:40px;height:40px;border-radius:8px;overflow:hidden;background:var(--surface-2);border:1px solid rgba(var(--about-rgb),0.35);box-shadow:0 0 6px rgba(var(--about-rgb),0.12);flex-shrink:0}.getting-started-about-emoji img{width:100%;height:100%;object-fit:cover;display:block}.getting-started-row--about .getting-started-text{color:var(--about)}.getting-started-row--about .getting-started-link{color:var(--text-secondary);font-style:italic}.getting-started-copy--center{flex:1 1 auto !important;align-items:flex-start;text-align:left;min-width:0}.getting-started-row--about .getting-started-arrow{display:flex;align-items:center;justify-content:center;font-size:0;color:var(--about);flex-shrink:0;width:22px;height:22px}.getting-started-row--about .getting-started-arrow::before{content:"";width:18px;height:18px;-webkit-mask:url("data:image/svg+xml,%3Csvgxmlns='http://www.w3.org/2000/svg'viewBox='002424'fill='none'stroke='currentColor'stroke-width='2'stroke-linecap='round'stroke-linejoin='round'%3E%3Cpathd='M419.5A2.52.50016.517H20'/%3E%3Cpathd='M6.52H20v20H6.5A2.52.5001419.5v-15A2.52.50016.52z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvgxmlns='http://www.w3.org/2000/svg'viewBox='002424'fill='none'stroke='currentColor'stroke-width='2'stroke-linecap='round'stroke-linejoin='round'%3E%3Cpathd='M419.5A2.52.50016.517H20'/%3E%3Cpathd='M6.52H20v20H6.5A2.52.5001419.5v-15A2.52.50016.52z'/%3E%3C/svg%3E") center / contain no-repeat;background:currentColor;display:block}.getting-started-row--about:hover .getting-started-arrow::before{background:var(--about)}.about-text-short,.about-link-short{display:none}@media(min-width:601px){.getting-started-row--about{justify-content:center !important}.getting-started-copy--center{flex:0 0 auto !important;align-items:center;text-align:center}}@media(max-width:600px){.about-text-full,.about-link-full{display:none}.about-text-short,.about-link-short{display:inline}}.getting-started-row:last-child{margin-bottom:0}.getting-started-row:hover{border-color:var(--border-strong);box-shadow:0 0 12px rgba(var(--success-rgb),0.12);transform:translateY(-1px)}.getting-started-emoji{font-size:22px;flex-shrink:0;line-height:1;width:34px;height:34px;display:flex;align-items:center;justify-content:center}.getting-started-emoji--x{color:var(--text)}.getting-started-emoji--x svg{width:18px;height:18px;display:block}.getting-started-row:hover .getting-started-emoji--x{color:var(--success)}.getting-started-emoji--img{border-radius:6px;overflow:hidden;background:var(--surface-2)}.getting-started-emoji--img img{width:100%;height:100%;object-fit:cover;display:block;border-radius:6px;mix-blend-mode:lighten}.getting-started-copy{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.getting-started-text{font-size:13px;color:var(--text);font-weight:500}.getting-started-link{font-size:12px;color:var(--success);word-break:break-word}.getting-started-arrow{font-size:16px;color:var(--text-muted);flex-shrink:0;transition:var(--theme-transition),transform .15s ease}.getting-started-row:hover .getting-started-arrow{color:var(--success);transform:translateX(2px)}code{font-size:11px}.small-btn{padding:3px 10px;font-size:12px;border-radius:4px;border:.5px solid var(--text-secondary);background:transparent;color:inherit;cursor:pointer;font-family:inherit}.small-btn:hover{opacity:.8}#btn-send-back{border-color:#59ff61}.iterations-input-row{display:flex;gap:6px;align-items:stretch}.iterations-input-row input{flex:1;min-width:0}.iterations-input-row .small-btn{flex-shrink:0;padding:6px 10px}.iterations-input-row .small-btn:disabled{opacity:.5;cursor:default}.gas-feedback{display:flex;align-items:center;gap:6px}.gas-feedback.gas-ok{color:var(--success)}.gas-feedback.gas-warn{color:#e3b341}.gas-feedback.gas-over{color:var(--danger)}#btn-fund-wallet{color:var(--text);border-color:#59ff61}.privkey-hidden{user-select:none;letter-spacing:2px}.step-done{color:var(--success);font-size:14px}.settings-row{display:flex;gap:12px}.settings-row>div{flex:1;min-width:0}.settings-row label{text-align:center}.optional-label{opacity:.55;font-weight:400;font-size:.9em}.settings-row input{width:100%;padding:6px 8px;font-size:12px;margin-bottom:0;text-align:center}.settings-row input[type="number"]{text-align:center;-moz-appearance:textfield;appearance:textfield}.settings-row input[type="number"]::-webkit-outer-spin-button,.settings-row input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}.settings-row-active{position:relative;background:rgba(var(--success-rgb),0.06);border-radius:10px;padding-top:6px;margin-top:-6px}.settings-row-active::before{content:"▶ RUNNING";position:absolute;top:-9px;left:10px;font-size:9px;font-weight:700;letter-spacing:.6px;color:var(--bg);background:var(--success);padding:1px 6px;border-radius:999px;line-height:1.5;animation:activeBadgePulse 1.8s ease-in-out infinite}.settings-row-active input:not(:disabled){border-color:var(--success);box-shadow:0 0 0 1px rgba(var(--success-rgb),0.35),0 0 8px rgba(var(--success-rgb),0.35)}.settings-row-active input:disabled{border-color:var(--success);box-shadow:0 0 0 1px rgba(var(--success-rgb),0.25);animation:settingsRowActivePulse 1.8s ease-in-out infinite}@keyframes settingsRowActivePulse{0%,100%{box-shadow:0 0 0 1px rgba(var(--success-rgb),0.25),0 0 6px rgba(var(--success-rgb),0.3)}50%{box-shadow:0 0 0 1px rgba(var(--success-rgb),0.5),0 0 14px rgba(var(--success-rgb),0.6)}}@keyframes activeBadgePulse{0%,100%{opacity:1}50%{opacity:.55}}.settings-row input:disabled{color:var(--text-muted);background:var(--surface-2);border-color:var(--border);opacity:.6;cursor:not-allowed}.balance-row{margin-top:8px}.balance-row-lg{font-size:14px}.balance-row-flex{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.balance-row-flex>.push-right{margin-left:auto}.fund-amount-input{width:45px;flex:0 0 45px;padding:6px 8px;font-size:12px;margin-bottom:0}@media(min-width:601px){.fund-amount-input{width:50px;flex:0 0 50px}}.no-spinner{-moz-appearance:textfield;appearance:textfield}.no-spinner::-webkit-outer-spin-button,.no-spinner::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}.step3-desc{font-size:13px;color:var(--text-secondary);margin-top:0}.tx-count-row{margin-top:8px;font-size:13px;color:var(--text-secondary)}.start-row{display:flex;justify-content:center;gap:12px;margin-top:14px}.mode-tabs{display:flex;gap:8px;margin-bottom:.75rem}.mode-tab{flex:1;padding:8px 10px;border-radius:var(--radius);border:.5px solid #555;background:#161616;color:#aaa;cursor:pointer;font-size:13px;font-family:"Press Start 2P","Courier New",Courier,monospace;text-align:center}.mode-tab.active{background:rgba(var(--success-rgb),0.12);color:var(--success);border-color:var(--success)}.progress-bar{display:flex;align-items:flex-start;margin-bottom:1rem;padding:0 28px 18px}body.loop-running .progress-bar{display:none!important}.progress-step{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0;position:relative;-webkit-tap-highlight-color:transparent;outline:0}.progress-dot{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;outline:0;-webkit-user-select:none;user-select:none;line-height:1;opacity:.4;filter:grayscale(65%);transition:var(--theme-transition),opacity .35s ease,filter .35s ease,transform .25s ease,box-shadow .35s ease}.progress-label{font-size:10px;color:var(--text-muted);white-space:nowrap;position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:4px;opacity:.8;letter-spacing:.2px;transition:var(--theme-transition),opacity .35s ease}.progress-line{flex:1;height:2px;background:var(--border);margin-top:13px;min-width:8px;opacity:.5;transition:var(--theme-transition),opacity .35s ease,background .35s ease}.progress-step.done .progress-dot{background:var(--success);color:#fff;border-color:var(--success);opacity:1;filter:none;box-shadow:0 0 0 3px rgba(var(--success-rgb),0.18),0 0 10px rgba(var(--success-rgb),0.35)}.progress-step.done .progress-label{color:var(--success);opacity:1;font-weight:600}.progress-step.clickable-recap{cursor:pointer}.progress-step.clickable-recap .progress-dot:hover{transform:scale(1.12);box-shadow:0 0 0 3px rgba(var(--success-rgb),0.28),0 0 12px rgba(var(--success-rgb),0.45)}.progress-step.active{animation:progress-step-zoom 1s ease-in-out infinite;transform-origin:center top}.progress-step.active .progress-dot{transition:none;opacity:1;filter:none;animation:progress-dot-glow 1s ease-in-out infinite}.progress-step.active .progress-label{opacity:1;font-weight:600;animation:progress-label-glow 1s ease-in-out infinite}@keyframes progress-label-glow{0%,100%{color:#000}50%{color:var(--success)}}@keyframes progress-step-zoom{0%,100%{transform:scale(1)}50%{transform:scale(1.3)}}@keyframes progress-dot-glow{0%,100%{background:#000;border-color:#46ff40;box-shadow:none;color:#a3ffa0}50%{background:var(--success);border-color:var(--success);box-shadow:0 0 0 6px rgba(var(--success-rgb),0.4),0 0 18px rgba(var(--success-rgb),0.75);color:#a3ffa0}}@media(prefers-reduced-motion:reduce){.progress-step.active{animation:none;transform:scale(1.15)}.progress-step.active .progress-dot{animation:progress-dot-glow 1.4s ease-in-out infinite}.progress-step.active .progress-label{animation:progress-label-glow 1.4s ease-in-out infinite}}.progress-line.done{background:var(--success);opacity:1}.add-token-btn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:4px;padding:0;border-radius:50%;border:1px solid #39ff14;background:transparent;color:#39ff14;font-size:13px;line-height:1;font-weight:700;cursor:pointer;font-family:inherit;vertical-align:middle;flex:0 0 18px;text-shadow:0 0 4px rgba(57,255,20,0.7);transition:opacity .15s ease}.add-token-btn:hover{opacity:.8}.add-token-btn:disabled{opacity:.35;cursor:not-allowed;text-shadow:none}.remove-token-btn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:4px;padding:0;border-radius:50%;border:1px solid #ff3b3b;background:transparent;color:#ff3b3b;font-size:13px;line-height:1;font-weight:700;cursor:pointer;font-family:inherit;vertical-align:middle;flex:0 0 18px;text-shadow:0 0 4px rgba(255,59,59,0.6);transition:opacity .15s ease}.remove-token-btn:hover{opacity:.8}.remove-token-btn:disabled{opacity:.35;cursor:not-allowed;text-shadow:none}.settings-group-label{font-size:12px;color:var(--text-secondary);margin-top:8px;margin-bottom:6px;letter-spacing:.5px;font-weight:700;color:#59ff61}.settings-group-label:first-of-type{border-top:0;padding-top:0;margin-top:4px}.settings-group-label-center{text-align:center}.settings-group-heading{display:flex;align-items:center;justify-content:center;gap:6px}.settings-row{margin-bottom:10px}.settings-row:last-child{margin-bottom:0}#tokenid-slots-extra{display:flex;flex-direction:column;gap:10px;margin-top:10px}#tokenid-slots-extra .settings-row{margin:0}.info-tooltip{position:relative;display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;border:1px solid var(--text-secondary);color:var(--text-secondary);font-size:10px;font-style:normal;line-height:1;cursor:help;text-transform:none;letter-spacing:normal}.info-tooltip .info-tooltip-bubble{visibility:hidden;opacity:0;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);width:240px;max-width:70vw;background:var(--surface-2);border:.5px solid var(--border-strong);border-radius:var(--radius);padding:8px 10px;font-size:11px;line-height:1.5;color:var(--text);text-align:left;text-transform:none;letter-spacing:normal;font-weight:400;white-space:normal;z-index:20;transition:opacity .12s ease;box-shadow:0 4px 12px rgba(0,0,0,0.4)}.info-tooltip .info-tooltip-bubble::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--border-strong)}.info-tooltip:hover .info-tooltip-bubble,.info-tooltip:focus .info-tooltip-bubble{visibility:visible;opacity:1}@media(max-width:600px){.info-tooltip .info-tooltip-bubble{width:200px}.getting-started-title-full{display:none}.getting-started-title-short{display:inline}}.viewer-tab-wrapper{display:flex;flex-direction:column;gap:.5rem}#viewer-card{background:linear-gradient(180deg,#141414 0,var(--surface) 100%);border:1px solid rgba(var(--success-rgb),0.35);border-radius:12px;box-shadow:0 0 0 1px rgba(var(--success-rgb),0.06) inset,0 0 24px rgba(var(--success-rgb),0.06),0 8px 24px rgba(0,0,0,0.35);position:relative;overflow:hidden}#viewer-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--success),transparent);opacity:.7}#viewer-card::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0,rgba(255,255,255,0.012) 0,rgba(255,255,255,0.012) 1px,transparent 1px,transparent 3px);mix-blend-mode:overlay}.viewer-subtabs{display:flex;gap:4px;margin-bottom:16px;padding:4px;position:relative;z-index:1;background:#060606;border:.5px solid var(--border);border-radius:10px;box-shadow:0 0 0 1px rgba(0,0,0,0.3) inset,0 2px 6px rgba(0,0,0,0.25) inset}.viewer-subtab{flex:1;padding:9px 10px;border-radius:7px;border:0;background:transparent;color:var(--text-muted);cursor:pointer;font-family:"Courier New",Courier,monospace;font-weight:700;font-size:12px;letter-spacing:.4px;text-align:center;position:relative;z-index:1;transition:color .25s ease;-webkit-tap-highlight-color:transparent}.viewer-subtab:hover{color:var(--text)}.viewer-subtab.active{color:#04120a;animation:viewer-subtab-pop .28s cubic-bezier(0.34,1.56,0.64,1)}@keyframes viewer-subtab-pop{0%{transform:scale(0.97)}60%{transform:scale(1.015)}100%{transform:scale(1)}}.viewer-subtab.active::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:7px;background:linear-gradient(180deg,rgba(var(--success-rgb),0.95) 0,rgba(var(--success-rgb),0.8) 100%);box-shadow:0 1px 2px rgba(0,0,0,0.25),0 0 14px rgba(var(--success-rgb),0.35),0 0 0 1px rgba(var(--success-rgb),0.9) inset}@media(prefers-reduced-motion:reduce){.viewer-subtab.active{animation:none}}#viewer-subtabs{background:#030503;border-color:var(--border-strong);gap:2px}#viewer-subtab-gallery,#viewer-subtab-lookup{font-family:"Courier New",Courier,monospace;font-size:11.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;border-radius:7px}#viewer-subtab-gallery:not(.active):hover .viewer-subtab-label::before,#viewer-subtab-lookup:not(.active):hover .viewer-subtab-label::before{content:"[ ";color:var(--text-muted)}#viewer-subtab-gallery:not(.active):hover .viewer-subtab-label::after,#viewer-subtab-lookup:not(.active):hover .viewer-subtab-label::after{content:" ]";color:var(--text-muted)}#viewer-subtab-gallery.active .viewer-subtab-label::before,#viewer-subtab-lookup.active .viewer-subtab-label::before{content:"> ";opacity:.75}#viewer-subtab-gallery.active .viewer-subtab-label::after,#viewer-subtab-lookup.active .viewer-subtab-label::after{content:"_";opacity:1;margin-left:2px;animation:viewer-subtab-caret 1.05s steps(1) infinite}@keyframes viewer-subtab-caret{0%,49%{opacity:.85}50%,100%{opacity:0}}@media(prefers-reduced-motion:reduce){#viewer-subtab-gallery.active .viewer-subtab-label::after,#viewer-subtab-lookup.active .viewer-subtab-label::after{animation:none}}.viewer-title{text-align:center;font-size:calc(1.4em - 5px);margin-bottom:12px;font-family:"Press Start 2P","Courier New",Courier,monospace;font-weight:400;letter-spacing:1.5px;text-transform:uppercase;color:var(--success);text-shadow:0 0 6px rgba(var(--success-rgb),0.45),0 0 18px rgba(var(--success-rgb),0.15);position:relative}.viewer-title::before{content:">\00a0";color:var(--text-muted);text-shadow:none}.viewer-title::after{content:"_";color:var(--success);margin-left:2px;animation:viewer-title-blink 1s step-end infinite}@keyframes viewer-title-blink{0%,49%{opacity:1}50%,100%{opacity:0}}#viewer-input-tokenid{font-family:"Courier New",Courier,monospace;background:#060606;border:1px solid var(--border);color:var(--success);text-align:center;letter-spacing:1px;transition:border-color .15s ease,box-shadow .15s ease}#viewer-input-tokenid::placeholder{color:var(--text-muted);letter-spacing:normal}#viewer-input-tokenid:focus{outline:0;border-color:var(--success);box-shadow:0 0 0 2px rgba(var(--success-rgb),0.15)}#viewer-preview-box{background:#060606;border:1px solid var(--border);border-radius:var(--radius);padding:14px}#viewer-preview-img{border:1px solid var(--border-strong);border-radius:6px;box-shadow:0 0 14px rgba(var(--success-rgb),0.12);opacity:1;transition:opacity .15s ease}.viewer-preview-img-loading{opacity:.35}.viewer-preview-loading{margin-top:12px;margin-bottom:16px;display:flex;justify-content:center;align-items:center;width:256px;height:256px;max-width:100%;margin-left:auto;margin-right:auto;background:#060606;border:1px solid var(--border);border-radius:var(--radius)}.viewer-preview-spinner{width:32px;height:32px;border:3px solid rgba(var(--success-rgb),0.2);border-top-color:var(--success);border-radius:50%;animation:viewer-spin .8s linear infinite}@keyframes viewer-spin{to{transform:rotate(360deg)}}#viewer-preview-attrs{background:transparent;border:0;justify-content:space-between;align-self:stretch}#viewer-preview-attrs .preview-attr-label{font-family:"Courier New",Courier,monospace;color:var(--text-muted)}#viewer-preview-attrs .preview-attr-value{font-family:"Courier New",Courier,monospace;color:var(--success);text-shadow:0 0 6px rgba(var(--success-rgb),0.25)}#viewer-owner-row{font-family:"Courier New",Courier,monospace;font-size:12px;color:var(--text-secondary)}#viewer-attr-owner{font-weight:700;text-shadow:0 0 6px rgba(var(--success-rgb),0.25)}#btn-viewer-refresh{font-family:"Courier New",Courier,monospace;font-size:12px;font-weight:600;letter-spacing:.4px;color:var(--success);background:linear-gradient(180deg,rgba(var(--success-rgb),0.14) 0,rgba(var(--success-rgb),0.05) 100%);border:1px solid rgba(var(--success-rgb),0.35);border-radius:999px;padding:7px 18px;box-shadow:0 1px 2px rgba(0,0,0,0.3),inset 0 1px 0 rgba(255,255,255,0.04);transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .12s ease,color .18s ease;cursor:pointer}#btn-viewer-refresh:hover{background:linear-gradient(180deg,rgba(var(--success-rgb),0.22) 0,rgba(var(--success-rgb),0.08) 100%);border-color:rgba(var(--success-rgb),0.6);box-shadow:0 2px 8px rgba(var(--success-rgb),0.18),inset 0 1px 0 rgba(255,255,255,0.06)}#btn-viewer-refresh:active{transform:translateY(1px) scale(0.98);box-shadow:0 1px 2px rgba(0,0,0,0.3),inset 0 1px 2px rgba(0,0,0,0.25)}#btn-viewer-refresh:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}#btn-viewer-refresh:focus-visible{outline:0;box-shadow:0 0 0 2px rgba(var(--success-rgb),0.3),0 2px 8px rgba(var(--success-rgb),0.18)}.preview-box{margin-top:12px;margin-bottom:16px;display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap}.preview-img{max-width:100%;width:128px;height:128px;image-rendering:pixelated;object-fit:contain;display:block;opacity:1;transition:opacity .15s ease}.preview-img-loading{opacity:.35}.preview-box-skeleton .preview-img{opacity:.25}.preview-box-skeleton #attr-iterations,.preview-box-skeleton #attr-lyxspent{color:transparent;border-radius:4px;background:linear-gradient(90deg,rgba(var(--success-rgb),0.10) 25%,rgba(var(--success-rgb),0.28) 50%,rgba(var(--success-rgb),0.10) 75%);background-size:200% 100%;animation:skeletonShimmer 1.3s ease-in-out infinite}.preview-box-skeleton #attr-lyxspent-detail{visibility:hidden}@keyframes skeletonShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.viewer-preview-img{width:100%;max-width:256px;height:auto;aspect-ratio:1 / 1;min-width:0;flex-shrink:1}.preview-attrs{display:flex;flex-direction:column;gap:8px;background:var(--surface-2);border:.5px solid var(--border);border-radius:var(--radius);padding:8px 14px}@media(max-width:600px){#preview-box{gap:14.4px}#preview-box .preview-img{width:115.2px !important;height:115.2px !important}#preview-box .preview-attrs{padding:7.2px 12.6px;gap:7.2px}#viewer-preview-box .viewer-preview-img,#viewer-preview-img.viewer-preview-img{width:145px !important;max-width:145px !important;margin:0 auto !important;display:block !important;align-self:center !important}#viewer-preview-box{flex-wrap:nowrap !important;align-items:flex-start !important;justify-content:flex-start !important;gap:12px !important}#viewer-preview-attrs{text-align:left}#viewer-preview-attrs .preview-attr{text-align:left}}#viewer-stats-rows{display:flex;flex-direction:column;gap:8px}.preview-attr{text-align:center}.preview-attr-label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;text-align:center}.preview-attr-value{font-size:14px;color:var(--text);font-weight:500;margin-top:2px;text-align:center}.preview-attr-detail{font-size:10px;color:#fff;opacity:.6;font-weight:300;margin-top:2px;text-align:center;line-height:1.4;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif}#viewer-preview-attrs .preview-attr-detail{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;color:#fff;text-shadow:none;font-weight:300}.password-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.6);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1.5rem}.low-balance-toast-wrap{position:fixed;top:16px;left:0;right:0;display:flex;justify-content:center;z-index:1100;padding:0 1rem;pointer-events:none}.low-balance-toast{pointer-events:auto;background:var(--surface);border:1px solid var(--warning,#e5a83c);border-radius:10px;padding:12px 14px;max-width:420px;width:100%;font-family:"Courier New",Courier,monospace;display:flex;align-items:flex-start;gap:10px;box-shadow:0 8px 24px rgba(0,0,0,0.35);animation:low-balance-toast-in .2s ease-out,low-balance-toast-blink 1s ease-in-out .2s infinite}@keyframes low-balance-toast-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes low-balance-toast-blink{0%,100%{border-color:var(--warning,#e5a83c);box-shadow:0 8px 24px rgba(0,0,0,0.35)}50%{border-color:rgba(229,168,60,0.25);box-shadow:0 8px 24px rgba(0,0,0,0.35),0 0 14px rgba(229,168,60,0.55)}}.low-balance-toast-icon{font-size:16px;line-height:1.4;flex-shrink:0}.low-balance-toast-body{flex:1;font-size:12.5px;color:var(--text);line-height:1.5}.low-balance-toast-close{background:0;border:0;color:var(--text-dim,#9aa0a6);font-size:15px;line-height:1;cursor:pointer;padding:2px 4px;flex-shrink:0}.low-balance-toast-close:hover{color:var(--text)}.password-modal-box{background:var(--surface);border:.5px solid var(--border-strong);border-radius:12px;padding:1.25rem;max-width:420px;width:100%;font-family:"Courier New",Courier,monospace}.password-modal-message{font-size:13px;color:var(--text);line-height:1.5;margin-bottom:12px;white-space:pre-line}.password-modal-input{width:100%;padding:8px 10px;border-radius:var(--radius);border:.5px solid var(--border);background:var(--surface-2);color:var(--text);font-size:14px;font-family:inherit;margin-bottom:8px}.password-modal-error{color:var(--danger);font-size:12px;margin-bottom:8px}.password-modal-actions{display:flex;justify-content:flex-end;gap:8px}.about-bpix-modal-box{max-width:540px;max-height:80vh;overflow-y:auto;background:linear-gradient(180deg,#141414 0,var(--surface) 100%);border:1px solid rgba(var(--success-rgb),0.35);box-shadow:0 0 0 1px rgba(var(--success-rgb),0.06) inset,0 0 32px rgba(var(--success-rgb),0.1);position:relative;padding-top:1.5rem}.about-bpix-modal-box::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--success),transparent);opacity:.6}.about-bpix-modal-box{scrollbar-width:thin;scrollbar-color:rgba(var(--success-rgb),0.5) transparent}.about-bpix-modal-box::-webkit-scrollbar{width:8px}.about-bpix-modal-box::-webkit-scrollbar-track{background:var(--surface-2);border-radius:8px}.about-bpix-modal-box::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(var(--success-rgb),0.7),rgba(var(--success-rgb),0.35));border-radius:8px;box-shadow:0 0 6px rgba(var(--success-rgb),0.3)}.about-bpix-modal-box::-webkit-scrollbar-thumb:hover{background:rgba(var(--success-rgb),0.85)}.about-bpix-title{text-align:center;font-size:1.3em;margin-bottom:14px;font-weight:700;letter-spacing:1px;color:var(--success);text-shadow:0 0 6px rgba(var(--success-rgb),0.45),0 0 18px rgba(var(--success-rgb),0.15)}.about-bpix-title-full,.about-bpix-title-short{display:inline-flex;align-items:center;justify-content:center;gap:8px}.about-bpix-title-icon{width:1.3em;height:1.3em;border-radius:4px;object-fit:cover;vertical-align:middle;flex-shrink:0}.about-bpix-title-short{display:none}@media(max-width:600px){.about-bpix-title-full{display:none}.about-bpix-title-short{display:inline-flex}}.about-bpix-message{font-size:14px;color:var(--text);line-height:1.6;margin-bottom:14px}.about-bpix-message p{margin:0 0 10px 0}.about-bpix-message p:last-child{margin-bottom:0}.about-bpix-heading{color:var(--success);font-weight:700;letter-spacing:.5px;margin-top:14px !important;display:flex;align-items:center;gap:8px}.about-bpix-heading::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--success);box-shadow:0 0 6px rgba(var(--success-rgb),0.7);flex-shrink:0}.about-bpix-closing{color:var(--text-secondary);font-style:italic;border-top:.5px solid var(--border);padding-top:12px;margin-top:14px !important}.about-bpix-message code{color:var(--success);background:var(--surface-2);border:.5px solid rgba(var(--success-rgb),0.25);padding:1px 5px;border-radius:4px}.error-modal-box{border-color:var(--danger)}.error-modal-box.waiting{border-color:var(--warning,#e5a83c)}.error-modal-title{display:block;text-align:center;font-size:1.4em;margin-bottom:12px;color:var(--danger)}.error-modal-box.waiting .error-modal-title{color:var(--warning,#e5a83c)}.error-modal-message{font-size:13px;color:var(--text);line-height:1.5;margin-bottom:16px;text-align:center;white-space:pre-line}.error-modal-actions{display:flex;justify-content:center}.error-modal-actions button{border-color:var(--danger);color:var(--danger);background:rgba(229,72,77,0.15)}#viewer-attr-owner{color:var(--success);text-decoration:none}#viewer-attr-owner:hover{text-decoration:underline}.viewer-refresh-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:84px;border-radius:6px}.viewer-refresh-icon{display:inline-flex;align-items:center;justify-content:center;width:13px;height:13px;line-height:0;transform-origin:50% 50%;transition:none}.viewer-refresh-icon svg{display:block;width:100%;height:100%}#viewer-gallery-refresh.viewer-refresh-btn{min-width:0;width:27px;height:27px;padding:0;gap:0;flex-shrink:0}#viewer-gallery-save-all.viewer-refresh-btn{min-width:0 !important;width:27px !important;height:27px !important;padding:0 !important;gap:0;flex-shrink:0;font-size:14px;line-height:1;color:var(--success)}#btn-viewer-download{font-family:"Courier New",Courier,monospace;font-size:14px;font-weight:600;color:var(--success);background:linear-gradient(180deg,rgba(var(--success-rgb),0.14) 0,rgba(var(--success-rgb),0.05) 100%);border:1px solid rgba(var(--success-rgb),0.35);border-radius:999px;min-width:0 !important;width:34px !important;height:34px !important;padding:0 !important;box-shadow:0 1px 2px rgba(0,0,0,0.3),inset 0 1px 0 rgba(255,255,255,0.04);transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .12s ease;cursor:pointer}#btn-viewer-download:hover{background:linear-gradient(180deg,rgba(var(--success-rgb),0.22) 0,rgba(var(--success-rgb),0.08) 100%);border-color:rgba(var(--success-rgb),0.6)}#btn-viewer-download:active{transform:translateY(1px) scale(0.98)}.viewer-refresh-icon.spinning{animation:viewer-refresh-spin 1s linear infinite}@keyframes viewer-refresh-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}#viewer-gallery-refresh .viewer-gallery-refresh-svg,#viewer-gallery-refresh .viewer-gallery-refresh-check{display:block;width:100%;height:100%}#viewer-gallery-refresh .viewer-gallery-refresh-check{display:none;color:var(--success)}#viewer-gallery-refresh.is-refreshing #viewer-gallery-refresh-icon{animation:viewer-refresh-spin .8s linear infinite}#viewer-gallery-refresh.is-done .viewer-gallery-refresh-svg{display:none}#viewer-gallery-refresh.is-done .viewer-gallery-refresh-check{display:block;animation:viewer-gallery-refresh-pop .35s ease}@keyframes viewer-gallery-refresh-pop{0%{transform:scale(0.5);opacity:0}60%{transform:scale(1.15);opacity:1}100%{transform:scale(1)}}@media(max-width:600px){#eoa-address{font-size:calc(1em - 0.5px)}.section3-label-full{display:none}#step4-check{display:none}.send-back-label-full{display:none}.numtxs-label-full{display:none}.section2-label-full{display:none}.privkey-label-full{display:none}.gascap-label-full{display:none}.fail-fallback-label-full{display:none}.itertx-label-full{display:none}.finaliters-label-full{display:none}}@media(min-width:601px){.section3-label-short{display:none}.send-back-label-short{display:none}.numtxs-label-short{display:none}.section2-label-resp{display:none}.privkey-label-resp{display:none}.gascap-label-resp{display:none}.fail-fallback-label-short{display:none}.itertx-label-short{display:none}.finaliters-label-short{display:none}}.viewer-tokenid-dropdown{position:fixed;z-index:1000;background:#060606;border:1px solid rgba(var(--success-rgb),0.35);border-radius:var(--radius);box-shadow:0 8px 24px rgba(0,0,0,0.5);max-height:220px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(var(--success-rgb),0.55) rgba(255,255,255,0.04)}.viewer-tokenid-dropdown::-webkit-scrollbar{width:8px}.viewer-tokenid-dropdown::-webkit-scrollbar-track{background:rgba(255,255,255,0.03);border-radius:8px}.viewer-tokenid-dropdown::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(var(--success-rgb),0.75) 0,rgba(var(--success-rgb),0.45) 100%);border-radius:8px;border:1px solid rgba(var(--success-rgb),0.15);box-shadow:0 0 6px rgba(var(--success-rgb),0.35)}.viewer-tokenid-dropdown::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,rgba(var(--success-rgb),0.95) 0,rgba(var(--success-rgb),0.6) 100%);box-shadow:0 0 10px rgba(var(--success-rgb),0.5)}.viewer-tokenid-dropdown::-webkit-scrollbar-thumb:active{background:var(--success)}.viewer-tokenid-option{display:flex;align-items:center;gap:10px;padding:6px 10px;cursor:pointer;border-bottom:.5px solid var(--border);font-family:"Courier New",Courier,monospace;font-size:12px;color:var(--text)}.viewer-tokenid-option:last-child{border-bottom:0}.viewer-tokenid-option:hover,.viewer-tokenid-option.highlighted{background:rgba(var(--success-rgb),0.1)}.viewer-tokenid-option-thumb{width:28px;height:28px;flex-shrink:0;border-radius:4px;border:.5px solid var(--border-strong);image-rendering:pixelated;background:var(--surface-2);object-fit:cover}.viewer-tokenid-option-thumb-placeholder{width:28px;height:28px;flex-shrink:0;border-radius:4px;border:.5px solid var(--border);background:var(--surface-2)}.viewer-tokenid-option-id{color:var(--success);letter-spacing:.5px}.viewer-tokenid-dropdown-status{padding:10px;font-size:12px;color:var(--text-muted);text-align:center;font-family:"Courier New",Courier,monospace}.viewer-gallery{margin-top:0;margin-bottom:0}.viewer-gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;flex-wrap:wrap}.viewer-gallery-actions{display:flex;align-items:center;gap:6px}.viewer-gallery-filters{display:flex;gap:3px;flex-wrap:wrap}.viewer-gallery-filter-btn{font-family:"Courier New",Courier,monospace;font-size:11px;letter-spacing:.4px;padding:6px 10px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.viewer-gallery-filter-btn:hover{border-color:var(--success);color:var(--text)}.viewer-gallery-filter-btn.active{background:var(--success);border-color:var(--success);color:#000}.viewer-gallery-status{padding:0 10px 10px;font-size:12px;color:var(--text-muted);text-align:center;font-family:"Courier New",Courier,monospace}.viewer-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.viewer-gallery-cell{position:relative;aspect-ratio:1 / 1;border:1px solid var(--border);border-radius:6px;overflow:hidden;cursor:pointer;background:var(--bg-alt,rgba(255,255,255,0.03));transition:border-color .15s ease,transform .1s ease}.viewer-gallery-cell:hover{border-color:var(--success);transform:translateY(-1px)}.viewer-gallery-cell img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated;display:block}.viewer-gallery-cell .viewer-gallery-cell-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.viewer-gallery-cell .viewer-gallery-cell-spinner{width:16px;height:16px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--success);animation:viewer-spin .8s linear infinite}.viewer-gallery-cell-id{position:absolute;left:0;right:0;bottom:0;font-family:"Courier New",Courier,monospace;font-size:9px;color:#fff;background:rgba(0,0,0,0.55);padding:2px 4px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.viewer-gallery-cell-iters{position:absolute;left:0;right:0;top:0;font-family:"Courier New",Courier,monospace;font-size:8px;font-weight:700;color:var(--success);background:rgba(0,0,0,0.55);padding:2px 4px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.viewer-gallery-pagination{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:8px;flex-wrap:wrap}.viewer-gallery-page-btn{font-family:"Courier New",Courier,monospace;font-size:11px;min-width:26px;height:26px;padding:0 6px;border-radius:5px;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.viewer-gallery-page-btn:hover{border-color:var(--success);color:var(--text)}.viewer-gallery-page-btn.active{background:var(--success);border-color:var(--success);color:#000}.viewer-gallery-lightbox-box{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px}.viewer-gallery-lightbox-close-btn{position:absolute;top:-6px;right:-6px;width:28px;height:28px;border-radius:50%;border:.5px solid var(--border-strong);background:rgba(0,0,0,0.6);color:var(--text);font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.viewer-gallery-lightbox-close-btn:hover{opacity:.8}.viewer-gallery-lightbox-save-btn{position:absolute;top:-6px;right:26px;width:28px;height:28px;box-sizing:border-box;border-radius:50%;border:.5px solid var(--border-strong);background:rgba(0,0,0,0.6);color:var(--success);font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.viewer-gallery-lightbox-save-btn:hover{opacity:.8}.viewer-gallery-lightbox-iterations{font-size:.85rem;font-weight:600;letter-spacing:.02em;color:var(--text-secondary,#aaa);text-transform:uppercase}.viewer-gallery-lightbox-img{width:320px;height:320px;max-width:90vw;max-height:70vh;image-rendering:pixelated;border:1px solid var(--border-strong);border-radius:8px;box-shadow:0 8px 32px rgba(0,0,0,0.6)}.viewer-gallery-lightbox-tokenid-row{display:flex;align-items:center;gap:8px;max-width:90vw}#viewer-gallery-lightbox-copy{min-width:64px;text-align:center;flex-shrink:0}.viewer-gallery-lightbox-tokenid{font-family:"Courier New",Courier,monospace;font-size:12px;color:var(--text);background:rgba(255,255,255,0.06);padding:6px 10px;border-radius:6px;word-break:break-all}.viewer-gallery-lightbox-refine-row{display:flex;align-items:stretch;gap:8px;max-width:90vw;width:380px}.viewer-gallery-lightbox-target-input{flex:1;min-width:0;box-sizing:border-box;height:30px;background:rgba(255,255,255,0.06);border:.5px solid var(--border);border-radius:4px;color:var(--text);font-family:"Courier New",Courier,monospace;font-size:12px;line-height:normal;padding:0 10px}.viewer-gallery-lightbox-refine-btn{box-sizing:border-box;height:30px;min-width:64px;text-align:center;flex-shrink:0;padding:0 10px;line-height:1;background:rgba(var(--success-rgb),0.12);color:var(--success);border-color:var(--success)}.viewer-gallery-lightbox-queue-btn{box-sizing:border-box;height:30px;min-width:64px;text-align:center;flex-shrink:0;padding:0 10px;line-height:1}#viewer-gallery-lightbox-refresh:disabled{opacity:.5;cursor:default}@media(max-width:600px){body{font-size:calc(1em - 2px)}.sub,.card.error,label,.section-label,.eoa-info,.step3-desc,.tx-count-row,.mode-tab,.viewer-subtab,.password-modal-message{font-size:calc(13px - 2px)}input,button,.step-done,.balance-row-lg,.preview-attr-value,.password-modal-input{font-size:calc(14px - 2px)}.badge,.key-box .warn,#log,.small-btn,.settings-row input,.fund-amount-input,.settings-group-label,.preview-attr-label,.password-modal-error,#viewer-owner-row,#btn-viewer-refresh,.viewer-tokenid-option,.viewer-tokenid-dropdown-status,.viewer-gallery-filter-btn,.viewer-gallery-status,.viewer-gallery-page-btn{font-size:calc(11px - 2px)}.viewer-gallery-cell-id{font-size:8px}.viewer-gallery-cell-iters{font-size:7px}.progress-bar{padding:0 8px}.progress-dot{width:20px;height:20px;font-size:10px}.progress-line{margin-top:10px;min-width:4px}.progress-label{font-size:8px}#viewer-gallery-refresh.viewer-refresh-btn{min-width:0;width:24px;height:24px;padding:0}#viewer-gallery-save-all.viewer-refresh-btn{min-width:0 !important;width:24px !important;height:24px !important;padding:0 !important}#btn-viewer-download,.viewer-gallery-lightbox-save-btn{display:none !important}.log-filter-text{display:none}.log-filter-btn{padding:4px 7px}.viewer-gallery-lightbox-refine-row{width:100%;max-width:100%;flex-wrap:wrap;row-gap:6px}.viewer-gallery-lightbox-target-input{flex-basis:100%}.viewer-gallery-lightbox-refine-btn,.viewer-gallery-lightbox-queue-btn{min-width:0;flex:1 1 auto;padding:0 6px}.progress-label{font-size:calc(10px - 2px)}.key-box,code,.info-tooltip .info-tooltip-bubble{font-size:calc(11px - 2px)}.info-tooltip{font-size:calc(10px - 2px)}.viewer-title{font-size:calc(1.4em - 5px - 4px + 2px)}.getting-started-title-short{font-size:calc(1.3em - 5px + 4px - 2px)}#eoa-address{font-size:calc(1em - 2.5px)}.iterations-input-row{flex-direction:column;gap:6px}.iterations-input-row .small-btn{width:100%;padding:8px 10px}}@media (min-width:601px){#step5 .settings-row{justify-content:center}#step5 .settings-row>div{flex:0 0 25%}}.step5-cols{display:contents;}@media (min-width:601px){#step5 .step5-cols{display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,0.85fr); column-gap:20px; align-items:start;}#step5 .step5-cols > .settings-row,#step5 .step5-cols > .gas-feedback,#step5 .step5-cols > .autoswitch-box,#step5 .step5-cols > .start-row,#step5 .step5-cols > .bpix-resume-pill{grid-column:1;}#step5 .step5-cols > .settings-row{grid-row:1;}#step5 .step5-cols > #iterations-gas-feedback{grid-row:2;}#step5 .step5-cols > .autoswitch-box{grid-row:3;}#step5 .step5-cols > .start-row,#step5 .step5-cols > .bpix-resume-pill{grid-row:4;}#step5 .step5-cols > .preview-box{grid-column:2; grid-row:1 / span 4; align-self:center; flex-direction:column; flex-wrap:nowrap; gap:12px; margin:0;}#step5 .step5-cols > #preview-error{grid-column:1 / -1; grid-row:5;}#step5 .step5-cols > .settings-row > div{flex:1 1 0;}#step5 .step5-cols > .autoswitch-box{width:auto; min-width:0; margin-left:0; margin-right:0;}#step5 .step5-cols > .start-row{flex-wrap:wrap; gap:8px;}}@media (min-width:601px){#step5 .step5-cols > .autoswitch-box{margin-top:6px}#step5 .step5-cols > .preview-box{gap:15px}#step5 .step5-cols > .preview-box .preview-img{width:160px;height:160px}#step5 .step5-cols > .preview-box .preview-attrs{padding:10px 17.5px;gap:10px}#step5 .step5-cols > .preview-box .preview-attr-label{font-size:13.75px}#step5 .step5-cols > .preview-box .preview-attr-value{font-size:17.5px}#step5 .step5-cols > .preview-box .preview-attr-detail{font-size:12.5px}}@media (min-width:601px){#step5 .step5-cols{grid-template-rows:auto auto auto 1fr}#step5 .step5-cols > .settings-row input{width:90%;display:block;margin-left:auto;margin-right:auto}}@media (max-width:600px){#step5 .step5-cols{display: grid;grid-template-columns: minmax(0,1.15fr) minmax(0,0.85fr);grid-template-rows: auto auto auto 1fr;column-gap: 10px;align-items: start;}#step5 .step5-cols>.settings-row,#step5 .step5-cols>.gas-feedback,#step5 .step5-cols>.autoswitch-box,#step5 .step5-cols>.start-row,#step5 .step5-cols>.bpix-resume-pill{grid-column: 1;}#step5 .step5-cols>.settings-row{grid-row: 1;gap: 4px;justify-content: center;}#step5 .step5-cols>#iterations-gas-feedback{grid-row: 2;}#step5 .step5-cols>.autoswitch-box{grid-row: 3;width: auto;min-width: 0;margin: 6px 0 0;padding: 12px 6px 8px;}#step5 .step5-cols>.start-row,#step5 .step5-cols>.bpix-resume-pill{grid-row: 4;}#step5 .step5-cols>.preview-box{grid-column: 2;grid-row: 1 / span 4;align-self: center;flex-direction: column;flex-wrap: nowrap;gap: 14.4px;margin: 0;min-width: 0;}#step5 .step5-cols>#preview-error{grid-column: 1 / -1;grid-row: 5;}#step5 .step5-cols>.settings-row>div,#step5 .step5-cols>.autoswitch-box .settings-row>div{flex: 1 1 0;}#step5 .step5-cols .settings-row input{width: 90%;display: block;margin-left: auto;margin-right: auto;padding-left: 3px;padding-right: 3px;}#step5 .step5-cols>.autoswitch-box .settings-group-heading{flex-wrap: wrap;gap: 2px 4px;}#step5 .step5-cols>.start-row{flex-wrap: wrap;gap: 6px;}#step5 .step5-cols>.start-row button{white-space: nowrap;padding-left: 8px;padding-right: 8px;}#step5 .step5-cols>.preview-box .preview-img{width: 100% !important;max-width: 144px !important;height: auto !important;aspect-ratio: 1 / 1;}#step5 .step5-cols>.preview-box .preview-attrs{max-width: 100%;}}#step5 .step5-cols>.settings-row>div:first-child{flex:1.2 1 0}#step5 .step5-cols>.settings-row>div:last-child{flex:.8 1 0}#step5 .step5-cols>.autoswitch-box .settings-row>div:first-child{flex:1.2 1 0}#step5 .step5-cols>.autoswitch-box .settings-row>div:last-child{flex:.8 1 0}@media(max-width:600px){.progress-bar:has(.progress-step[data-progress-step="5"].active){display:none!important}}@media(min-width:601px){.progress-bar.progress-bar-hidden-for-slots{display:none!important}}

/* Reduce the space above the header AND below the last card on each
     tab only, by 50% of body's default top/bottom padding (1.5rem ->
     0.75rem each). Left/right padding stay untouched (still handled
     by body's own padding in bpix.css). */
  body { padding-top: 0.75rem; padding-bottom: 0.75rem; }

  /* ---- Mode tabs: 5 tabs always on one line ---- */
  .mode-tabs { flex-wrap: nowrap; gap: 4px; }
  #mode-tabs .mode-tab { flex: 1 1 0; min-width: 0; padding: 8px 4px; font-family: "Courier New", Courier, monospace !important; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  @media (min-width: 601px) {
    .mode-tab { font-size: 11px; padding: 8px 6px; }
  }
  #mode-tabs .mode-tab { font-size: 13px !important; }

  /* ---- Market tab layout and spacing ---- */
  #market-tab-wrapper { margin-top: calc(-0.75rem + 12px); }
  #market-tab-wrapper > .card { margin-top: 0; padding-top: 2px; }
  .market-filters { margin-bottom: 10px; padding: 8px; background: transparent; border: none; border-radius: var(--radius); }
  .market-filters-row { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; overflow-x: visible; scrollbar-width: none; }
  .market-filters-row::-webkit-scrollbar { display: none; }
  .market-sort-btn { flex: 1 1 0; min-width: 0; min-height: 26px; padding: 3px 5px; display: flex; align-items: center; justify-content: center; gap: 4px; border: 1px solid var(--border); border-radius: 5px; background: var(--surface); color: var(--text-secondary); font: 600 11px/1.2 "Courier New", Courier, monospace; cursor: pointer; }
  .market-sort-btn:hover { border-color: var(--success); color: var(--text); }
  .market-sort-btn[aria-pressed="true"] { border-color: var(--success); background: rgba(var(--success-rgb),.15); color: var(--success); }
  .market-filter-group--profile { flex: 0 0 100%; order: 1; box-sizing: border-box; width: 100%; min-width: 0; display: flex; flex-direction: row; gap: 6px; min-height: 26px; align-items: center; padding: 3px 5px; border: 1px solid var(--border); border-radius: 5px; background: var(--surface); color: var(--text-secondary); font: 600 11px/1.2 "Courier New", Courier, monospace; }
  .market-filter-group--profile:focus-within { border-color: var(--success); }
  .mf-profile-input { flex: 1 1 auto; width: auto !important; min-width: 0; max-width: none !important; box-sizing: border-box; margin: 0; padding: 0; border: 0 !important; outline: 0; background: transparent !important; color: #808080 !important; font: inherit; text-align: left; }
  .mf-profile-input::placeholder { color: #808080 !important; opacity: 1; }
  .market-filter-label { flex: 0 0 auto; margin: 0; padding-right: 6px; border-right: 1px solid var(--border); color: inherit; font: inherit; white-space: nowrap; }
  .market-filters-actions { display: flex; flex: 0 0 auto; align-items: center; justify-content: flex-end; }
  .market-refresh-btn { width: 26px; min-width: 26px; min-height: 26px; padding: 3px; box-sizing: border-box; }
  #market-refresh-btn:disabled { opacity: .38; cursor: not-allowed; }
  .market-loading-progress { display: flex; align-items: center; gap: 8px; }
  .market-loading-progress-track { flex: 1; height: 8px; overflow: hidden; border: 1px solid var(--border); border-radius: 999px; background: var(--surface-2); }
  .market-loading-progress-fill { width: 0; height: 100%; border-radius: inherit; background: var(--success); transition: width .2s ease; }
  .market-loading-progress-value { min-width: 34px; color: var(--text-secondary); font: 10px "Courier New", Courier, monospace; text-align: right; }
  .market-view-tabs { display: flex; flex-wrap: nowrap; gap: 6px; margin: 10px 8px 6px; }
  .market-view-tab { position: relative; overflow: visible; flex: 1 1 0; min-width: 0; min-height: 28px; padding: 0 3px; border: 1px solid var(--border); border-radius: 5px; background: var(--surface-2); color: var(--text-secondary); font: 600 12px "Courier New", Courier, monospace; white-space: nowrap; cursor: pointer; }
  .market-view-tab[aria-disabled="true"],
  .mode-tab[aria-disabled="true"] { opacity: .55; }
  .market-view-tab[aria-pressed="true"] { border-color: var(--success); background: rgba(var(--success-rgb),.15); color: var(--success); }
  .market-view-tab-count { position: absolute; top: -7px; right: -5px; z-index: 1; min-width: 17px; height: 17px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; padding: 0 4px; border: 1px solid var(--surface); border-radius: 999px; background: var(--success); color: #07110a; font: 700 9px/1 "Courier New", Courier, monospace; pointer-events: none; }
  .market-unlist-all { display: none; flex: 1 1 74px; min-width: 74px; min-height: 26px; align-items: center; justify-content: center; padding: 3px 7px; border: 1px solid #ffc107; border-radius: 5px; background: rgba(255,193,7,.18); color: #ffc107; font: 700 10px/1 "Courier New", Courier, monospace; text-align: center; white-space: nowrap; cursor: pointer; }
  .market-unlist-all:disabled { opacity: .45; cursor: wait; }
  .market-not-listed-footer { display: flex; align-items: center; gap: 5px; padding: 5px; border-top: .5px solid var(--border); }
  .market-not-listed-price { box-sizing: border-box; min-width: 0; flex: 1; height: 24px; margin: 0; padding: 3px 5px; border: 1px solid var(--border); border-radius: 4px; background: var(--surface-2); color: var(--text); font: 10px "Courier New", Courier, monospace; text-align: right; }
  .market-not-listed-price:focus { border-color: var(--success); outline: none; }
  .market-not-listed-sell { flex: 0 0 auto; height: 24px; padding: 2px 7px; border: 1px solid #ffc107; border-radius: 4px; background: rgba(255,193,7,.18); color: #ffc107; font: 700 9px "Courier New", Courier, monospace; cursor: pointer; }
  .market-not-listed-sell:disabled { opacity: .45; cursor: not-allowed; }
  #market-card[data-market-view="my-listings"] .market-sort-btn[data-market-sort="newest"],
  #market-card[data-market-view="my-listings"] .market-filter-group--profile,
  #market-card[data-market-view="not-listed"] .market-sort-btn[data-market-sort="price"],
  #market-card[data-market-view="not-listed"] .market-filter-group--profile { display: none; }
  @media (max-width: 420px) {
    .market-view-tabs { gap: 4px; margin-right: 4px; margin-left: 4px; }
    .market-view-tab { font-size: clamp(8px, 3.1vw, 11px); }
    .market-unlist-all { font-size: 9px; padding-right: 5px; padding-left: 5px; }
  }
  @media (max-width: 600px) {
    .market-view-tabs { flex-wrap: nowrap; }
    .market-view-tab { white-space: nowrap; }
    #about-market-card { width: 100%; zoom: .5; }
  }

  /* ---- Market pagination ---- */
  #market-pagination { display: flex; align-items: center; justify-content: center; gap: 4px; flex-wrap: wrap; margin-top: 10px; }
  .market-page-btn {
    padding: 4px 9px; font-size: 11px; font-family: "Courier New", Courier, monospace;
    border: .5px solid var(--border); border-radius: 4px;
    background: var(--surface-2); color: var(--text);
    cursor: pointer; line-height: 1.4; transition: background .12s, color .12s;
    min-width: 30px; text-align: center;
  }
  .market-page-btn:hover:not(:disabled) { background: var(--surface); color: var(--text); border-color: var(--accent, #888); }
  .market-page-btn.active { background: var(--accent, #6e6e6e); color: #fff; border-color: var(--accent, #6e6e6e); font-weight: 700; cursor: default; }
  .market-page-btn.disabled, .market-page-btn:disabled { opacity: .35; cursor: default; }
  .market-page-btn:not(.active):not(.disabled):first-child,
  .market-page-btn:not(.active):not(.disabled):last-child { padding: 4px 11px; }
  .market-page-ellipsis { font-size: 11px; color: var(--text-muted); padding: 4px 2px; line-height: 1.4; user-select: none; }

  /* ---- Market grid ---- */
  .market-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 4px; }

  /* ---- Market card ---- */
  .market-item {
    position: relative;
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: visible;
    cursor: default;
    background: var(--surface-2);
    display: flex;
    flex-direction: column;
  }
  .market-item-img-wrap {
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 8px 8px 0 0;
    background: var(--bg);
  }
  .market-item-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    image-rendering: pixelated;
    display: block;
    transition: transform .18s ease;
  }
  .market-item:hover .market-item-img { transform: scale(1.06); }
  /* Iterations badge (top) */
  .market-item-iters {
    position: absolute;
    top: 0; left: 0; right: 0;
    font-family: "Courier New", Courier, monospace;
    font-size: 8px; font-weight: 700;
    color: var(--success);
    background: rgba(0,0,0,.58);
    padding: 2px 4px;
    text-align: center;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    pointer-events: none;
    z-index: 1;
  }
  /* UP Name badge (bottom of image) */
  .market-item-seller {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    font-family: "Courier New", Courier, monospace;
    font-size: 12px;
    color: #fff;
    background: rgba(0,0,0,.68);
    padding: 3px 5px;
    display: flex; align-items: center; justify-content: center; gap: 4px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    pointer-events: none;
    z-index: 1;
  }
  .market-item-seller-pfp {
    width: 16px; height: 16px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    background: var(--surface);
  }
  /* Hover stats overlay */
  .market-item-hover {
    display: none;
    position: absolute;
    inset: 0;
    z-index: 10;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    background: rgba(0,0,0,.78);
    border-radius: 8px 8px 0 0;
    padding: 6px;
    pointer-events: none;
  }
  .market-item-img-wrap:hover .market-item-hover,
  .viewer-gallery-cell:hover .market-item-hover { display: flex; }

  .market-item-stat { font-size: 9px; color: var(--text-secondary); font-family: "Courier New", Courier, monospace; text-align: center; line-height: 1.5; }
  .market-item-stat span { color: var(--success); font-weight: 700; }
  /* Bottom: price + buy */
  .market-item-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 5px 7px;
    gap: 4px;
    border-top: .5px solid var(--border);
  }
  .market-item-price {
    font-size: 11px;
    font-weight: 700;
    color: var(--text);
    font-family: "Courier New", Courier, monospace;
    white-space: nowrap;
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .market-item-buy-btn {
    font-size: 10px;
    height: 22px;
    padding: 1px 8px;
    line-height: 1;
    border-radius: 4px;
    background: rgba(var(--success-rgb),.15);
    color: var(--success);
    border: 1px solid var(--success);
    cursor: pointer;
    font-family: "Courier New", Courier, monospace;
    white-space: nowrap;
    flex-shrink: 0;
    align-self: center;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .15s ease;
  }
  .market-item-buy-btn:hover { background: rgba(var(--success-rgb),.35); }
  .market-item-buy-btn:disabled { opacity: .45; cursor: not-allowed; }
  .market-item-buy-btn--unlist { height: 18px; padding: 1px 5px; font-size: 8px; background: rgba(255,193,7,.18); color: #ffc107; border-color: #ffc107; }
  .market-item-buy-btn--unlist:hover { background: rgba(255,193,7,.35); }
  .market-item-img-wrap--selectable { cursor: pointer; }
  .card.about-market-card { padding-bottom: .35rem; overflow: hidden; border-color: rgba(var(--success-rgb),.38); background: linear-gradient(145deg, var(--surface-2), var(--surface)); box-shadow: 0 4px 18px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.035); }
  .about-market-title { display: flex; align-items: center; gap: 8px; margin: 0 0 6px; padding: 0 0 3px 9px; border-bottom: 1px solid var(--border); border-left: 3px solid var(--success); color: var(--text); font: 700 14px/1.2 "Courier New", Courier, monospace; letter-spacing: .1em; text-shadow: 0 0 14px rgba(var(--success-rgb),.22); }
  .about-market-title::after { content: "LIVE LISTINGS"; margin-left: auto; padding: 3px 6px; border: 1px solid rgba(var(--success-rgb),.28); border-radius: 999px; background: rgba(var(--success-rgb),.08); color: var(--success); font: 700 8px "Courier New", Courier, monospace; letter-spacing: .06em; text-shadow: none; }
  .about-market-window { position: relative; width: 100%; }
  .about-market-track { display: flex; width: max-content; gap: 0; will-change: transform; animation: about-market-scroll 53.333s linear infinite; }
  .about-market-track.is-paused { animation-play-state: paused; }
  .about-market-sequence { display: grid; flex: 0 0 auto; gap: 6px; margin-right: 6px; }
  @keyframes about-market-scroll { to { transform: translateX(-50%); } }
  .about-market-preload { position: absolute; left: -100000px; top: 0; visibility: hidden; pointer-events: none; }
  .about-market-item { position: relative; display: flex; min-width: 0; flex-direction: column; align-items: center; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; cursor: pointer; -webkit-tap-highlight-color: transparent; -webkit-user-select: none; user-select: none; }
  .about-market-copy-tip { position: absolute; top: 5px; left: 50%; z-index: 2; transform: translateX(-50%); padding: 4px 7px; border: 1px solid rgba(var(--success-rgb),.8); border-radius: 4px; background: rgba(5,12,8,.94); box-shadow: 0 0 10px rgba(var(--success-rgb),.4); color: var(--success); font: 700 9px "Courier New", Courier, monospace; white-space: nowrap; pointer-events: none; opacity: 0; transition: opacity .12s ease; }
  .about-market-copy-tip.is-visible { opacity: 1; }
  .about-market-preview { position: relative; box-sizing: border-box; width: 81%; aspect-ratio: 1; margin: 0; overflow: visible; }
  .about-market-preview img { display: block; width: 100%; height: 100%; border-radius: 4px; object-fit: cover; image-rendering: pixelated; -webkit-tap-highlight-color: transparent; -webkit-user-select: none; user-select: none; transition: filter .18s ease, box-shadow .18s ease; }
  .about-market-preview:hover img,
  .about-market-item.is-buying .about-market-preview img { filter: brightness(1.18); box-shadow: 0 0 10px rgba(var(--success-rgb),.8), 0 0 20px rgba(var(--success-rgb),.42); }
  .about-market-buy { display: flex; box-sizing: border-box; width: 81%; min-width: 0; min-height: 18px; align-items: center; justify-content: center; padding: 1px 3px; border: 1px solid rgba(var(--success-rgb),.72); border-radius: 4px; background: rgba(5,12,8,.88); box-shadow: 0 0 8px rgba(var(--success-rgb),.16); color: var(--success); font: 700 9px/1.35 "Courier New", Courier, monospace; letter-spacing: .02em; white-space: nowrap; cursor: pointer; -webkit-tap-highlight-color: transparent; -webkit-user-select: none; user-select: none; transition: background .15s ease, color .15s ease, box-shadow .15s ease, filter .15s ease; }
  .about-market-buy:hover { background: rgba(var(--success-rgb),.22); box-shadow: 0 0 12px rgba(var(--success-rgb),.65), 0 0 20px rgba(var(--success-rgb),.35); filter: brightness(1.25); }
  .about-market-buy:focus-visible { outline: 2px solid var(--success); outline-offset: 2px; }
  .about-market-buy:disabled { opacity: .5; cursor: not-allowed; }
  .about-market-status { min-height: 0; margin-top: 4px; color: var(--text-muted); font: 10px "Courier New", Courier, monospace; }
  .market-item--selected { border-color: #ffc107; box-shadow: 0 0 0 1px rgba(255,193,7,.55); }
  .market-item--selected-buy { border-color: var(--success); box-shadow: 0 0 0 1px rgba(var(--success-rgb),.65); }
  .market-item-selection-mark { position: absolute; top: 6px; right: 6px; z-index: 12; width: 20px; height: 20px; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.7); border-radius: 4px; background: rgba(0,0,0,.62); color: #ffc107; font: 700 13px/1 "Courier New", Courier, monospace; pointer-events: none; }
  .market-item--selected-buy .market-item-selection-mark { color: var(--success); }
  .market-item:not(.market-item--selected):not(.market-item--selected-buy) .market-item-selection-mark { color: transparent; }
  .viewer-gallery-cell-selection { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; display: flex; align-items: center; justify-content: center; gap: 5px; min-height: 22px; box-sizing: border-box; padding: 2px 4px; background: rgba(0,0,0,.62); color: #fff; font: 9px/1 "Courier New", Courier, monospace; cursor: pointer; }
  .viewer-gallery-cell-selection input { width: 13px; height: 13px; margin: 0; accent-color: #ffc107; cursor: pointer; }
  .viewer-gallery-cell--selected { border-color: #ffc107; box-shadow: 0 0 0 1px rgba(255,193,7,.55); }
  #bulk-action-toolbar { position: fixed; left: 50%; top: 50%; z-index: 10000; display: none; align-items: center; gap: 10px; transform: translate(-50%, -50%); padding: 9px 12px; border: 1px solid rgba(255,193,7,.8); border-radius: 8px; background: rgba(0,0,0,.92); box-shadow: 0 4px 20px rgba(0,0,0,.65); color: #fff; font: 11px "Courier New", Courier, monospace; white-space: nowrap; }
  #listing-price-modal-overlay { z-index: 10001; }
  .viewer-gallery-toolbar.has-bulk-selection > :not(#bulk-action-toolbar),
  #bulk-action-count { color: #ffc107; }
  #bulk-action-button { display: inline-flex; align-items: center; justify-content: center; min-height: 28px; padding: 4px 12px; border: 1px solid #ffc107; border-radius: 5px; background: rgba(255,193,7,.18); color: #ffc107; font: 700 11px "Courier New", Courier, monospace; text-align: center; cursor: pointer; }
  #bulk-action-button:hover { background: rgba(255,193,7,.35); }
  #bulk-action-button:disabled { opacity: .5; cursor: wait; }
  #bulk-action-buy-button { display: inline-flex; align-items: center; justify-content: center; min-height: 28px; padding: 4px 12px; border: 1px solid var(--success); border-radius: 5px; background: rgba(var(--success-rgb),.18); color: var(--success); font: 700 11px "Courier New", Courier, monospace; text-align: center; cursor: pointer; }
  #bulk-action-buy-button:hover { background: rgba(var(--success-rgb),.35); }
  #bulk-action-buy-button:disabled { opacity: .5; cursor: wait; }
  #bulk-action-buy-controls { display: none; align-items: center; gap: 8px; }
  #bulk-action-buy-button-wrap { position: relative; display: inline-flex; }
  #bulk-action-buy-count { position: absolute; top: -7px; right: -7px; min-width: 16px; height: 16px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; padding: 0 4px; border: 1px solid rgba(0,0,0,.8); border-radius: 999px; background: var(--success); color: #07110a; font: 700 9px/1 "Courier New", Courier, monospace; pointer-events: none; }
  #bulk-action-select-all { min-height: 26px; padding: 3px 8px; border: 1px solid #ffc107; border-radius: 5px; background: rgba(255,193,7,.18); color: #ffc107; font: 600 10px "Courier New", Courier, monospace; cursor: pointer; }
  #bulk-action-select-all:hover { border-color: #ffc107; color: #ffc107; }
  #bulk-action-select-all:disabled { opacity: .5; cursor: wait; }
  #bulk-action-buy-total { color: var(--success); font: 700 10px "Courier New", Courier, monospace; }
  #bulk-action-fill-all-prices { display: inline-flex; align-items: center; justify-content: center; min-height: 26px; padding: 3px 8px; border: 1px solid var(--border-strong); border-radius: 5px; background: var(--surface-2); color: var(--text); font: 600 10px "Courier New", Courier, monospace; text-align: center; cursor: pointer; }
  #bulk-action-fill-all-prices:hover { border-color: #ffc107; color: #ffc107; }
  #bulk-action-clear { padding: 2px 4px; border: 0; background: transparent; color: #ddd; font: 10px "Courier New", Courier, monospace; cursor: pointer; }
  #bulk-action-clear:hover { color: #fff; text-decoration: underline; }
  #listing-price-bulk-rows { display: none; width: 100%; max-height: min(55vh, 440px); overflow-y: auto; margin: 8px 0; scrollbar-width: thin; scrollbar-color: var(--border-strong) var(--surface-2); }
  #listing-price-modal-overlay .password-modal-box { max-height: 90vh; overflow-y: auto; }
  .listing-price-bulk-row { display: grid; grid-template-columns: 42px minmax(0, 1fr) minmax(90px, 120px); align-items: center; gap: 8px; padding: 5px 0; border-bottom: 1px solid var(--border); }
  .listing-price-bulk-thumb { width: 42px; height: 42px; object-fit: cover; image-rendering: pixelated; background: var(--surface-2); border-radius: 4px; }
  .listing-price-bulk-token { overflow: hidden; color: var(--text); font: 10px "Courier New", Courier, monospace; text-overflow: ellipsis; white-space: nowrap; }
  .listing-price-bulk-input { width: 100%; min-width: 0; box-sizing: border-box; padding: 6px 5px; border: 1px solid var(--border); border-radius: 4px; background: var(--surface-2); color: var(--text); font: 11px "Courier New", Courier, monospace; text-align: right; }
  .listing-price-bulk-input:focus { border-color: var(--success); outline: none; }
  #listing-price-bulk-rows::-webkit-scrollbar { width: 8px; }
  #listing-price-bulk-rows::-webkit-scrollbar-track { background: var(--surface-2); border-radius: 999px; }
  #listing-price-bulk-rows::-webkit-scrollbar-thumb { background: var(--border-strong); border: 1px solid var(--surface-2); border-radius: 999px; }
  #listing-price-bulk-rows::-webkit-scrollbar-thumb:hover { background: var(--success); }
  @media (max-width: 420px) {
    .listing-price-bulk-row { grid-template-columns: 36px minmax(0, 1fr) minmax(76px, 95px); gap: 6px; }
    .listing-price-bulk-thumb { width: 36px; height: 36px; }
    .listing-price-bulk-token { font-size: 8px; }
  }
  .market-item-view-btn { display: inline-flex; align-items: center; justify-content: center; align-self: center; height: 22px; padding: 1px 7px; line-height: 1; border-radius: var(--radius); border: .5px solid var(--border); background: var(--surface-2); color: var(--text); font-size: 13px; text-decoration: none; cursor: pointer; transition: border-color .15s ease, background .15s ease; }
  .market-item-view-btn:hover { border-color: var(--border-strong); background: var(--surface); }
  .market-item-spinner { width: 12px; height: 12px; border: 2px solid rgba(var(--success-rgb),.25); border-top-color: var(--success); border-radius: 50%; animation: viewer-spin .8s linear infinite; display: inline-block; margin-right: 2px; vertical-align: middle; }
  .market-empty { text-align: center; color: var(--text-muted); font-size: 13px; padding: 24px 0; grid-column: 1/-1; }
  @media (max-width: 600px) {
    .market-item-seller { font-size: 8px; padding: 1px 3px; }
    .market-item-iters { font-size: 6px; padding: 1px 3px; }
    .market-item-stat { display: flex; flex-direction: column; align-items: center; line-height: 1.25; }
    .market-item-footer { padding: 3px 4px; gap: 2px; flex-wrap: wrap; }
    .market-item-price { font-size: 8px; }
    .market-item-buy-btn { height: 18px; font-size: 8px; padding: 1px 4px; }
    .market-item-buy-btn--unlist { height: 16px; font-size: 7px; padding: 1px 3px; }
    .market-item-view-btn { height: 18px; font-size: 10px; padding: 1px 4px; }
    .market-sort-btn { min-height: 24px; padding: 2px 4px; gap: 3px; font-size: 9px; }
    .market-filter-group--profile { flex-basis: 74px; min-width: 74px; gap: 4px; min-height: 24px; padding: 2px 4px; font-size: 9px; }
    .market-refresh-btn { width: 24px; min-width: 24px; min-height: 24px; padding: 2px; }
    #market-tab-wrapper > .card { padding: .6rem .6rem; }
    .market-grid { gap: 5px; }
  }
  @media (max-width: 400px) {
    .mode-tab { flex: 1 1 0; }
    #tab-regular, #tab-market { flex-grow: 1.35; }
    #tab-viewer, #tab-txs { flex-grow: .7; }
    #tab-about { flex-grow: .9; }
    .market-item-view-btn { display: none; }
    .market-filters-row { flex-wrap: wrap; overflow-x: visible; }
    .market-filter-group--profile { order: 1; flex: 1 0 100%; }
    .market-filters-actions { order: 0; justify-content: center; margin-left: 0; }
    .market-filters-row { justify-content: center; }
  }
  @media (max-width: 360px) {
    .mode-tab { padding: 6px 1px; font-size: 8px; }
    .market-filters-row { column-gap: 3px; }
    .market-sort-btn { padding: 1px 2px; font-size: 7px; }
    .market-filters-actions { margin-left: 0; }
    .market-refresh-btn { width: 22px; min-width: 22px; min-height: 24px; }
  }
  @media (max-width: 600px) {
    .market-filters-row { flex-wrap: wrap; justify-content: stretch; gap: clamp(2px, .8vw, 5px); overflow: visible; }
    .market-filters-row > .market-sort-btn,
    .market-filters-row > .market-unlist-all { flex: 1 1 0; min-width: 0; }
    .market-filters-row > .market-filter-group--profile { order: 2; box-sizing: border-box; flex: 0 0 100%; width: 100%; min-width: 0; }
    .market-filters-row > .market-sort-btn,
    .market-filters-row > .market-filter-group--profile { min-height: clamp(24px, 7vw, 32px); padding: 2px clamp(1px, .5vw, 4px); font-size: clamp(6px, 1.9vw, 10px); }
    .market-filter-group--profile { gap: 2px; }
    .market-filter-label { padding-right: 2px; }
    .mf-profile-input { font-size: inherit; }
    .market-filters-row > .market-unlist-all { min-height: clamp(24px, 7vw, 32px); padding: 2px 1px; font-size: clamp(6px, 1.8vw, 9px); }
    .market-filters-row > .market-filters-actions { flex: 0 0 clamp(24px, 7vw, 32px); }
    .market-filters-row .market-refresh-btn { width: 100%; min-width: 0; min-height: clamp(24px, 7vw, 32px); padding: 2px; font-size: clamp(10px, 3vw, 14px); }
  }
  @media (min-width: 601px) {
    .market-filters-row { display: grid; width: 100%; box-sizing: border-box; grid-template-columns: repeat(5, minmax(0, 1fr)) 26px; align-items: stretch; }
    .market-filters-row > .market-sort-btn,
    .market-filters-row > .market-unlist-all { width: 100%; min-width: 0; box-sizing: border-box; }
    .market-filters-row > .market-filter-group--profile { grid-column: 1 / -1; grid-row: 2; }
    .market-filters-row > .market-filters-actions { grid-column: 6; grid-row: 1; width: 26px; }
    #market-card[data-market-view="not-listed"] .market-filters-row { grid-template-columns: repeat(4, minmax(0, 1fr)) 26px; }
    #market-card[data-market-view="not-listed"] .market-filters-row > .market-filters-actions { grid-column: 5; }
  }
  .super-mode-btn.active {
    background: rgba(255,193,7,.18);
    color: #ffc107;
    border-color: #ffc107;
    box-shadow: 0 0 0 1px rgba(255,193,7,.35), 0 0 10px rgba(255,193,7,.45);
  }
  #viewer-gallery-lightbox-sell {
    background: rgba(255,193,7,.18);
    color: #ffc107;
    border-color: #ffc107;
    box-shadow: 0 0 0 1px rgba(255,193,7,.35), 0 0 10px rgba(255,193,7,.45);
  }
  .auto-pause-btn.active {
    background: rgba(255,193,7,.18);
    color: #ffc107;
    border-color: #ffc107;
    box-shadow: 0 0 0 1px rgba(255,193,7,.35), 0 0 10px rgba(255,193,7,.45);
  }
  .auto-pause-btn.paused-state {
    background: rgba(255,193,7,.30);
    box-shadow: 0 0 0 1px rgba(255,193,7,.55), 0 0 14px rgba(255,193,7,.65);
  }
  .take-turns-btn.active {
    background: rgba(255,193,7,.18);
    color: #ffc107;
    border-color: #ffc107;
    box-shadow: 0 0 0 1px rgba(255,193,7,.35), 0 0 10px rgba(255,193,7,.45);
  }
  .take-turns-row { display: flex; flex: 0 0 100%; justify-content: center; margin-top: 2px; }
  .take-turns-btn { width: max-content; }
  .settings-row-active::before { content: none; }
  .tokenid-running-field { position: relative; }
  .tokenid-running-badge {
    position: absolute;
    top: var(--running-badge-top);
    left: var(--running-badge-left);
    z-index: 2;
    transform: translateY(-50%);
    display: grid;
    width: 16px;
    height: 16px;
    box-sizing: border-box;
    place-items: center;
    border-radius: 999px;
    background: var(--success);
    color: var(--bg);
    font-size: 9px;
    font-weight: 700;
    line-height: 1;
    pointer-events: none;
  }
  .tokenid-running-badge::before {
    content: "";
    width: 0;
    height: 0;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 5px solid var(--bg);
    transform: translateX(1px);
  }
  #step5 .next-token-preview {
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-width: 0;
    margin: 0;
  }
  #step5 .step5-cols > .step5-preview-column {
    align-self: start;
    gap: 4px;
    margin: 0;
  }
  #step5 .preview-title {
    margin: 0;
    color: var(--text-secondary);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .5px;
    text-align: center;
  }
  #step5 #preview-box { align-self: center; flex-direction: column; flex-wrap: nowrap; gap: 4px; margin: 0; }
  #step5 #preview-box .preview-title { width: 100%; }
  #step5 .next-token-preview img {
    display: block;
    width: 74.8px;
    max-width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    image-rendering: pixelated;
  }
  #step5 .step5-cols > #preview-error { grid-row: 5; }
  @media (max-width: 600px) {
    #step5 .step5-cols > #start-row {
      grid-column: 1;
      width: 100%;
      box-sizing: border-box;
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      align-items: center;
      column-gap: 2px;
      row-gap: 6px;
    }
    #start-row > #btn-start,
    #start-row > #btn-stop,
    #start-row > span,
    #start-row > #btn-auto-pause {
      min-width: 0;
      box-sizing: border-box;
      width: 100%;
    }
    #start-row > #btn-start,
    #start-row > #btn-stop,
    #start-row > #btn-auto-pause,
    #start-row > span > #btn-super-mode {
      width: 100%;
      height: 20px;
      box-sizing: border-box;
      padding: 3px 4px;
      font-size: 9px;
    }
    #start-row > #take-turns-row {
      grid-column: 1 / -1;
      width: 100%;
      margin-top: 0;
      transform: none !important;
    }
  }
  @media (max-width: 320px) {
    #start-row > #btn-start,
    #start-row > #btn-stop,
    #start-row > #btn-auto-pause,
    #start-row > span > #btn-super-mode {
      padding: 2px;
      font-size: 8px;
    }
  }
  /* Keep the product header visible while the loop runs and on every tab. */
  .road-header-slot { display: none; }
  .app-header { overflow: visible !important; }
  .app-header::before { border-radius: inherit; }
  /* PWA only: "loop interrupted -> Resume?" box. Takes the place of the Start / Auto-Pause /
     Boost row while it is shown (that row is restored on YES / NO). Text first (fully wrapped),
     YES / NO buttons centred below it. */
  .bpix-resume-pill.pwa {
    box-sizing: border-box; width: 100%;
    display: flex; flex-direction: column; align-items: center; gap: 8px;
    padding: 10px 12px; margin: 0 0 .5rem; text-align: center;
    background: #081405; border: 1px solid #2f7d33; border-radius: 12px;
    color: #9fdc9f; font: 12px/1.35 monospace;
  }
  .bpix-resume-pill.pwa.fixed-top {
    position: fixed; top: calc(env(safe-area-inset-top, 0px) + 8px); left: 50%; transform: translateX(-50%);
    z-index: 950; width: min(94%, 360px); box-shadow: 0 4px 18px rgba(0,0,0,.6);
  }
  .bpix-resume-pill.pwa .rp-text { display: block; white-space: normal; overflow-wrap: anywhere; text-wrap: balance; }
  .bpix-resume-pill.pwa .rp-btns { display: flex; justify-content: center; gap: 10px; }
  .bpix-resume-pill.pwa .rp-yes, .bpix-resume-pill.pwa .rp-no {
    border-radius: 8px; padding: 5px 22px; font: inherit; cursor: pointer; border: 1px solid #2f7d33;
  }
  .bpix-resume-pill.pwa .rp-yes { background: #143a14; color: #b6f5b6; }
  .bpix-resume-pill.pwa .rp-no { background: none; color: #9fdc9f; }
  body.up-connected .road-header-slot { display: none !important; }
  .road-header-slot .txs-road-wrap { margin: 0 0 .75rem; }
  /* Header title as a translucent watermark on the road (only when the road
     sits in the header slot, i.e. UP connected outside the Txs tab). */
  .txs-road-watermark { display: none; }
  .road-header-slot .txs-road-watermark {
    display: flex; align-items: center; justify-content: center;
    position: absolute; inset: 0; z-index: 1;
    opacity: .28; pointer-events: none; user-select: none;
  }
  /* Road = 92px tall, dashed centre line at 46px, paved band 6px..86px.
     BURNT PIX is centred in the upper half (top edge -> centre line),
     REFINER in the lower half (centre line -> bottom edge). */
  .road-header-slot .txs-road-watermark .app-header-title { display: block; position: static; }
  .road-header-slot .txs-road-watermark .app-header-title-main {
    position: absolute; left: 50%; top: 26px;
    width: max-content; line-height: 1;
    padding-left: 2px; /* offsets trailing letter-spacing so the text is truly centred */
    transform: translate(-50%, -50%);
  }
  .road-header-slot .txs-road-watermark .app-header-title-sub {
    position: absolute; left: 0; right: 0; top: 66px;
    text-align: center; line-height: 1; margin-top: -.5em;
    padding-left: 4px; /* same trailing letter-spacing compensation */
  }
  @media (max-width: 600px) {
    .road-header-slot .txs-road-watermark .app-header-title-main { font-size: 13px; letter-spacing: 1.5px; padding-left: 1.5px; }
    .road-header-slot .txs-road-watermark .app-header-title-sub { font-size: 8px; letter-spacing: 3px; padding-left: 3px; }
  }
  /* Activity log box shortened by one line (~22px = 12px font-size *
     line-height + the 4px inter-line margin-bottom set in bpix.css). */
  #log { height: 98px; }
  .log-scroll-wrap { position: relative; }
  .log-scroll-bottom {
    position: absolute; right: 10px; bottom: 9px; z-index: 1;
    padding: 5px 10px; border: 1px solid var(--success); border-radius: 999px;
    background: rgba(var(--success-rgb), .16); color: var(--success);
    box-shadow: 0 2px 10px rgba(0, 0, 0, .45);
    font: 700 11px/1.2 "Courier New", Courier, monospace;
    cursor: pointer;
  }
  .log-scroll-bottom:hover { background: rgba(var(--success-rgb), .28); }
  .log-scroll-bottom[hidden] { display: none; }
  /* Activity log "enlarge" button + maximized mode (size = Fund card + Refine card, set by JS) */
  .log-title-left { display: inline-flex; align-items: center; gap: 8px; }
  /* No blue tap flash / text-selection bar / focus ring when tapping the Activity log header (mobile, responsive, PWA).
     Only the header row is affected — the log lines themselves stay selectable/copyable. */
  #console-log-toggle, #console-log-toggle *, .log-max-btn, .log-max-close {
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    -webkit-user-select: none; user-select: none;
  }
  #console-log-toggle, #console-log-toggle:focus, #console-log-toggle:focus-visible,
  .log-max-btn:focus, .log-max-btn:focus-visible, .log-max-close:focus, .log-max-close:focus-visible { outline: none; }
  .log-max-btn, .log-max-close {
    background: none; border: none; padding: 2px 4px; margin: 0; cursor: pointer;
    color: var(--text-muted); display: inline-flex; align-items: center; justify-content: center; line-height: 1;
  }
  .log-max-btn:hover, .log-max-close:hover { color: var(--success); }
  .log-max-close { display: none; font-size: 16px; font-weight: 700; }
  #log-max-backdrop { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.65); z-index: 9998; }
  #console-log-card.log-maximized {
    position: fixed; z-index: 9999; margin: 0; box-sizing: border-box; overflow: hidden;
    /* !important: the mode switcher sets style="display:block" inline on this card, which would otherwise
       beat display:flex -> #log stops being a flex item, grows to its full content height and is clipped
       by the card's overflow:hidden (no scroll possible). */
    display: flex !important; flex-direction: column; background: var(--surface); box-shadow: 0 10px 40px rgba(0,0,0,0.7);
  }
  #console-log-card.log-maximized .log-max-close { display: inline-flex; }
  #console-log-card.log-maximized .log-max-btn { display: none; }
  #console-log-card.log-maximized .log-scroll-wrap {
    display: flex; flex: 1 1 0; min-height: 0;
  }
  #console-log-card.log-maximized #log {
    height: auto !important; max-height: none !important; flex: 1 1 0; min-height: 0;
    overflow-y: auto !important; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; touch-action: pan-y;
  }

  /* --- Txs tab: refine() traffic road animation ---
     Each confirmed refine()/execute()->refine() tx is a car crossing the
     road left-to-right; pending refine() calls (mempool, via
     eth_getBlockByNumber("pending")) queue up on the left shoulder and
     only "drive in" once they're picked up as confirmed rows. Purely
     decorative/informational — no on-chain state depends on this. */
  /* Keep the road implementation in the DOM, but do not show its wrap or header slot. */
  .road-header-slot, #txs-log-card .txs-road-wrap { display: none !important; }
  /* Pending strip shares the dApp's dark-green surface and status styling. */
  #txs-log-card > .section-label { margin-bottom: 2px; }
  #txs-log-card .txs-log-list { margin-top: 0; }
  #txs-log-card .txs-road-queue-strip {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    min-height: 0;
    margin: 10px 0 12px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(var(--success-rgb), .09), var(--surface-2) 58%);
    box-shadow: inset 3px 0 0 rgba(var(--success-rgb), .55);
  }
  .lucky-lyx-meter {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
    align-items: start;
    gap: 12px;
    margin: -4px 0 12px;
    padding: 8px 12px;
    border: 1px solid rgba(250, 204, 21, .3);
    border-left: 3px solid #facc15;
    border-radius: 8px;
    background: linear-gradient(110deg, rgba(250, 204, 21, .09), var(--surface-2) 60%);
  }
  .lucky-lyx-meter-main {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    min-width: 0;
    text-align: center;
  }
  .lucky-lyx-meter-value {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    max-width: 100%;
  }
  .lucky-lyx-last-hit {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    min-width: 0;
    text-align: center;
  }
  .lucky-lyx-txs-recorded {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    min-width: 0;
    text-align: center;
  }
  .lucky-lyx-last-hit-label {
    color: var(--text-secondary);
    font: 700 12px/1.4 "Courier New", Courier, monospace;
    letter-spacing: .5px;
  }
  .lucky-lyx-last-hit strong {
    overflow: hidden;
    max-width: 100%;
    color: #fde68a;
    font: 700 12px/1.25 "Courier New", Courier, monospace;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .lucky-lyx-meter-label {
    position: relative;
    color: var(--text-secondary);
    font: 700 12px/1.4 "Courier New", Courier, monospace;
    letter-spacing: .5px;
    cursor: help;
  }
  .lucky-lyx-txs-recorded-label {
    position: relative;
    color: var(--text-secondary);
    font: 700 12px/1.4 "Courier New", Courier, monospace;
    letter-spacing: .5px;
    cursor: help;
  }
  .lucky-lyx-txs-recorded-label::after {
    content: attr(data-tip);
    position: absolute;
    right: 0;
    bottom: calc(100% + 8px);
    z-index: 20;
    width: max-content;
    max-width: min(220px, calc(100vw - 48px));
    box-sizing: border-box;
    padding: 8px 10px;
    border: 1px solid rgba(250, 204, 21, .45);
    border-radius: 7px;
    background: var(--bg);
    color: var(--text);
    font: 600 11px/1.45 "Avenir Next", "Segoe UI", sans-serif;
    letter-spacing: 0;
    text-align: center;
    white-space: normal;
    box-shadow: 0 5px 18px rgba(0, 0, 0, .45);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .15s ease;
  }
  .lucky-lyx-txs-recorded-label:hover::after,
  .lucky-lyx-txs-recorded-label:focus-visible::after {
    opacity: 1;
    visibility: visible;
  }
  .lucky-lyx-txs-recorded-label:focus-visible { outline: 2px solid #facc15; outline-offset: 3px; }
  .lucky-lyx-meter-label::after {
    content: attr(data-tip);
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: calc(100% + 8px);
    z-index: 20;
    width: max-content;
    max-width: min(280px, calc(100vw - 48px));
    box-sizing: border-box;
    padding: 8px 10px;
    border: 1px solid rgba(250, 204, 21, .45);
    border-radius: 7px;
    background: var(--bg);
    color: var(--text);
    font: 600 11px/1.45 "Avenir Next", "Segoe UI", sans-serif;
    letter-spacing: 0;
    text-align: center;
    text-transform: none;
    white-space: pre-line;
    box-shadow: 0 5px 18px rgba(0, 0, 0, .45);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .15s ease;
  }
  .lucky-lyx-meter-label:hover::after,
  .lucky-lyx-meter-label:focus-visible::after {
    opacity: 1;
    visibility: visible;
  }
  .lucky-lyx-meter-label:focus-visible { outline: 2px solid #facc15; outline-offset: 3px; }
  .lucky-lyx-meter strong {
    color: #fde68a;
    font: 800 17px/1 "Courier New", Courier, monospace;
    text-shadow: 0 0 12px rgba(250, 204, 21, .22);
    white-space: nowrap;
  }
  .lucky-lyx-last-hit strong {
    font-size: 12px;
    text-shadow: none;
  }
  .txs-pending-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
  .txs-pending-heading-label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--text-secondary);
    font: 700 9px/1.4 "Courier New", Courier, monospace;
    letter-spacing: .8px;
    text-transform: uppercase;
  }
  .txs-pending-indicator {
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: var(--success);
    box-shadow: 0 0 8px rgba(var(--success-rgb), .7);
    animation: txs-pending-pulse 1.8s ease-in-out infinite;
  }
  @keyframes txs-pending-pulse { 50% { opacity: .42; box-shadow: 0 0 2px rgba(var(--success-rgb), .35); } }
  @media (prefers-reduced-motion: reduce) {
    .txs-pending-indicator { animation: none; }
  }
  #txs-log-card .txs-road-queue {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: stretch;
    gap: 7px;
    width: 100%;
  }
  .txs-pending-name {
    position: relative;
    isolation: isolate;
    width: 100%;
    min-width: 0;
    max-width: none;
    box-sizing: border-box;
    display: inline-flex; align-items: center; gap: 4px;
    overflow: hidden;
    white-space: nowrap;
    padding: 5px 9px;
    border: 1px solid rgba(var(--success-rgb), .28);
    border-radius: 7px;
    background: rgba(var(--success-rgb), .07);
    color: var(--text);
    font: 600 10px/1.4 "Courier New", Courier, monospace;
    transition: background .15s ease, border-color .15s ease, transform .15s ease;
  }
  .txs-pending-name:hover {
    transform: translateY(-1px);
    border-color: var(--success);
    background: rgba(var(--success-rgb), .16);
  }
  .txs-pending-name--placeholder {
    justify-content: center;
    border-style: dashed;
    background: rgba(var(--success-rgb), .025);
    opacity: .38;
    pointer-events: none;
  }
  .txs-pending-name::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background-image: linear-gradient(rgba(0, 0, 0, .18), rgba(0, 0, 0, .18)), var(--txs-pending-banner, none);
    background-size: cover;
    background-position: center;
    opacity: .5;
    pointer-events: none;
  }
  .txs-pending-name-text, .txs-pending-pfp { position: relative; z-index: 1; }
  .txs-pending-name-text { overflow: hidden; text-overflow: ellipsis; min-width: 0; cursor: help; text-shadow: 0 1px 2px #000, 0 0 4px #000; }
  .txs-pending-gas-tip { display: none; }
  .txs-pending-pfp { width: 18px; height: 18px; border-radius: 50%; object-fit: cover; flex: 0 0 18px; }
  .txs-road-queue-count {
    align-self: flex-start;
    padding: 3px 8px;
    border: 1px solid rgba(var(--success-rgb), .3);
    border-radius: 999px;
    background: rgba(var(--success-rgb), .11);
    color: var(--success);
    font: 700 9px/1.4 "Courier New", Courier, monospace;
    letter-spacing: .2px;
  }
  .app-header { display: block !important; }
  .txs-road-wrap {
    position: relative;
    height: 92px;
    margin: 10px 0 14px;
    border-radius: 10px;
    background: var(--surface-2);
    /* Was overflow:hidden, which clipped the UP-name label (above a car)
       and the #BLOCK tag (below a car) whenever a car sat on an outer
       lane (top:20%/80%) and its label/tag stuck out past the wrap's own
       box. Switched to visible per user request so neither is ever cut
       off. The road background/lanes still look contained since they
       fill the box edge-to-edge; only labels/tags can now spill slightly
       past the rounded border on outer lanes. */
    overflow: visible;
    border: 1px solid var(--border-strong);
    /* Perf: isolates layout/style of the road subtree so moving cars never
       triggers reflow on the rest of the page. NOT `paint` — overflow is
       visible on purpose (car labels spill past the border). */
    contain: layout style;
  }
  .txs-road-lane {
    position: absolute;
    left: 0; right: 0; top: 50%;
    /* Widened from 58px to 80px: the outer lanes (TXS_ROAD_LANE_TOP_PCT
       20%/80% of the 92px-tall wrap = ~18px/~74px from the top) sat right
       at the edge of the old 58px-tall road band, so cars on the top/bottom
       lane visibly stuck out above/below the paved road strip. 80px gives
       enough headroom above and below each outer lane's car for it to sit
       fully on the road. */
    height: 80px;
    transform: translateY(-50%);
    background: #2a2a2a;
  }
  .txs-road-lane::before {
    content: "";
    position: absolute;
    left: 0; right: 0; top: 50%;
    height: 0;
    border-top: 2px dashed rgba(255,255,255,0.35);
    transform: translateY(-50%);
  }
  .txs-road-gate {
    position: absolute;
    left: 8px; top: 50%;
    width: 3px; height: 74px; /* widened to match .txs-road-lane's 80px (suite 63) so the gate still spans the full road width */
    transform: translateY(-50%);
    background: repeating-linear-gradient(180deg, #e6b800 0 6px, #222 6px 12px);
    border-radius: 2px;
    z-index: 2;
  }
  .txs-road-finish {
    position: absolute;
    right: 34px; top: 50%;
    width: 4px; height: 74px; /* widened to match .txs-road-lane's 80px (suite 63) so the FINISH line still spans the full road width */
    transform: translateY(-50%);
    background: repeating-conic-gradient(#fff 0 90deg, #111 0 180deg) 0 0 / 8px 8px;
    z-index: 2;
  }
  .txs-road-finish-label {
    position: absolute;
    right: 34px; top: 4px; bottom: 4px;
    transform: translateX(110%);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    color: var(--text-muted);
    z-index: 2;
    writing-mode: vertical-rl;
    white-space: nowrap;
    display: flex;
    align-items: flex-start;
    justify-content: center;
  }
  .txs-road-queue-strip {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    padding: 2px 4px 2px;
    min-height: 22px;
  }
  #txs-log-card .txs-pending-gas-tracker {
    position: absolute;
    top: -9px;
    right: 0;
    bottom: auto;
    left: 0;
    margin: 0 auto;
  }
  .txs-road-queue {
    display: flex;
    gap: 4px;
    align-items: center;
    flex-wrap: wrap;
  }
  .txs-road-queue-count {
    font-size: 10px;
    color: var(--text-muted);
    background: rgba(0,0,0,0.35);
    padding: 1px 5px;
    border-radius: 999px;
    white-space: nowrap;
    align-self: flex-start;
  }
  .txs-car {
    /* Perf (suite 73): the car is now a 0x0 anchor positioned ONLY via
       transform: translate3d(x,0,0) written each frame by txsRoadTickCars
       (compositor-only, no layout). Vertical placement stays on `top`
       (set once at spawn, never animated per-frame). The emoji flip
       (scaleX(-1)), the label and the drop shadow live on .txs-car-body
       so they never fight with the positional transform. */
    position: absolute;
    top: 50%;
    left: 0;
    width: 0;
    height: 0;
    transform: translate3d(0, 0, 0);
    will-change: transform, opacity;
    backface-visibility: hidden;
    transition: opacity 0.4s ease;
    z-index: 4;
    white-space: nowrap;
    cursor: default;
    user-select: none;
  }
  .txs-car-body {
    position: absolute;
    left: 0; top: 0;
    /* -50% on both axes recenters the emoji on the anchor point, same
       visual result as the old translateY(-50%) on the car itself; the
       X centering is 0 because the old `left` addressed the emoji's left
       edge, so we anchor by left edge: translate only Y. */
    transform: translateY(-50%) scaleX(-1);
    transform-origin: left center;
    font-size: 22px;
    line-height: 1;
    /* text-shadow replaces filter: drop-shadow — same look, far cheaper
       (no offscreen filter surface repainted every frame). */
    text-shadow: 0 1px 2px rgba(0,0,0,0.5);
    pointer-events: auto;
  }
  .txs-car-waiting {
    position: relative;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    font-size: 16px;
  }
  .txs-car-waiting-emoji {
    opacity: 1;
    animation: txs-car-idle 1.6s ease-in-out infinite;
    transform: none; /* already facing the gate (leftward) by default, no flip needed */
  }
  .txs-car-waiting-label {
    font-size: 8px;
    color: var(--text-muted);
    white-space: nowrap;
    max-width: 46px;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: 1px;
    min-height: 10px; /* keeps cars aligned when a label is empty (placeholders / name not resolved yet) */
  }
  .txs-car-placeholder .txs-car-waiting-emoji { opacity: 0.4; animation: none; }
  @keyframes txs-car-idle {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-2px); }
  }
  .txs-car-label {
    position: absolute;
    top: -10px; left: 50%;
    transform: translateX(-50%) scaleX(-1); /* counter the parent's flip so the text reads normally */
    font-size: 9px;
    color: var(--text-muted);
    white-space: nowrap;
    /* Was clipped with max-width + overflow:hidden + ellipsis, truncating
       UP names like "YouLuksoGood" to "...". Per user request, the full
       name is now always shown, uncropped. */
    overflow: visible;
  }
  /* Suite 71: .txs-car-block-tag ("#N" trailer box on the car) removed
     per user request — no longer created in spawnTxsRoadCarNow. */
  /* Yellow bracket drawn around a GROUP of .txs-log-row elements that
     share the same block number (one rectangle around the whole run of
     consecutive rows, not one outline per row): left/right border on
     every row in the group, top border only on the first row, bottom
     border only on the last row. Applied via 3 modifier classes so a
     single row (only, no siblings sharing its block) never gets any of
     them — see txsRoadHighlightSameBlockRows(). */
  .txs-log-row-block-mid {
    box-shadow: inset 1px 0 0 0 rgba(230, 184, 0, 0.55), inset -1px 0 0 0 rgba(230, 184, 0, 0.55);
    background: rgba(230, 184, 0, 0.06);
  }
  .txs-log-row-block-first {
    box-shadow: inset 1px 0 0 0 rgba(230, 184, 0, 0.55), inset -1px 0 0 0 rgba(230, 184, 0, 0.55), inset 0 1px 0 0 rgba(230, 184, 0, 0.55);
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    background: rgba(230, 184, 0, 0.06);
  }
  .txs-log-row-block-last {
    box-shadow: inset 1px 0 0 0 rgba(230, 184, 0, 0.55), inset -1px 0 0 0 rgba(230, 184, 0, 0.55), inset 0 -1px 0 0 rgba(230, 184, 0, 0.55);
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
    background: rgba(230, 184, 0, 0.06);
  }
  .txs-road-empty-hint {
    position: absolute;
    right: 10px; bottom: 4px;
    font-size: 10px;
    color: var(--text-muted);
    z-index: 3;
  }

  .txs-log-list {
    position: relative;
    height: 440px; /* +2 visible rows net (~80px) per F's request (360px -> 480px -> 440px) */
    overflow-y: auto;
    overflow-x: hidden;
    font-size: 12px;
    font-family: "Courier New", Courier, monospace;
    margin-top: 2px;
    scrollbar-width: thin;
    scrollbar-color: var(--border-strong) var(--surface-2);
  }
  .txs-log-list::-webkit-scrollbar { width: 8px; }
  .txs-log-list::-webkit-scrollbar-track { background: var(--surface-2); border-radius: 999px; }
  .txs-log-list::-webkit-scrollbar-thumb { background: var(--border-strong); border-radius: 999px; border: 1px solid var(--surface-2); }
  .txs-log-list::-webkit-scrollbar-thumb:hover { background: var(--success); }
  /* Refiner slots: dropdown of the connected UP's Burnt Pix NFTs (newest first). 5 rows visible, then themed scrollbar. */
  .refiner-tokenid-dropdown {
    position: fixed; z-index: 9999; display: none;
    box-sizing: border-box; max-height: 202px; /* 5 rows x 40px + 2px border */
    overflow-y: auto; overflow-x: hidden;
    background: var(--surface-2); border: 1px solid var(--border-strong); border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0,0,0,.55);
    scrollbar-width: thin; scrollbar-color: var(--border-strong) var(--surface-2);
  }
  .refiner-tokenid-dropdown::-webkit-scrollbar { width: 8px; }
  .refiner-tokenid-dropdown::-webkit-scrollbar-track { background: var(--surface-2); border-radius: 999px; }
  .refiner-tokenid-dropdown::-webkit-scrollbar-thumb { background: var(--border-strong); border-radius: 999px; border: 1px solid var(--surface-2); }
  .refiner-tokenid-dropdown::-webkit-scrollbar-thumb:hover { background: var(--success); }
  .refiner-tokenid-option { display: flex; align-items: center; gap: 10px; height: 40px; box-sizing: border-box; padding: 0 10px; cursor: pointer; border-bottom: .5px solid var(--border); }
  .refiner-tokenid-option:last-child { border-bottom: none; }
  .refiner-tokenid-option:hover { background: var(--surface); }
  .refiner-tokenid-option-thumb { width: 28px; height: 28px; flex-shrink: 0; border-radius: 4px; border: .5px solid var(--border-strong); background: var(--surface); image-rendering: pixelated; object-fit: cover; }
  .refiner-tokenid-option-id { font-family: "Courier New", Courier, monospace; font-size: 12px; color: var(--text); white-space: nowrap; }
  .refiner-tokenid-option-id .rtid-short { display: none; }
  @media (max-width: 600px) {
    .refiner-tokenid-option-id .rtid-full { display: none; }
    .refiner-tokenid-option-id .rtid-short { display: inline; }
    /* Responsive only: no thumbnail, address only (0x... + last 4), centered in the row. */
    .refiner-tokenid-option { justify-content: center; }
    .refiner-tokenid-option-thumb { display: none; }
  }
  /* Hover preview (replaces the native full-tokenID tooltip): enlarged thumbnail beside the dropdown. */
  .refiner-tokenid-preview { position: fixed; z-index: 10000; display: none; pointer-events: none; padding: 4px; background: var(--surface-2); border: 1px solid var(--border-strong); border-radius: 8px; box-shadow: 0 8px 24px rgba(0,0,0,.55); }
  .refiner-tokenid-preview img { display: block; width: 168px; height: 168px; border-radius: 4px; image-rendering: pixelated; object-fit: cover; background: var(--surface); }
  .refiner-tokenid-status { padding: 10px; font-size: 11px; color: var(--text-muted); text-align: center; }
  /* Refiner slots: Delete / Paste action box shown under a clicked TokenID field (desktop, mobile, PWA). */
  .refiner-tokenid-actions { position: fixed; z-index: 10000; display: none; gap: 4px; padding: 4px; box-sizing: border-box; background: var(--surface-2); border: 1px solid var(--border-strong); border-radius: 8px; box-shadow: 0 8px 24px rgba(0,0,0,.55); }
  .refiner-tokenid-actions button { flex: 1 1 0; min-height: 22px; padding: 2px 8px; font: inherit; font-size: 9.6px; font-weight: 600; white-space: nowrap; cursor: pointer; border-radius: 6px; border: 1px solid var(--success); background: rgba(var(--success-rgb), .15); color: var(--success); -webkit-tap-highlight-color: transparent; }
  .refiner-tokenid-actions button.refiner-action-delete { border-color: var(--danger); background: rgba(229,72,77,.15); color: var(--danger); }
  .refiner-tokenid-actions button:hover { filter: brightness(1.15); }
  .txs-log-row {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 4px;
    border-bottom: .5px solid var(--border);
    position: relative;
    overflow: hidden;
  }
  .txs-log-row:last-child { border-bottom: none; }
  .txs-log-dapp-badge {
    width: 20px;
    height: 20px;
    box-sizing: border-box;
    padding: 0;
    border: 1px solid #c99a3c;
    border-radius: 50%;
    background: linear-gradient(135deg, #493511, #211908);
    color: transparent;
    font-size: 0;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    white-space: nowrap;
    box-shadow: inset 0 0 0 1px rgba(255, 224, 151, .12), 0 1px 4px rgba(0, 0, 0, .65);
    text-shadow: 0 1px 2px rgba(0, 0, 0, .8);
  }
  .txs-log-dapp-badge::before {
    content: "★";
    position: absolute;
    top: 50%;
    left: 50%;
    color: #fff0bd;
    font-size: 11px;
    line-height: 1;
    transform: translate(-50%, -50%);
    text-shadow: 0 0 4px rgba(255, 210, 105, .7);
  }
  .txs-log-pending-badge {
    display: inline-block;
    margin-left: 5px;
    padding: 0 4px;
    border: 1px solid #b88720;
    border-radius: 3px;
    color: #f0c75e;
    font-size: 9px;
    font-weight: 700;
    line-height: 1.5;
    vertical-align: middle;
  }
  .txs-log-block-link {
    position: absolute;
    right: 6px;
    bottom: 2px;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    padding: 2px 5px;
    border: 1px solid rgba(240, 206, 121, .4);
    border-radius: 3px;
    background: rgba(20, 16, 7, .58);
    color: #f0ce79 !important;
    font: 600 10px/1.1 "Courier New", Courier, monospace;
    letter-spacing: .2px;
    white-space: nowrap;
    text-align: center;
    text-decoration: none !important;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .8);
  }
  .txs-log-block-link:link,
  .txs-log-block-link:visited,
  .txs-log-block-link:hover,
  .txs-log-block-link:active { color: #f0ce79 !important; text-decoration: none !important; }
  .txs-log-block-link:hover { color: #ffe3a0 !important; text-decoration: none !important; }
  .txs-log-block-link:focus-visible {
    outline: 2px solid #f0ce79;
    outline-offset: 2px;
  }

  /* UP banner used as a low-opacity row background. */
  .txs-log-row::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: var(--txs-row-banner, none);
    background-size: cover;
    background-position: center;
    opacity: 0.18;
    pointer-events: none;
    z-index: 0;
  }
  .txs-log-row > * { position: relative; z-index: 1; }
  .txs-log-row-block-first {
    overflow: visible;
  }
  .txs-log-details { display: flex; align-items: center; gap: 6px; }
  .txs-log-dapp-badge { position: relative; display: inline-flex; flex: 0 0 20px; align-items: center; justify-content: center; }
  .txs-log-row > .txs-log-block-link {
    position: absolute;
    z-index: 2;
  }
  .txs-log-row > .txs-log-text:has(.txs-log-info-wrap:hover),
  .txs-log-row > .txs-log-text:has(.txs-log-name-tooltip-wrap:hover),
  .txs-log-row > .txs-log-text:focus-within,
  .txs-log-row > .txs-log-thumb-wrap:hover {
    z-index: 6;
  }
  @media (max-width: 600px) {
    .txs-log-block-link { display: inline-flex; font-size: 8px; }
  }
  /* Txs list thumbnail: desktop +35% = 42px; responsive keeps its current 39px. */
  :root { --txs-thumb-size: 42px; }
  @media (max-width: 600px) { :root { --txs-thumb-size: 39px; } }
  .txs-log-thumb {
    width: var(--txs-thumb-size);
    height: var(--txs-thumb-size);
    display: block;
    box-sizing: border-box;
    flex-shrink: 0;
    border-radius: 4px;
    border: .5px solid var(--border-strong);
    image-rendering: pixelated;
    background: var(--surface-2);
    object-fit: cover;
    cursor: help;
  }
  .txs-log-thumb-placeholder {
    width: var(--txs-thumb-size);
    height: var(--txs-thumb-size);
    flex-shrink: 0;
    border-radius: 4px;
    border: .5px solid var(--border);
    box-sizing: border-box;
    background: var(--surface-2) url("lukso.png?v=20261009") center / cover no-repeat;
    visibility: hidden;
  }
  @keyframes txs-slide-in {
    from { transform: translateX(100%); opacity: 0; }
    to   { transform: translateX(0);    opacity: 1; }
  }
  .txs-log-row-enter {
    animation: txs-slide-in 3.5s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  .txs-log-thumb-wrap {
    position: relative;
    width: var(--txs-thumb-size);
    height: var(--txs-thumb-size);
    flex: 0 0 var(--txs-thumb-size);
  }
  .txs-log-thumb-preview {
    display: none;
    position: fixed;
    z-index: 9999;
    align-items: center;
    gap: 10px;
    pointer-events: none;
  }
  .txs-log-thumb-preview-img {
    width: 96px;
    height: 96px;
    flex-shrink: 0;
    border-radius: 6px;
    border: 1px solid var(--border-strong);
    image-rendering: pixelated;
    background: var(--surface-2);
    object-fit: cover;
    box-shadow: 0 4px 16px rgba(0,0,0,.55);
  }
  /* Stat panel reuses the Refiner tab's .preview-attrs/.preview-attr
     look (see Bpix_src.css) so the hover card matches that tab's
     style, per request. */
  .txs-log-thumb-preview-attrs {
    flex-direction: column;
    gap: 6px;
    min-width: 0;
    box-shadow: 0 4px 16px rgba(0,0,0,.55);
    white-space: nowrap;
  }
  /* Car hover preview: column = [row: image + Iterations/LYX Spent] over
     a card (#BLOCK / Gas used / Priority fee). */
  .txs-car-hover-preview { flex-direction: column; align-items: stretch; gap: 6px; }
  .txs-car-hover-row { display: flex; align-items: center; gap: 10px; }
  .txs-car-hover-card {
    padding: 6px 9px;
    border-radius: 6px;
    border: 1px solid var(--border-strong);
    background: var(--surface-2);
    color: var(--text);
    font-size: 11px;
    line-height: 1.6;
    white-space: nowrap;
    text-align: center;
    box-shadow: 0 4px 16px rgba(0,0,0,.55);
  }
  .txs-log-text { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; flex: 1; min-width: 0; color: var(--text-secondary); font-size: 14px; line-height: 1.5; }
  .txs-log-content { display: flex; align-items: center; width: 100%; min-width: 0; }
  .txs-log-name-tooltip-wrap { position: relative; display: inline-flex; flex: 0 1 auto; min-width: 0; }
  .txs-log-text .txs-log-name { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--success); font-weight: 600; cursor: pointer; }
  .txs-log-text .txs-log-name-connected {
    color: #c5ff9e;
    text-shadow: 0 0 6px rgba(var(--success-rgb), .8), 0 0 12px rgba(var(--success-rgb), .4);
  }
  .txs-log-text .txs-log-name:hover { text-decoration: underline; }
  .txs-log-up-pfp { width: 18px; height: 18px; border-radius: 50%; object-fit: cover; flex-shrink: 0; margin-right: 5px; background: var(--surface); display: none; }
  .txs-log-colon { display: none; }
  .txs-log-details { width: 100%; }
  .txs-log-d-short { display: none; }
  .txs-log-time { flex: 0 0 auto; margin-left: 4px; white-space: nowrap; font-size: inherit; color: var(--text-muted); }
  .txs-log-time::before { content: "— "; }
  .txs-log-text .txs-log-tokenid { color: var(--text); }
  .txs-log-note { font-size: 11px; color: var(--text-muted); margin-top: 8px; text-align: center; }
  .txs-log-note-responsive { display: none; }
  @media (max-width: 600px) {
    .txs-log-text { font-size: 12px; }
    .txs-log-note-desktop { display: none; }
    .txs-log-note-responsive { display: inline; }
    .txs-log-time .txs-log-info-wrap { margin-left: 4px; }
  }
  .txs-log-info-wrap { position: relative; flex-shrink: 0; display: inline-flex; margin-left: 6px; vertical-align: middle; }
  .txs-log-info-icon {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: 1px solid var(--border-strong);
    color: var(--text-muted);
    font-size: 10px;
    font-weight: 700;
    font-style: normal;
    line-height: 12px;
    text-align: center;
    cursor: help;
    user-select: none;
    flex-shrink: 0;
  }
  .txs-log-info-icon:hover { color: var(--success); border-color: var(--success); }
  .txs-log-info-icon:focus + .txs-log-info-tip { display: block; }
  .txs-log-info-tip,
  .txs-log-dapp-tip,
  .txs-log-name-tip {
    display: none;
    position: fixed;
    z-index: 9999;
    min-width: 150px;
    padding: 6px 9px;
    border-radius: 6px;
    border: 1px solid var(--border-strong);
    background: var(--surface-2);
    color: var(--text);
    font-size: 11px;
    line-height: 1.6;
    white-space: nowrap;
    box-shadow: 0 4px 16px rgba(0,0,0,.55);
    pointer-events: none;
  }
  .txs-log-info-formula { margin-top: 5px; padding-top: 4px; border-top: 1px solid var(--border-strong); font-size: 10px; line-height: 1.5; color: var(--text-muted); }
  .txs-log-info-formula sup { font-size: 7px; line-height: 0; vertical-align: super; }
  .txs-log-info-wrap:hover .txs-log-info-tip { display: block; }
  .txs-log-name-tooltip-wrap:hover .txs-log-name-tip,
  .txs-log-name-tooltip-wrap:focus .txs-log-name-tip { display: block; }
  .txs-log-dapp-tip { max-width: min(260px, calc(100vw - 16px)); white-space: normal; overflow-wrap: anywhere; }
  @media (max-width: 600px) {
    .txs-log-info-wrap.touch-tooltip-open .txs-log-info-tip { display: block; }
    .txs-log-dapp-badge.touch-tooltip-open .txs-log-dapp-tip { display: block; }
    .txs-log-name-tip { min-width: 0; max-width: calc(100vw - 16px); white-space: normal; }
    .txs-log-dapp-tip { min-width: 0; max-width: calc(100vw - 16px); max-height: calc(100vh - 8px); overflow-y: auto; }
  }
  #gas-tracker { font-size: 12px; font-weight: 600; white-space: nowrap; }
  #gas-tracker.gas-vlow { color: #0d8a4d; }
  #gas-tracker.gas-low { color: #6cd497; }
  #gas-tracker.gas-normal { color: #e7c100; }
  #gas-tracker.gas-high { color: #f59e0b; }
  #gas-tracker.gas-vhigh { color: #ff7a59; }
  #gas-tracker.gas-severe { color: #ff4d4d; }
  #gas-tracker.gas-congested { color: #ff1f1f; }
  .gas-tracker-badge {
    position: absolute;
    top: -9px;
    left: 0;
    right: 0;
    width: fit-content;
    margin: 0 auto; /* centered without transform (the badge animations use transform: scale) */
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.4px;
    color: var(--bg);
    text-shadow: 0 0 1px rgba(0, 0, 0, 0.35);
    padding: 1px 6px;
    border-radius: 999px;
    line-height: 1.5;
    white-space: nowrap;
    z-index: 1;
    border: 2px solid transparent;
  }
  #gas-tracker-refiner,
  #gas-tracker-pending {
    font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
    font-size: 11px;
  }
  .gas-tracker-badge.gas-vlow { background: #0d8a4d; }
  .gas-tracker-badge.gas-low { background: #5ecf8a; }
  .gas-tracker-badge.gas-normal { background: #e7c100; }
  .gas-tracker-badge.gas-high { background: #f59e0b; }
  .gas-tracker-badge.gas-vhigh { background: #ff7a59; }
  .gas-tracker-badge.gas-severe { background: #ff4d4d; }
  .gas-tracker-badge.gas-congested { background: #ff1f1f; }
  /* Hover tooltip on the Gas tracker, coloured like the tier. */
  #gas-tracker { position: relative; cursor: default; }
  .gas-tracker-badge { cursor: default; }
  #gas-tracker::after, .gas-tracker-badge::after {
    content: attr(data-tip);
    position: absolute;
    bottom: calc(100% + 6px);
    left: 50%;
    transform: translateX(-25%); /* above, nudged slightly to the right */
    padding: 3px 9px;
    border-radius: 6px;
    background: var(--bg);
    border: 1px solid currentColor;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.3px;
    text-shadow: none;
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.12s ease;
    z-index: 50;
  }
  #gas-tracker-refiner::after { display: none !important; }
  #gas-tracker:hover::after, .gas-tracker-badge:hover::after { opacity: 1; visibility: visible; }
  #gas-tracker[data-tip=""]::after, .gas-tracker-badge[data-tip=""]::after { display: none; }
  #gas-tracker.gas-vlow::after, .gas-tracker-badge.gas-vlow::after { color: #0d8a4d; }
  #gas-tracker.gas-low::after, .gas-tracker-badge.gas-low::after { color: #6cd497; }
  #gas-tracker.gas-normal::after, .gas-tracker-badge.gas-normal::after { color: #e7c100; }
  #gas-tracker.gas-high::after, .gas-tracker-badge.gas-high::after { color: #f59e0b; }
  #gas-tracker.gas-vhigh::after, .gas-tracker-badge.gas-vhigh::after { color: #ff7a59; }
  #gas-tracker.gas-severe::after, .gas-tracker-badge.gas-severe::after { color: #ff4d4d; }
  #gas-tracker.gas-congested::after, .gas-tracker-badge.gas-congested::after { color: #ff1f1f; }
  @media (max-width: 600px) {
    .txs-log-thumb-preview { max-width: calc(100vw - 8px); flex-wrap: wrap; }
    .txs-log-thumb-preview-img { width: 72px; height: 72px; }
    .txs-log-thumb-preview-attrs { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
    .txs-car-hover-preview { max-width: calc(100vw - 8px); }
    .txs-car-hover-row { max-width: 100%; flex-wrap: wrap; }
    .txs-car-hover-preview .txs-log-thumb-preview-img { flex: 0 1 72px; }
    .txs-car-hover-card { white-space: normal; overflow-wrap: anywhere; }
    .txs-log-info-tip { min-width: 0; max-width: calc(100vw - 16px); max-height: calc(100vh - 8px); overflow-y: auto; white-space: normal; overflow-wrap: anywhere; }
    .tooltip-viewport-fixed {
      position: fixed !important;
      top: var(--responsive-tooltip-top, 4px) !important;
      left: var(--responsive-tooltip-left, 8px) !important;
      right: auto !important;
      bottom: auto !important;
      transform: none !important;
      box-sizing: border-box;
      max-width: calc(100vw - 16px) !important;
      white-space: normal !important;
      overflow-wrap: anywhere;
    }
    #gas-tracker::after, .gas-tracker-badge::after {
      position: fixed;
      top: var(--responsive-tooltip-top, 4px);
      bottom: auto;
      left: var(--responsive-tooltip-left, 8px);
      right: auto;
      width: max-content;
      max-width: calc(100vw - 16px);
      max-height: calc(100vh - 8px);
      overflow-wrap: anywhere;
      overflow-y: auto;
      box-sizing: border-box;
      transform: none;
      white-space: normal;
    }
    .info-tooltip .info-tooltip-bubble,
    #step5 #preview-box #attr-lyxspent-detail {
      position: fixed;
      top: var(--responsive-tooltip-top, 4px);
      bottom: auto;
      left: var(--responsive-tooltip-left, 8px);
      right: auto;
      width: max-content;
      max-width: calc(100vw - 16px);
      max-height: calc(100vh - 8px);
      overflow-wrap: anywhere;
      overflow-y: auto;
      box-sizing: border-box;
      transform: none;
      white-space: normal;
    }
    .info-tooltip .info-tooltip-bubble::after { left: 50%; }
    #gas-tracker, #gas-tracker-refiner {
      -webkit-user-select: none;
      user-select: none;
      -webkit-touch-callout: none;
      -webkit-tap-highlight-color: transparent;
      touch-action: manipulation;
    }
  }
  @media (max-width: 600px) {
    #txs-log-progress .refine-progress-count { display: inline-block; }
  }
  @media (hover: none) {
    #gas-tracker:hover::after, .gas-tracker-badge:hover::after { opacity: 0; visibility: hidden; }
    #gas-tracker.touch-tooltip-open::after, .gas-tracker-badge.touch-tooltip-open::after { opacity: 1; visibility: visible; }
  }
  /* AUTO-SWITCHER (all modes): tighter gap between each TokenID and its Target; the (i) tooltip lives inside the "Optional" pill (i centered vertically in the pill, bubble centered above the i). */
  /* Keep the Refiner stats card 25% smaller without zoom, which breaks
     its vertical flow inside the preview column. */
  #step5 #preview-box .preview-attrs { padding: 7.5px 13.125px; gap: 10.5px; }
  #step5 #preview-box .preview-attr-label { font-size: 10.3125px; }
  #step5 #preview-box .preview-attr-value { font-size: 13.125px; }
  #step5 #preview-box .preview-attr-detail { font-size: 9.375px; }
  /* Same card: Iterations and LYX Spent side by side instead of stacked. */
  #step5 #preview-box .preview-attrs { flex-direction: row; align-items: flex-start; justify-content: center; gap: 10.5px; }
  @media (max-width: 600px) {
    #step5 #preview-box .preview-attrs { padding: 5.4px 9.45px; }
    #step5 #preview-box .preview-attr-label { font-size: 6.75px; }
    #step5 #preview-box .preview-attr-value { font-size: 9px; }
    #step5 #preview-box .preview-attr-detail { font-size: 7.5px; }
  }
  /* Burned / Tips detail: hidden by default, shown as a popover only while hovering the LYX Spent block (no layout shift). */
  #step5 #preview-box #stats-lyxspent-block { position: relative; cursor: help; -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; -webkit-tap-highlight-color: transparent; }
  #step5 #preview-box #attr-lyxspent-detail { display: none; position: absolute; left: 50%; bottom: calc(100% + 6px); transform: translateX(-50%); z-index: 20; white-space: nowrap; text-align: center; background: var(--surface-2); border: .5px solid var(--border-strong); border-radius: 8px; padding: 6px 10px; box-shadow: 0 4px 14px rgba(0,0,0,.35); }
  #step5 #preview-box #stats-lyxspent-block.show-detail #attr-lyxspent-detail { display: block; }
  /* With slots through TokenID 4, Burned / Tipped stay inline; adding TokenID 5 switches them back to a tooltip. */
  #step5 #preview-box.stats-detail-inline #stats-lyxspent-block { cursor: default; }
  @media (max-width: 600px) { /* responsive only: Burned / Tipped = secondary description, smaller + muted vs LYX Spent */
    #step5 #preview-box #attr-lyxspent-detail { font-size: 6px; line-height: 1.3; color: var(--text-muted); opacity: .8; }
    #step5 #preview-box #attr-lyxspent-detail .lyx-detail-unit { display: none; }
    #step5 #preview-box #attr-lyxspent-detail { white-space: nowrap !important; } /* "2.26 LYX Burned" / "0.418 LYX Tipped" each on ONE line */
    #step5 #preview-box #stats-lyxspent-block { flex-shrink: 0; min-width: max-content; }
  }
  #step5 #preview-box.stats-detail-inline #stats-lyxspent-block #attr-lyxspent-detail { display: block; position: static; transform: none; margin-top: 2px; background: none; border: 0; box-shadow: none; padding: 0; white-space: normal; z-index: auto; }
  @media (max-width: 600px) {
    #step5 #preview-box #stats-lyxspent-block.show-detail #attr-lyxspent-detail.tooltip-viewport-fixed {
      position: fixed !important;
      top: var(--responsive-tooltip-top, 4px) !important;
      left: var(--responsive-tooltip-left, 8px) !important;
      right: auto !important;
      bottom: auto !important;
      width: max-content;
      max-width: calc(100vw - 16px);
      max-height: calc(100vh - 8px);
      overflow-wrap: anywhere;
      overflow-y: auto;
      box-sizing: border-box;
      transform: none !important;
      white-space: normal !important;
    }
  }
  #step5 .autoswitch-box .settings-row { gap: 4px; }
  /* AUTO-SWITCHER: tighter vertical gap between slots (TokenID 2/Target 2 → TokenID 3/Target 3 …). */
  /* Parents that were adding the space: .settings-row{margin-bottom:10px}, #tokenid-slots-extra{gap:10px;margin-top:10px}. */
  #step5 .autoswitch-box .settings-row { margin-top: 0; margin-bottom: 0; }
  #step5 .autoswitch-box #tokenid-slots-extra { gap: 4px; margin-top: 4px; }
  #step5 .autoswitch-box .settings-row[data-tokenid-slot="2"] { margin-bottom: 0; }
  .gas-tracker-badge.autoswitch-badge { display: flex; align-items: center; gap: 4px; }
  .autoswitch-badge .info-tooltip { flex: 0 0 auto; width: 12px; height: 12px; margin: 0; font-size: 8px; line-height: 1; color: rgb(255, 225, 90); border-color: rgba(255, 225, 90, 0.65); cursor: help; }
  .autoswitch-badge .info-tooltip .info-tooltip-bubble { letter-spacing: normal; text-shadow: none; }
  /* AUTO-SWITCHER: thin yellow frame around title + slot fields, with an "Optional" pill (same shape as .gas-tracker-badge) on the top edge. */
  .autoswitch-box { position: relative; border: 1px solid rgba(255, 225, 90, 0.65); background: rgba(255, 225, 90, 0.09); border-radius: 10px; padding: 12px 10px 8px; margin-top: 16px; }
  .autoswitch-box .settings-group-label { margin-top: 0; margin-bottom: 4px; padding-top: 0; border-top: none; }
  /* Pill on the top edge, far right (same placement as the Disconnect badge: right: 10px). */
  .gas-tracker-badge.autoswitch-badge { background: var(--surface); color: rgb(255, 225, 90); text-shadow: none; border: 1px solid rgba(255, 225, 90, 0.65); padding: 2px 7px; left: auto; right: 10px; margin: 0; }
  /* Desktop: frame hugs its content = the 2 fields (each 25% of the card) + gap + padding/border, centered. */
  @media (min-width: 601px) {
    .autoswitch-box { box-sizing: border-box; width: calc(50% + 34px); min-width: 250px; margin-left: auto; margin-right: auto; }
    #step5 .autoswitch-box .settings-row > div { flex: 1 1 0; }
    .gas-tracker-badge.autoswitch-badge { background: #000; color: rgb(255, 225, 90); }
  }

  @keyframes gasTrackerPulse {
    0% { transform: scale(1); filter: brightness(1); }
    35% { transform: scale(1.12); filter: brightness(1.35); }
    100% { transform: scale(1); filter: brightness(1); }
  }
  .gas-tracker-badge.pulse {
    animation: gasTrackerPulse 0.5s ease-out;
  }
  /* Trend zoom + border on each poll tick: green = cost went down, red =
     cost went up, vs the previous tick's reading. Same scale/brightness
     curve as the neutral gasTrackerPulse above so both directions (and
     the no-change fallback) get an identical zoom — only the border
     color differs. Fixed colors regardless of the badge's own low/mid/
     high fill above — the two conventions don't always agree (e.g. a red
     "went up" flash can still land on a green "low tier" badge). */
  @keyframes gasTrendFlashUp {
    0% { transform: scale(1); filter: brightness(1); border-color: var(--danger); }
    35% { transform: scale(1.12); filter: brightness(1.35); border-color: var(--danger); }
    100% { transform: scale(1); filter: brightness(1); border-color: transparent; }
  }
  @keyframes gasTrendFlashDown {
    0% { transform: scale(1); filter: brightness(1); border-color: #2ee66b; }
    35% { transform: scale(1.12); filter: brightness(1.35); border-color: #2ee66b; }
    100% { transform: scale(1); filter: brightness(1); border-color: transparent; }
  }
  .gas-tracker-badge.gas-trend-up { animation: gasTrendFlashUp 1.2s ease-out; }
  .gas-tracker-badge.gas-trend-down { animation: gasTrendFlashDown 1.2s ease-out; }
  /* Card TokenID / Target Iterations (#step5): top edge of the frame = Gas Tracker badge color (same 5 tiers),
     + same green/red flash as the badge on each tick (returns to the tier color). */
  /* Colored line = pseudo-element centered on the middle half of the top edge (25% free on each side), around the badge. */
  #step5[data-gas-tier]::before { content: ""; position: absolute; top: -1px; left: 0; right: 0; height: 1px; background: var(--gas-c); pointer-events: none; -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 25%, #000 75%, transparent 100%); mask-image: linear-gradient(to right, transparent 0%, #000 25%, #000 75%, transparent 100%); transition: background-color 0.35s ease; }
  #step5[data-gas-tier="gas-vlow"] { --gas-c: #0d8a4d; }
  #step5[data-gas-tier="gas-low"] { --gas-c: #5ecf8a; }
  #step5[data-gas-tier="gas-normal"] { --gas-c: #e7c100; }
  #step5[data-gas-tier="gas-high"] { --gas-c: #f59e0b; }
  #step5[data-gas-tier="gas-vhigh"] { --gas-c: #ff7a59; }
  #step5[data-gas-tier="gas-severe"] { --gas-c: #ff4d4d; }
  #step5[data-gas-tier="gas-congested"] { --gas-c: #ff1f1f; }
  #txs-log-card .txs-road-queue-strip[data-gas-tier]::before { content: ""; position: absolute; top: -1px; left: 0; right: 0; height: 1px; background: var(--gas-c); pointer-events: none; -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 25%, #000 75%, transparent 100%); mask-image: linear-gradient(to right, transparent 0%, #000 25%, #000 75%, transparent 100%); transition: background-color 0.35s ease; }
  #txs-log-card .txs-road-queue-strip[data-gas-tier="gas-vlow"] { --gas-c: #0d8a4d; }
  #txs-log-card .txs-road-queue-strip[data-gas-tier="gas-low"] { --gas-c: #5ecf8a; }
  #txs-log-card .txs-road-queue-strip[data-gas-tier="gas-normal"] { --gas-c: #e7c100; }
  #txs-log-card .txs-road-queue-strip[data-gas-tier="gas-high"] { --gas-c: #f59e0b; }
  #txs-log-card .txs-road-queue-strip[data-gas-tier="gas-vhigh"] { --gas-c: #ff7a59; }
  #txs-log-card .txs-road-queue-strip[data-gas-tier="gas-severe"] { --gas-c: #ff4d4d; }
  #txs-log-card .txs-road-queue-strip[data-gas-tier="gas-congested"] { --gas-c: #ff1f1f; }
  @keyframes gasCardFlashUp { 0%, 35% { background-color: var(--danger); } 100% { background-color: var(--gas-c); } }
  @keyframes gasCardFlashDown { 0%, 35% { background-color: #2ee66b; } 100% { background-color: var(--gas-c); } }
  #step5.gas-card-up::before { animation: gasCardFlashUp 1.2s ease-out; }
  #txs-log-card .txs-road-queue-strip.gas-card-up::before { animation: gasCardFlashUp 1.2s ease-out; }
  #txs-log-card .txs-road-queue-strip.gas-card-down::before { animation: gasCardFlashDown 1.2s ease-out; }
  /* Boost / Auto-Pause modals: the confirm button gets focus on open (browsers cannot move the mouse) -> highlighted like a hover, Enter = confirm. */
  #super-mode-confirm-confirm:focus, #auto-pause-confirm-confirm:focus, #take-turns-confirm-confirm:focus { outline: 0; filter: brightness(1.25); box-shadow: 0 0 0 2px currentColor, 0 0 12px currentColor; }
  #full-clean-confirm-confirm:focus { outline: 0; filter: brightness(1.25); box-shadow: 0 0 0 2px currentColor, 0 0 12px currentColor; }
  #btn-full-clean-txs { position: relative; box-sizing: border-box; width: 100%; border-color: var(--danger); color: var(--danger); }
  #btn-full-clean-txs:hover:not(:disabled) { background: rgba(255, 77, 77, 0.15); }
  .full-clean-label-mobile { display: none; }
  .full-clean-count-badge {
    position: absolute;
    top: -8px;
    right: -8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    box-sizing: border-box;
    padding: 0 4px;
    border: 1px solid var(--surface);
    border-radius: 999px;
    background: var(--danger);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
  }
  .fund-actions { display: flex; flex: 0 0 max-content; flex-direction: column; gap: 8px; margin-left: auto; width: max-content; }
  .fund-transfer-actions { display: flex; gap: 8px; }
  /* FUND / UNFUND: same style as the `.start` action buttons (tinted green background, green text and border). #id selectors because bpix.css forces #btn-fund-wallet / #btn-send-back. */
  #btn-fund-wallet, #btn-send-back { padding: 4px 10px; }
  #btn-fund-wallet { background: rgba(var(--success-rgb), 0.15); color: var(--success); border-color: var(--success); }
  #btn-send-back { background: rgba(255, 193, 7, 0.18); color: #ffc107; border-color: #ffc107; } /* Match the yellow used by the active Auto-Pause button. */
  /* Responsive (<= 600px, same breakpoint as bpix.css): "Local Wallet Balance" -> "Local Wallet" */
  @media (max-width: 600px) {
    .wallet-balance-word { display: none; }
    .full-clean-label-desktop { display: none; }
    .full-clean-label-mobile { display: inline; }
    #step4 .balance-row-flex {
      flex-wrap: nowrap;
      gap: 2px;
    }
    #step4 .balance-row-flex > span:first-child {
      flex: 1 1 auto;
      min-width: 0;
      white-space: nowrap;
      font-size: 9px;
    }
    #step4 #btn-fund-wallet,
    #step4 #btn-send-back {
      flex: 0 0 auto;
      padding: 4px 5px;
      font-size: 9px;
    }
  }
  @media (max-width: 360px) {
    #step4 .balance-row-flex > span:first-child { font-size: 8px; }
  }
  @media (max-width: 320px) {
    #step4 .balance-row-flex > span:first-child { font-size: 7px; }
    #step4 #btn-fund-wallet,
    #step4 #btn-send-back { padding: 3px 4px; font-size: 8px; }
  }
  @media (max-width: 600px) {
    body[data-wallet-funded="true"] #step1,
    body[data-wallet-funded="true"] #step2,
    body[data-wallet-funded="true"] #step3 {
      display: none !important;
    }
  }
  @media (min-width: 601px) {
    body[data-permission-set="true"] #step1,
    body[data-permission-set="true"] #step2,
    body[data-permission-set="true"] #step3 {
      display: none !important;
    }
  }
  body[data-user-mode="regular"][data-recap-profile="true"] #step1,
  body[data-user-mode="regular"][data-recap-wallet="true"] #step2,
  body[data-user-mode="regular"][data-recap-permissions="true"] #step3 {
    display: block !important;
  }
  /* Responsive only: the #btn-auto-pause label reads "Pause" instead of "Auto-Pause" (label only; modal, logs, behaviour unchanged). */
  @media (max-width: 600px) { .autopause-prefix { display: none; } }
  #step5.gas-card-down::before { animation: gasCardFlashDown 1.2s ease-out; }
/* Disconnect = red badge sitting on the top edge of the card (same shape as .gas-tracker-badge) */
#btn-disconnect-extension{position:absolute;top:-9px;right:10px;left:auto;margin:0;z-index:2;display:inline-flex;align-items:center;gap:3px;padding:1px 6px;font-size:9px;font-weight:700;line-height:1.5;letter-spacing:.4px;white-space:nowrap;color:#fff;background:var(--danger);border:2px solid transparent;border-radius:999px;cursor:pointer;-webkit-text-size-adjust:none;text-size-adjust:none;transform:scale(.75);transform-origin:top right;transition:filter .15s ease,transform .1s ease}
#btn-disconnect-extension.wallet-disconnect-badge{top:auto;right:10px;bottom:-9px;transform:scale(.75);transform-origin:bottom right}
#btn-disconnect-extension svg{width:9px;height:9px;margin:0;stroke:currentColor;fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
#btn-disconnect-extension:hover{opacity:1;filter:brightness(1.2);transform:scale(.81)}
#btn-disconnect-extension:active{transform:scale(.72);filter:brightness(.9)}
#btn-disconnect-extension.wallet-disconnect-badge:hover{transform:scale(.81)}
#btn-disconnect-extension.wallet-disconnect-badge:active{transform:scale(.72)}
#btn-disconnect-extension:focus-visible{outline:0;border-color:rgba(255,255,255,.6)}
/* Pull-to-refresh disabled everywhere (browser + PWA). */
html,body{overscroll-behavior-y:none}
.card.has-disc{position:relative}
  /* SUITE: app-header always visible on all tabs — road wrap fully disabled */
  .app-header { display: block; }
  .txs-responsive-title {
    display: none;
    min-height: 92px;
    margin: 10px 0 14px;
    align-items: center;
    justify-content: center;
    background: var(--surface);
    border: .5px solid var(--border);
    border-radius: 12px;
  }
  @media (max-width: 600px) {
    .app-header { display: block !important; }
    .road-header-slot, #txs-log-card .txs-road-wrap,
    .txs-responsive-title { display: none !important; }
    #txs-log-card[style*="display: block"] {
      display: flex !important;
      flex-direction: column;
      box-sizing: border-box;
      height: max(0px, calc(100vh - 220px));
      height: max(0px, calc(100dvh - 220px));
      max-height: max(0px, calc(100vh - 220px));
      max-height: max(0px, calc(100dvh - 220px));
      min-height: 0;
      overflow: hidden;
    }
    #txs-log-card .txs-road-queue-strip { display: flex; gap: 8px; margin: 8px 0 10px; padding: 10px; }
    .lucky-lyx-meter { margin: -3px 0 10px; padding: 7px 10px; }
    .lucky-lyx-meter strong {
      min-width: 0;
      max-width: 100%;
      overflow: hidden;
      font-size: clamp(8px, 2.6vw, 11px);
      text-overflow: ellipsis;
    }
    .lucky-lyx-last-hit-label,
    .lucky-lyx-meter-label,
    .lucky-lyx-txs-recorded-label {
      font-size: clamp(7px, 2.2vw, 10px);
      letter-spacing: 0;
      white-space: nowrap;
    }
    .txs-pending-name { gap: 3px; padding: 4px 5px; font-size: 9px; }
    .txs-pending-heading-label { font-size: 8px; }
    #txs-log-card .txs-road-queue { gap: 5px; }
    .txs-pending-pfp { width: 14px; height: 14px; flex-basis: 14px; }
    #txs-log-card .txs-log-list {
      flex: 1 1 0;
      height: auto;
      min-height: 0;
      overflow-x: hidden;
      overflow-y: auto;
    }
    #txs-log-card.is-ranking {
      display: block !important;
      height: auto;
      max-height: none;
      min-height: 0;
      overflow: visible;
    }
  }
  @media (max-width: 420px) {
    body { padding-left: clamp(8px, 2.5vw, 10px); padding-right: clamp(8px, 2.5vw, 10px); }
    .mode-tabs { gap: 3px; }
    .mode-tab { padding: 7px 2px; font-size: clamp(8px, 2.4vw, 9px); letter-spacing: -.2px; }
    .progress-bar { padding-right: 8px; padding-left: 8px; margin-bottom: .75rem; }
    .progress-step { min-width: 0; }
    .progress-line { min-width: 4px; }
    .progress-label { font-size: 7px; letter-spacing: 0; }
    .card { padding: .75rem; }
    .settings-row { gap: 6px; }
    .settings-row > div { flex: 1 1 0; min-width: 0; }
    .viewer-subtabs { gap: 3px; margin-bottom: 10px; }
    .viewer-subtab { min-width: 0; padding: 8px 4px; font-size: 10px; }
    .viewer-gallery-grid, .market-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; }
    .viewer-gallery-toolbar { gap: 6px; }
    .viewer-gallery-filters { min-width: 0; }
    .viewer-gallery-filter-btn { min-width: 0; padding-right: 5px; padding-left: 5px; font-size: 8px; }
    #txs-log-card .txs-log-text { font-size: 11px; }
  }
  @media (max-width: 360px) {
    .progress-label { font-size: 6px; }
    .viewer-gallery-filter-btn { padding-right: 3px; padding-left: 3px; font-size: 7px; }
  }

.log-hl-pause { background: rgba(255, 243, 163, 0.35); padding: 1px 6px; border-radius: 3px; }
  .log-hl-resume { background: rgba(184, 240, 192, 0.35); padding: 1px 6px; border-radius: 3px; }
.txs-log-row-block-first:after{content:"";position:absolute;top:16px;right:72px;width:1px;height:var(--txs-log-block-height,0);border-radius:2px;background:#ffe05a;box-shadow:0 0 4px rgba(255,224,90,.8);pointer-events:none;z-index:5}.txs-log-block-link-group{bottom:auto;transform:translateY(-50%);z-index:6}@media(max-width:600px){.txs-log-row-block-first:after{right:58px}}
.fee-note{display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;color:var(--text-muted);margin-top:10px;letter-spacing:.3px;text-transform:uppercase}.fee-note::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--success);flex-shrink:0;animation:fee-dot-pulse 1.6s ease-in-out infinite}@keyframes fee-dot-pulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(var(--success-rgb),.55)}50%{opacity:.35;box-shadow:0 0 0 3px rgba(var(--success-rgb),0)}}.fee-note .fee-value{color:var(--text-secondary);font-weight:600}.fee-note .fee-value strong{color:var(--success)}

/* The active Pix tab is a selected state, not a terminal prompt. */
#viewer-subtab-gallery.active .viewer-subtab-label::before,
#viewer-subtab-gallery.active .viewer-subtab-label::after,
#viewer-subtab-lookup.active .viewer-subtab-label::before,
#viewer-subtab-lookup.active .viewer-subtab-label::after,
#viewer-subtab-rank.active .viewer-subtab-label::before,
#viewer-subtab-rank.active .viewer-subtab-label::after { content: none; animation: none; }
#viewer-subtab-rank:not(.active):hover .viewer-subtab-label::before { content: "[ "; color: var(--text-muted); }
#viewer-subtab-rank:not(.active):hover .viewer-subtab-label::after { content: " ]"; color: var(--text-muted); }

.viewer-rank { padding: 2px 2px 4px; }
#viewer-subtab-rank { font-family: "Courier New", Courier, monospace; font-size: 11.5px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; border-radius: 7px; }
.viewer-rank-total { position: relative; flex: 0 0 auto; align-items: center; gap: 5px; max-width: none; height: 32px; box-sizing: border-box; margin: 0; padding: 0 11px; border: 1px solid rgba(var(--success-rgb),.55); border-radius: 6px; background: linear-gradient(180deg,rgba(var(--success-rgb),.2),rgba(var(--success-rgb),.08)); box-shadow: inset 0 1px rgba(255,255,255,.09),0 2px 7px rgba(0,0,0,.24); color: #a7f3c2; font: 700 10px/1.25 "Avenir Next","Segoe UI",sans-serif; letter-spacing: .02em; text-align: center; white-space: nowrap; }
.viewer-rank-total span { display: inline; }
#viewer-rank-total-date { color: #dcfce7; }
#viewer-rank-total-count { color: #d9f99d; font-size: 12px; font-weight: 800; text-shadow: 0 0 8px rgba(217,249,157,.35); }
.viewer-rank-platform-fees { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 4px 14px; padding: 6px 16px; overflow: hidden; border: 1px solid rgba(103,232,249,.24); border-left: 3px solid #67e8f9; border-radius: 6px; background: radial-gradient(ellipse at 92% 50%,rgba(34,211,238,.12),transparent 42%),linear-gradient(110deg,rgba(8,47,73,.66),rgba(7,15,24,.94) 64%,rgba(5,9,15,.98)); box-shadow: inset 0 1px rgba(255,255,255,.05),0 5px 18px rgba(0,0,0,.2); }
.viewer-rank-platform-fees-label { color: #bae6fd; font: 700 11px/1.35 "Avenir Next","Segoe UI",sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.viewer-rank-platform-fees-amount { display: inline-flex; align-items: baseline; justify-content: flex-end; gap: 5px; white-space: nowrap; }
.viewer-rank-platform-fees strong { color: #a7f3d0; font: 800 20px/1.1 "Courier New",Courier,monospace; letter-spacing: .01em; text-align: right; text-shadow: 0 0 14px rgba(103,232,249,.28); white-space: nowrap; }
#viewer-rank-platform-fees-usd,
.viewer-rank-platform-fees-amount small { color: #7dd3c7; font: 600 10px/1.2 "Avenir Next","Segoe UI",sans-serif; letter-spacing: .01em; white-space: nowrap; }
.viewer-rank-refresh { position: relative; flex: 0 0 auto; min-width: 90px; height: 32px; min-height: 32px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; overflow: hidden; padding: 0 11px; border: 1px solid rgba(var(--success-rgb),.55); border-radius: 6px; background: linear-gradient(180deg,rgba(var(--success-rgb),.2),rgba(var(--success-rgb),.08)); box-shadow: inset 0 1px rgba(255,255,255,.09),0 2px 7px rgba(0,0,0,.24); color: #a7f3c2; font: 700 10px/1 "Avenir Next", "Segoe UI", sans-serif; letter-spacing: .02em; cursor: pointer; transition: background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease,color .18s ease; }
.viewer-rank-refresh svg { width: 13px; height: 13px; flex: 0 0 13px; transition: transform .2s ease; }
.viewer-rank-refresh:hover:not(:disabled) { transform: translateY(-1px); border-color: var(--success); background: linear-gradient(180deg,rgba(var(--success-rgb),.3),rgba(var(--success-rgb),.12)); box-shadow: inset 0 1px rgba(255,255,255,.12),0 4px 12px rgba(var(--success-rgb),.18); color: #d1fae5; }
.viewer-rank-refresh:active:not(:disabled) { transform: translateY(0); box-shadow: inset 0 2px 5px rgba(0,0,0,.28); }
.viewer-rank-refresh:focus-visible { outline: 2px solid var(--success); outline-offset: 2px; }
.viewer-rank-refresh:disabled { border-color: rgba(var(--success-rgb),.28); background: linear-gradient(180deg,rgba(var(--success-rgb),.1),rgba(var(--success-rgb),.04)); box-shadow: inset 0 1px rgba(255,255,255,.04); color: var(--text-muted); cursor: not-allowed; }
.viewer-rank-refresh.is-loading svg { animation: viewer-rank-refresh-spin .8s linear infinite; }
.viewer-rank-refresh.is-cooling-down:not(.is-loading) { border-style: dashed; }
@keyframes viewer-rank-refresh-spin { to { transform: rotate(360deg); } }
.viewer-rank-toolbar { display: flex; flex-wrap: nowrap; align-items: center; width: 100%; gap: 8px; margin: 0 0 16px; }
.viewer-rank-search-wrap { flex: 1 1 0; min-width: 0; }
#viewer-rank-search { box-sizing: border-box; width: 100%; min-width: 0; max-width: none; height: 32px; margin: 0; padding: 6px 10px; border: 1px solid var(--border); border-radius: 6px; outline: none; background: var(--surface-2); color: var(--text); font: 12px "Courier New", Courier, monospace; }
#viewer-rank-search:focus { border-color: var(--success); box-shadow: 0 0 0 2px rgba(var(--success-rgb),.14); }
#viewer-rank-search::placeholder { color: var(--text-muted); }
.viewer-rank-status { min-height: 34px; padding: 10px 8px; color: var(--text-muted); font: 12px/1.4 "Courier New", Courier, monospace; text-align: center; }
.viewer-rank-list { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.viewer-rank-row { position: relative; isolation: isolate; display: grid; grid-template-columns: 36px minmax(0,1fr) auto; align-items: center; gap: 10px; min-height: 58px; padding: 7px 10px; overflow: hidden; border: 1px solid var(--border); border-radius: 6px; background: linear-gradient(90deg,rgba(var(--success-rgb),.045),transparent 60%); }
.viewer-rank-banner { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: .4; }
.viewer-rank-row--banner::before { position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.68) 58%,rgba(0,0,0,.48)); content: ""; }
.viewer-rank-row > :not(.viewer-rank-banner) { position: relative; z-index: 2; }
.viewer-rank-profile-link { display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: 10px; min-width: 0; border-radius: 5px; color: inherit; text-decoration: none; }
.viewer-rank-profile-link:hover .viewer-rank-name { color: #fff; text-decoration: none; }
.viewer-rank-profile-link:focus-visible { outline: 2px solid var(--success); outline-offset: 3px; }
.viewer-rank-position { color: var(--text-muted); font: 700 13px "Courier New", Courier, monospace; text-align: center; }
.viewer-rank-avatar { width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(var(--success-rgb),.45); border-radius: 50%; background: rgba(var(--success-rgb),.12); color: var(--success); font: 700 13px "Courier New", Courier, monospace; }
.viewer-rank-avatar img { display: block; width: 100%; height: 100%; border-radius: inherit; object-fit: cover; }
.viewer-rank-identity { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.viewer-rank-name { overflow: hidden; color: var(--text); font: 600 13px/1.25 "Courier New", Courier, monospace; text-overflow: ellipsis; white-space: nowrap; }
.viewer-rank-address { overflow: hidden; color: var(--text-muted); font: 10px/1.2 "Courier New", Courier, monospace; text-overflow: ellipsis; white-space: nowrap; }
.viewer-rank-score { display: flex; align-items: baseline; gap: 5px; color: var(--success); white-space: nowrap; }
.viewer-rank-score strong { font: 700 16px "Courier New", Courier, monospace; }
.viewer-rank-score small { color: var(--text-muted); font: 700 8px "Courier New", Courier, monospace; }
.viewer-rank-row[data-rank="1"] { min-height: 76px; border-color: rgba(255,193,7,.78); }
.viewer-rank-row[data-rank="1"] .viewer-rank-position,
.viewer-rank-row[data-rank="1"] .viewer-rank-score { color: #ffc107; }
.viewer-rank-row[data-rank="2"] { min-height: 68px; border-color: rgba(196,203,211,.72); }
.viewer-rank-row[data-rank="2"] .viewer-rank-position,
.viewer-rank-row[data-rank="2"] .viewer-rank-score { color: #c4cbd3; }
.viewer-rank-row[data-rank="3"] { min-height: 62px; border-color: rgba(210,139,91,.72); }
.viewer-rank-row[data-rank="3"] .viewer-rank-position,
.viewer-rank-row[data-rank="3"] .viewer-rank-score { color: #d28b5b; }
.viewer-rank-pagination { display: flex; align-items: center; justify-content: center; gap: 4px; flex-wrap: wrap; margin: 12px 0 2px; }
@media (prefers-reduced-motion: reduce) {
  .viewer-rank-refresh.is-loading svg { animation: none; }
}
@media (max-width: 480px) {
  .viewer-rank-total { height: 32px; gap: 3px; padding: 0 6px; font-size: 8px; }
  #viewer-rank-total-count { font-size: 9px; }
  .viewer-rank-platform-fees { gap: 8px; margin-bottom: 12px; padding: 6px 12px; }
  .viewer-rank-platform-fees-label { font-size: 8px; letter-spacing: .02em; }
  .viewer-rank-platform-fees strong { font-size: 16px; }
  .viewer-rank-refresh { min-width: 0; height: 32px; min-height: 32px; gap: 4px; padding: 0 6px; font-size: 9px; }
  .viewer-rank-toolbar { gap: 5px; }
  .viewer-rank-row { grid-template-columns: 28px minmax(0,1fr) auto; gap: 7px; padding: 7px; }
  .viewer-rank-profile-link { grid-template-columns: 34px minmax(0,1fr); gap: 7px; }
  .viewer-rank-avatar { width: 30px; height: 30px; }
  .viewer-rank-name { font-size: 12px; }
  .viewer-rank-score { flex-direction: column; align-items: flex-end; gap: 1px; }
  .viewer-rank-score strong { font-size: 14px; }
}