/* Asset-led Earn catalog: all monetary text stays live HTML. */
dialog.earn-modal{width:min(480px,calc(100% - 18px));max-width:480px;max-height:94dvh;padding:17px 14px 12px;background:#05071b;border:1px solid #7643a8;border-radius:20px;overflow-y:auto;overscroll-behavior:contain}dialog.earn-modal #close-modal{font-size:11px;height:37px;min-height:37px;margin-top:10px;border-radius:10px}.earn-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.earn-header>div{display:flex;align-items:center;gap:7px;letter-spacing:1px;font-size:13px}.earn-header button{border:1px solid #49365f;border-radius:7px;background:#101229;color:#bdb5d3;font-size:9px;padding:6px 8px}dialog.earn-modal h2{font-size:25px;line-height:1.15;margin:0 0 4px}dialog.earn-modal .earn-subtitle{font-size:12px;margin:0 0 14px;line-height:1.4}.earn-tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid #965ada;border-radius:13px;overflow:hidden}.earn-tabs button{font-size:11px;min-height:35px;padding:8px 4px;background:#12122b;border:0;color:#f0eefe}.earn-tabs button[aria-selected=true]{background:var(--cyan);color:#00131d;font-weight:700;border-radius:12px}.earn-toolbar{display:flex;justify-content:space-between;align-items:center;min-height:45px;gap:8px;font-size:11px;font-weight:600}.earn-currency{display:flex;align-items:center;gap:6px;border:1px solid #71518a;border-radius:6px;padding:1px 6px;background:#0e1024}.earn-currency>span{font-size:18px;font-weight:400}.earn-currency select{background:#0e1024;color:white;border:0;min-height:29px;font-size:11px;padding:0 2px;min-width:64px}.bot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.bot-card{min-width:0;border:1px solid #8752bd;border-radius:13px;overflow:hidden;background:linear-gradient(160deg,#17112c,#07091e);box-shadow:inset 0 0 13px #7331b018}.bot-art{height:clamp(90px,15dvh,132px);position:relative;overflow:hidden;isolation:isolate;background:#05071b}.bot-art img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block;transform-origin:50% 75%;animation:bot-breathe 4.5s ease-in-out infinite;will-change:transform}.bot-art.cipher img{animation-name:bot-sway;animation-duration:5.5s}.bot-art.titan img{animation-duration:6s}.bot-art.nova img{animation-name:bot-sway;animation-duration:6.5s}.bot-art:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#101025);z-index:4;pointer-events:none}.bot-aura{position:absolute;inset:12% 15%;background:radial-gradient(ellipse,#00e5ff20,transparent 65%);mix-blend-mode:screen;animation:bot-pulse 3s ease-in-out infinite;pointer-events:none}.cipher .bot-aura,.nova .bot-aura{background:radial-gradient(ellipse,#d200ff2a,transparent 65%);animation-delay:-1s}.bot-scan{position:absolute;left:0;right:0;top:0;height:20%;background:linear-gradient(transparent,#00f6ff20,transparent);animation:bot-scan 4s linear infinite;pointer-events:none}.bot-hologram{position:absolute;right:8%;bottom:18%;width:29%;height:29%;display:flex;align-items:flex-end;gap:3px;padding:4px;border:1px solid #00eefc66;border-radius:3px;transform:perspective(100px) rotateY(-15deg);box-shadow:0 0 9px #00e5ff33;background:#00192655;animation:bot-holo 4s ease-in-out infinite}.titan .bot-hologram{display:none}.bot-hologram i{width:4px;height:60%;background:#00e4ed;transform-origin:bottom;animation:bot-bars 1.8s ease-in-out infinite alternate}.bot-hologram i:nth-child(2n){height:85%;animation-delay:-.6s;background:#ce40ff}.bot-hologram i:nth-child(3n){height:45%;animation-delay:-1.3s}.bot-particle{position:absolute;width:3px;height:3px;border-radius:50%;background:#7bffff;box-shadow:0 0 9px #00e5ff;animation:bot-particle 4s ease-in-out infinite}.bot-particle.one{left:12%;top:65%}.bot-particle.two{right:15%;top:30%;animation-delay:-2s}.bot-card-body{padding:0 8px 8px;position:relative;z-index:5}.bot-card h3{font-size:15px;line-height:1.3;margin:0 0 5px}.bot-card dl{font-size:10px;margin:0 0 7px}.bot-card dl>div{display:flex;align-items:center;justify-content:space-between;gap:3px;padding:3px 0;border-bottom:1px solid #51456877;min-height:20px}.bot-card dt{color:#c6c2d9;letter-spacing:-.2px;font-size:9px}.bot-card dd{margin:0;font-weight:700;font-size:10px;white-space:nowrap}.bot-card .primary{font-size:11px;height:31px;min-height:31px;padding:6px 3px;border-radius:8px}dialog.earn-modal .earn-rate,dialog.earn-modal .earn-calculation,dialog.earn-modal .earn-note{font-size:9px;line-height:1.5;margin:9px 0 0;text-align:center}dialog.earn-modal .earn-rate{color:#82dee4}dialog.earn-modal .earn-calculation{border-top:1px solid #453250;padding-top:8px;color:#d1c9e9}dialog.earn-modal .earn-feedback{font-size:11px;line-height:1.6;color:var(--cyan);margin:8px 0 0}.motion-paused .bot-art *,.motion-hidden .bot-art *{animation-play-state:paused!important}.staking-grid{display:grid;gap:12px}.staking-card{display:flex;align-items:center;gap:12px;min-height:160px;border:1px solid #36c1e6;border-radius:13px;overflow:hidden;background:linear-gradient(140deg,#052038,#080a1d)}.staking-card.violet{border-color:#a452ec;background:linear-gradient(140deg,#25103c,#080a1d)}.staking-card h3{font-size:23px;margin:0}.staking-card p{font-size:12px;margin:5px 0!important}.staking-card .secondary{font-size:11px;min-height:31px;height:31px;padding:5px 12px;border-radius:8px;margin-top:10px}.bot-admin{max-width:650px}.bot-admin-tabs{display:flex;gap:8px;margin:15px 0}.bot-admin-tabs button{flex:1;background:#10152e;border:1px solid #8b5bad;border-radius:9px;padding:9px 3px;font-size:12px}.bot-admin-tabs button.active{background:var(--cyan);color:#00121b}.bot-admin-banner{display:flex;align-items:center;gap:20px;border:1px solid #7756ac;border-radius:12px;overflow:hidden;margin:16px 0;background:#05071b}.bot-admin-banner img{width:42%;height:105px;object-fit:cover;object-position:center 20%}.bot-admin-banner h3{margin:0;font-size:23px}.bot-admin-banner p{font-size:12px;color:var(--muted)}#bot-settings-form label{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:center;margin:12px 0;font-size:13px}#bot-settings-form input{width:100%;min-width:0;padding:10px;background:#0b0d23;color:white;border:1px solid #74618e;border-radius:9px}.bot-preview{padding:15px;border:1px solid #00dfe2;border-radius:12px;margin:17px 0;background:linear-gradient(145deg,#06202b44,#34175333)}.bot-preview h3{margin:0 0 10px;font-size:18px}.bot-preview p{display:flex;justify-content:space-between;gap:8px;font-size:13px}.bot-preview strong{color:var(--cyan)}.bot-preview small{font-size:10px;color:var(--muted)}.bot-admin .earn-note{font-size:11px;color:var(--muted);line-height:1.6}
@keyframes bot-breathe{0%,100%{transform:translateY(2px) scale(1.015)}50%{transform:translateY(-4px) scale(1.045)}}@keyframes bot-sway{0%,100%{transform:translate(0,1px) rotate(-1deg) scale(1.025)}50%{transform:translate(2px,-3px) rotate(1deg) scale(1.045)}}@keyframes bot-pulse{0%,100%{opacity:.35}50%{opacity:1}}@keyframes bot-scan{from{transform:translateY(-110%)}to{transform:translateY(650%)}}@keyframes bot-holo{0%,100%{opacity:.35;translate:0 2px}50%{opacity:.9;translate:0 -3px}}@keyframes bot-bars{from{scale:1 .45}to{scale:1 1}}@keyframes bot-particle{0%,100%{opacity:0;translate:0 0}50%{opacity:1;translate:5px -20px}}@media(prefers-reduced-motion:reduce){.bot-art *{animation:none!important}}@media(max-width:360px){.bot-card-body{padding-left:6px;padding-right:6px}.bot-card dt{font-size:8px}.bot-card dd{font-size:9px}.bot-grid{gap:7px}.bot-card h3{font-size:14px}}@media(max-height:650px){.bot-art{height:87px}.earn-header{margin-bottom:9px}dialog.earn-modal .earn-subtitle{margin-bottom:10px}}

/* Keep complete characters visible; start with a still until real video plays. */
.bot-art.bot-video{background:#05071b}.bot-art.bot-video img,.bot-art.bot-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;animation:none!important;transform:none!important;will-change:auto}.bot-art.bot-video video{opacity:0;pointer-events:none}.bot-art.bot-video.video-ready video{opacity:1}.bot-art.bot-video.video-ready img{visibility:hidden}.bot-art.bot-video:after{inset:82% 0 0;background:linear-gradient(transparent,#101025)}

.owned-bots-modal .bot-grid{grid-template-columns:1fr}.owned-bots-modal .bot-card-body{padding:12px}.owned-bots-modal .bot-card-body p{font-size:12px;line-height:1.6;overflow-wrap:anywhere}.owned-bots-modal .bot-card dl{font-size:12px}.owned-bots-modal .bot-card dt,.owned-bots-modal .bot-card dd{font-size:12px}.owned-bots-modal progress{width:100%;accent-color:var(--cyan);margin-bottom:12px}.owned-bots-modal #browse-owned-bots{margin-top:14px}

/* Compact purchase confirmation with the same managed video as the catalog. */
dialog.bot-confirm-modal{width:min(400px,calc(100% - 20px));padding:14px 14px 10px}.bot-confirm-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}dialog.bot-confirm-modal h2{font-size:22px;margin:0}.bot-confirm-header #confirm-motion{width:auto;min-height:30px;padding:4px 9px;margin:0;font-size:11px;border-radius:8px}.bot-confirm-modal .bot-art{height:clamp(100px,19dvh,150px);border-radius:10px;margin-bottom:9px}.bot-confirm-modal .bot-art img,.bot-confirm-modal .bot-art video{object-fit:contain;object-position:center}.bot-confirm-summary{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;margin:0;padding:9px 12px;border:1px solid #59416f;border-radius:12px;background:#0d1024}.bot-confirm-summary>div{padding:6px 0;min-width:0}.bot-confirm-summary dt{font-size:11px;color:var(--muted);line-height:1.4}.bot-confirm-summary dd{margin:2px 0 0;font-size:16px;font-weight:700;line-height:1.3}.bot-confirm-summary>div:last-child dd{color:var(--cyan)}dialog.bot-confirm-modal .bot-confirm-terms{font-size:11px;line-height:1.5;margin:10px 0;color:#c6c2d9}.bot-confirm-modal #confirm-bot,.bot-confirm-modal #cancel-bot{min-height:40px;height:auto;font-size:13px;padding:9px;margin-top:0;border-radius:10px}.bot-confirm-modal #cancel-bot{margin-top:7px}dialog.bot-confirm-modal #close-modal{min-height:30px;height:auto;font-size:11px;padding:6px;margin-top:7px}dialog.bot-confirm-modal .earn-feedback:empty{display:none}@media(max-height:650px){.bot-confirm-modal .bot-art{height:90px}.bot-confirm-summary>div{padding:4px 0}}

.owned-bots-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.owned-bots-header #owned-motion{width:auto;margin:0;min-height:30px;padding:5px 10px;font-size:11px;border-radius:8px}dialog.owned-bots-modal .owned-bots-note{font-size:11px;line-height:1.5;margin:8px 0 13px}.owned-bot-media{position:relative}.owned-bots-modal .owned-bot-media .bot-art{height:170px}.owned-bots-modal .owned-bot-media .bot-art img,.owned-bots-modal .owned-bot-media .bot-art video{width:68%;right:auto;object-position:center}.bot-running-profit{position:absolute;right:8px;top:8px;z-index:6;max-width:55%;padding:7px 9px;border:1px solid #00e4ed66;border-radius:10px;background:#050b1fe8;text-align:right;pointer-events:none}.bot-running-profit span,.bot-running-profit small{display:block;font-size:9px;color:#c6c2d9;line-height:1.4}.bot-running-profit strong{display:block;font-size:17px;line-height:1.5;color:var(--cyan);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.bot-running-profit small{font-size:8px;color:#98a6bb}@media(max-width:360px){.bot-running-profit strong{font-size:15px}}

/* Two compact stacked holdings fit a typical mobile viewport. */
dialog.owned-bots-modal{padding:12px 12px 9px;max-height:96dvh}.owned-bots-modal .owned-bots-header{margin-bottom:4px;gap:8px}dialog.owned-bots-modal h2{font-size:22px}dialog.owned-bots-modal .owned-bots-note{font-size:10px;line-height:1.35;margin:5px 0 8px}.owned-bots-modal .bot-grid{gap:8px}.owned-bots-modal .owned-bot-media .bot-art{height:78px}.owned-bots-modal .owned-bot-media .bot-art img,.owned-bots-modal .owned-bot-media .bot-art video{width:52%}.owned-bots-modal .bot-running-profit{right:8px;top:7px;padding:5px 8px;max-width:48%;border-radius:8px}.owned-bots-modal .bot-running-profit strong{font-size:17px;line-height:1.3}.owned-bots-modal .bot-running-profit small{font-size:8px}.owned-bots-modal .bot-card-body{padding:5px 9px 8px}.owned-bot-identity{display:flex;align-items:baseline;justify-content:space-between;gap:6px}.owned-bots-modal .owned-bot-identity h3{font-size:14px;margin:0;line-height:1.3}.owned-bots-modal .bot-card-body p{font-size:10px;line-height:1.35;margin:3px 0 0}.owned-bots-modal .owned-bot-identity p{margin:0;font-size:9px;text-align:right}.owned-bots-modal progress{display:block;height:4px;margin:6px 0}.owned-bots-modal .bot-card dl{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;margin:0 0 5px}.owned-bots-modal .bot-card dl>div{min-height:20px;gap:4px;padding:3px 0;align-items:baseline}.owned-bots-modal .bot-card dt{font-size:9px;letter-spacing:0}.owned-bots-modal .bot-card dd{font-size:10px}.owned-bots-modal #browse-owned-bots{min-height:36px;margin:4px 0 0;padding:7px;font-size:12px;border-radius:9px}dialog.owned-bots-modal #close-modal{min-height:30px;height:auto;margin-top:6px;padding:5px;font-size:11px}@media(max-width:360px){.owned-bots-modal .bot-card dl{gap:0 8px}.owned-bots-modal .bot-card dt{font-size:8px}.owned-bots-modal .bot-card dd{font-size:9px}}

/* Large character on the left, compact financial details on the right. */
.owned-bots-modal .owned-bot-card{display:grid;grid-template-columns:minmax(0,60fr) minmax(0,40fr);gap:6px;padding:7px;min-height:218px}.owned-bot-visual{display:flex;flex-direction:column;min-width:0;justify-content:center}.owned-bots-modal .owned-bot-visual .bot-art{height:auto;flex:1;min-height:190px;background:transparent}.owned-bots-modal .owned-bot-visual .bot-art img,.owned-bots-modal .owned-bot-visual .bot-art video{width:100%;height:100%;object-fit:contain;object-position:center}.owned-bots-modal .owned-bot-visual h3{font-size:16px;line-height:1.3;text-align:center;margin:3px 0 0}.owned-bot-info{min-width:0;display:flex;flex-direction:column;justify-content:center}.owned-bots-modal .owned-bot-info .bot-running-profit{position:static;max-width:none;padding:4px 5px;margin-bottom:4px}.owned-bots-modal .owned-bot-info .bot-running-profit strong{font-size:17px;line-height:1.2}.owned-bots-modal .owned-bot-info .owned-bot-status{font-size:9px;line-height:1.3;text-align:right;margin:0}.owned-bots-modal .owned-bot-info progress{height:3px;margin:5px 0}.owned-bots-modal .owned-bot-info dl{display:block;margin:0 0 4px}.owned-bots-modal .owned-bot-info dl>div{min-height:16px;padding:2px 0;gap:3px}.owned-bots-modal .owned-bot-info dt{font-size:9px}.owned-bots-modal .owned-bot-info dd{font-size:10px}.owned-bots-modal .owned-bot-info .owned-bot-date{font-size:9px;line-height:1.4;margin:2px 0 0;color:#bdb8d2;overflow-wrap:anywhere}.owned-bot-date time{white-space:nowrap}@media(max-width:360px){.owned-bots-modal .owned-bot-card{gap:6px;padding:7px;grid-template-columns:minmax(0,58fr) minmax(0,42fr)}.owned-bots-modal .owned-bot-info .owned-bot-date{font-size:8px}}

/* Blend the existing video and still into the card, including their letterbox edges. */
.owned-bots-modal .owned-bot-visual .bot-art{mix-blend-mode:screen;isolation:auto;background:transparent}.owned-bots-modal .owned-bot-visual .bot-art:after{display:none}.owned-bots-modal .owned-bot-visual .bot-art img,.owned-bots-modal .owned-bot-visual .bot-art video{height:auto;top:50%;bottom:auto;transform:translateY(-50%)!important;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent),linear-gradient(0deg,transparent,#000 12%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent),linear-gradient(0deg,transparent,#000 12%,#000 94%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}

.owned-bots-modal .owned-bot-info .bot-running-profit span{font-size:8px}.owned-bots-modal .owned-bot-info .bot-running-profit small{display:none}.owned-bots-modal .owned-bot-info .owned-bot-status{font-size:8px;white-space:nowrap}.owned-bots-modal .owned-bot-info dt{font-size:8px}.owned-bots-modal .owned-bot-info dd{font-size:9px}.owned-bots-modal .owned-bot-info .owned-bot-date{font-size:8px;line-height:1.25;margin-top:4px}.owned-bots-modal .owned-bot-info .owned-bot-date time{display:block}@media(max-width:360px){.owned-bots-modal .owned-bot-info .bot-running-profit strong{font-size:15px}}

.owned-bots-header .owned-currency{margin:0;border-color:var(--cyan);border-radius:9px;padding:0 7px}.owned-bots-header .owned-currency select{font-size:11px;min-height:31px;min-width:61px}.owned-usdt .owned-bot-info .bot-running-profit strong{font-size:14px}.owned-usdt .owned-bot-info dd{font-size:8px}@media(max-width:360px){.owned-usdt .owned-bot-info .bot-running-profit strong{font-size:12px}}

/* Approved cyan and violet vaults, cropped from the saved 10-second animation. */
.staking-card{gap:8px;min-height:188px;padding:8px;background:linear-gradient(135deg,#06212f,#080a1d 78%)}
.staking-card.violet{background:linear-gradient(135deg,#24103c,#080a1d 78%)}
.vault-art{position:relative;flex:0 0 58%;min-width:0;aspect-ratio:480/484;overflow:hidden;mix-blend-mode:screen;-webkit-mask-image:radial-gradient(ellipse at center,#000 52%,transparent 76%);mask-image:radial-gradient(ellipse at center,#000 52%,transparent 76%)}
.vault-art img,.vault-art video{display:block;width:100%;height:100%;object-fit:contain}
.vault-art video{position:absolute;inset:0;opacity:0;pointer-events:none}
.vault-art.video-ready video{opacity:1}
.vault-art.video-ready img{visibility:hidden}
.staking-details{min-width:0;padding-right:6px}.staking-card h3{font-size:clamp(21px,6vw,26px);white-space:nowrap}.staking-card .secondary{white-space:nowrap}
@media(max-width:360px){.staking-card{min-height:156px;gap:5px;padding:5px}.staking-card h3{font-size:21px}.staking-card p{font-size:11px}.staking-card .secondary{padding:5px 9px}}
