:root{--portfolio-card-min-height:140px;--portfolio-card-padding:1rem;--portfolio-card-gap:1rem;--portfolio-card-border-radius:16px;--touch-target-min:44px;--touch-target-preferred:48px;--touch-target-spacing:0.5rem;--touch-target-large:56px;--focus-ring-width:2px;--focus-ring-offset:2px;--focus-ring-color:rgba(0,82,255,0.8);--mobile-blur-primary:8px;--mobile-blur-secondary:4px;--mobile-blur-minimal:2px;--portfolio-card-bg:rgba(255,255,255,0.08);--portfolio-card-bg-hover:rgba(255,255,255,0.12);--portfolio-card-border:rgba(255,255,255,0.15);--portfolio-card-border-hover:rgba(0,82,255,0.4);--portfolio-positive:#10b981;--portfolio-negative:#ef4444;--portfolio-neutral:#6b7280;--portfolio-accent:#0052ff}.portfolio-holdings-grid{display:grid;gap:var(--portfolio-card-gap);grid-template-columns:1fr;contain:layout style;will-change:auto}@media (min-width:768px){.portfolio-holdings-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.portfolio-holdings-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}}@media (min-width:1536px){.portfolio-holdings-grid{grid-template-columns:repeat(3,1fr);max-width:1200px}}.portfolio-mobile-card{background:var(--portfolio-card-bg);backdrop-filter:blur(var(--mobile-blur-primary));-webkit-backdrop-filter:blur(var(--mobile-blur-primary));border:1px solid var(--portfolio-card-border);border-radius:var(--portfolio-card-border-radius);padding:var(--portfolio-card-padding);min-height:var(--portfolio-card-min-height);transform:translateZ(0);contain:layout style paint;will-change:transform,opacity;isolation:isolate;backface-visibility:hidden;perspective:1000px;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,82,255,.1);transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px rgba(0,0,0,.1),inset 0 1px 0 rgba(255,255,255,.1)}.portfolio-mobile-card:hover{background:var(--portfolio-card-bg-hover);border-color:var(--portfolio-card-border-hover);transform:translate3d(0,-2px,0);box-shadow:0 8px 24px rgba(0,0,0,.15),0 2px 8px rgba(0,82,255,.1),inset 0 1px 0 rgba(255,255,255,.15)}.portfolio-mobile-card:active{transform:translateZ(0) scale(.98);transition-duration:.1s}.portfolio-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.portfolio-card-token-info{display:flex;align-items:center;gap:.75rem;min-width:0;flex:1}.portfolio-card-logo{width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.1);backdrop-filter:blur(var(--mobile-blur-secondary));-webkit-backdrop-filter:blur(var(--mobile-blur-secondary));border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.1),inset 0 1px 0 rgba(255,255,255,.2)}.portfolio-card-logo img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:50%}.portfolio-card-logo-fallback{font-size:1.25rem;color:var(--portfolio-accent)}.portfolio-card-details{min-width:0;flex:1}.portfolio-card-symbol{font-size:1.125rem;font-weight:700;color:white;margin:0;line-height:1.2}.portfolio-card-name,.portfolio-card-symbol{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portfolio-card-name{font-size:.875rem;color:rgba(255,255,255,.7);margin:.25rem 0 0;line-height:1.3}.portfolio-card-chain{display:inline-flex;align-items:center;gap:.25rem;background:rgba(0,82,255,.15);border:1px solid rgba(0,82,255,.3);border-radius:6px;padding:.25rem .5rem;font-size:.75rem;font-weight:600;color:#60a5fa;margin-top:.25rem}.portfolio-card-price-section{text-align:right;flex-shrink:0}.portfolio-card-price{font-size:1.25rem;font-weight:700;color:white;margin:0;line-height:1.2;transition:all .3s cubic-bezier(.4,0,.2,1)}.portfolio-card-price.updating{transform:scale(1.05);color:var(--portfolio-accent)}.portfolio-card-change{display:flex;align-items:center;justify-content:flex-end;gap:.25rem;margin-top:.25rem;font-size:.875rem;font-weight:600}.portfolio-card-change.positive{color:var(--portfolio-positive)}.portfolio-card-change.negative{color:var(--portfolio-negative)}.portfolio-card-change.neutral{color:var(--portfolio-neutral)}.portfolio-card-change-icon{width:14px;height:14px;flex-shrink:0}.portfolio-card-metrics{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem}.portfolio-card-metric{background:rgba(255,255,255,.05);backdrop-filter:blur(var(--mobile-blur-minimal));-webkit-backdrop-filter:blur(var(--mobile-blur-minimal));border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:.75rem;contain:layout style}.portfolio-card-metric-label{font-size:.75rem;font-weight:600;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .25rem;line-height:1}.portfolio-card-metric-value{font-size:1rem;font-weight:700;color:white;margin:0;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portfolio-card-metric-subtitle{font-size:.75rem;color:rgba(255,255,255,.5);margin:.25rem 0 0;line-height:1.2}.portfolio-card-expandable{border-top:1px solid rgba(255,255,255,.1);padding-top:1rem;margin-top:1rem;max-height:0;overflow:hidden;opacity:0;transition:all .3s cubic-bezier(.4,0,.2,1)}.portfolio-card-expandable.expanded{max-height:200px;opacity:1}.portfolio-card-details-grid{display:grid;grid-template-columns:1fr;gap:.5rem}.portfolio-card-detail-row{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;padding:.25rem 0}.portfolio-card-detail-label{color:rgba(255,255,255,.6);font-weight:500}.portfolio-card-detail-value{color:white;font-weight:600;font-family:Monaco,Menlo,monospace;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portfolio-card-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--touch-target-spacing);margin-top:1rem}.portfolio-card-action-btn{min-height:var(--touch-target-preferred);min-width:var(--touch-target-preferred);&.primary{min-height:var(--touch-target-large);min-width:var(--touch-target-large)}background:rgba(255,255,255,.08);backdrop-filter:blur(var(--mobile-blur-secondary));-webkit-backdrop-filter:blur(var(--mobile-blur-secondary));border:1px solid rgba(255,255,255,.15);border-radius:8px;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:all .15s cubic-bezier(.4,0,.2,1);font-size:.875rem;font-weight:600;color:rgba(255,255,255,.8);text-decoration:none}.portfolio-card-action-btn:hover{background:rgba(255,255,255,.12);border-color:rgba(0,82,255,.4);color:white;transform:scale(1.02)}.portfolio-card-action-btn:active{transform:scale(.96);transition-duration:.1s}.portfolio-card-action-btn.primary{background:rgba(0,82,255,.15);border-color:rgba(0,82,255,.3);color:#60a5fa}.portfolio-card-action-btn.primary:hover{background:rgba(0,82,255,.25);border-color:rgba(0,82,255,.5);color:#93c5fd}.portfolio-card-action-btn.expand{flex:1;justify-content:space-between;padding:.5rem .75rem}.portfolio-card-action-btn.icon-only{min-width:var(--touch-target-preferred);padding:.75rem}.portfolio-card-action-icon{width:16px;height:16px;flex-shrink:0}.portfolio-watchlist-card{@extend .portfolio-mobile-card}.portfolio-watchlist-badges{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}.portfolio-watchlist-badge{display:inline-flex;align-items:center;gap:.25rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:.25rem .5rem;font-size:.75rem;font-weight:600;color:rgba(255,255,255,.8)}.portfolio-watchlist-badge.verified{background:rgba(16,185,129,.15);border-color:rgba(16,185,129,.3);color:#10b981}.portfolio-watchlist-badge.alerts{background:rgba(245,158,11,.15);border-color:rgba(245,158,11,.3);color:#f59e0b}.portfolio-watchlist-badge-icon{width:12px;height:12px;flex-shrink:0}.portfolio-card-loading{pointer-events:none;opacity:.7;background:rgba(255,255,255,.05);position:relative;overflow:hidden}.portfolio-card-loading:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transform:translateX(-100%);animation:card-shimmer 2s infinite}@keyframes card-shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.portfolio-card-error{border-color:rgba(239,68,68,.4);background:rgba(239,68,68,.1)}.portfolio-card-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:200px;padding:2rem;background:rgba(255,255,255,.05);border:2px dashed rgba(255,255,255,.2);border-radius:var(--portfolio-card-border-radius)}.portfolio-card-empty-icon{width:48px;height:48px;color:rgba(255,255,255,.4);margin-bottom:1rem}.portfolio-card-empty-title{font-size:1.125rem;font-weight:600;color:rgba(255,255,255,.8);margin:0 0 .5rem}.portfolio-card-empty-subtitle{font-size:.875rem;color:rgba(255,255,255,.6);margin:0;line-height:1.4}@media (max-width:768px){:root{--mobile-blur-primary:6px;--mobile-blur-secondary:3px;--mobile-blur-minimal:1.5px}.portfolio-mobile-card{will-change:transform;backface-visibility:hidden;transition-property:transform,background-color,border-color;transition-duration:.15s}.portfolio-card-header{gap:.5rem}.portfolio-card-logo{width:40px;height:40px}.portfolio-card-metrics{gap:.5rem}.portfolio-card-metric{padding:.5rem}}@media (max-width:480px){:root{--mobile-blur-primary:4px;--mobile-blur-secondary:2px;--mobile-blur-minimal:1px;--portfolio-card-padding:0.75rem;--portfolio-card-gap:0.75rem;--touch-target-preferred:52px;--touch-target-large:60px}.portfolio-mobile-card{min-height:120px}.portfolio-card-symbol{font-size:1rem}.portfolio-card-price{font-size:1.125rem}.portfolio-card-metric-value{font-size:.875rem}.portfolio-card-actions{flex-direction:column;gap:.75rem}.portfolio-card-action-btn{width:100%;justify-content:center;padding:.75rem 1rem;.sr-only{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;font-size:.875rem;margin:0 0 0 .5rem}}}@media (max-width:360px){.portfolio-mobile-card{background:rgba(0,0,0,.8);border:1px solid rgba(255,255,255,.2)}.portfolio-card-logo,.portfolio-card-metric,.portfolio-mobile-card{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.portfolio-card-logo,.portfolio-card-metric{background:rgba(255,255,255,.1)}.portfolio-card-action-btn,.portfolio-mobile-card{transition:none!important;animation:none!important}}@media (prefers-reduced-motion:reduce){.portfolio-card-action-btn,.portfolio-card-expandable,.portfolio-card-loading:before,.portfolio-mobile-card{transition:none!important;animation:none!important}.portfolio-mobile-card:hover{transform:none!important}}@media (prefers-contrast:high){.portfolio-mobile-card{background:rgba(0,0,0,.95)!important;border:2px solid #ffffff!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.portfolio-card-action-btn{background:rgba(255,255,255,.2)!important;border:2px solid #ffffff!important}.portfolio-card-metric{background:rgba(255,255,255,.1)!important;border:1px solid #ffffff!important}}.portfolio-mobile-card:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);border-radius:calc(var(--portfolio-card-border-radius) + var(--focus-ring-offset))}.portfolio-card-action-btn:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);box-shadow:0 0 0 4px rgba(0,82,255,.2);z-index:10;position:relative}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (min-width:1024px){.portfolio-card-symbol{font-size:1.25rem}.portfolio-card-price{font-size:1.375rem}.portfolio-card-metric-value{font-size:1.125rem}}.portfolio-virtual-container{overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scroll-behavior:smooth;contain:strict;transform:translateZ(0)}.portfolio-virtual-item{contain:layout style paint;will-change:transform;position:absolute;top:0;left:0;right:0}.portfolio-virtual-item.entering{animation:fadeInCard .3s ease-out}.portfolio-virtual-item.exiting{animation:fadeOutCard .2s ease-in}@keyframes fadeInCard{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeOutCard{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-5px) scale(.98)}}.portfolio-card-metric-label[data-lang=es]{letter-spacing:.03em}.portfolio-card-price[data-currency]{display:flex;align-items:center;gap:.25rem}.portfolio-card-currency-flag{font-size:1rem;margin-right:.25rem}@media print{.portfolio-mobile-card{background:white!important;border:1px solid #e5e7eb!important;backdrop-filter:none!important;box-shadow:none!important;-moz-column-break-inside:avoid;break-inside:avoid;margin-bottom:1rem}.portfolio-card-actions{display:none!important}.portfolio-holdings-grid{grid-template-columns:1fr!important}}.betting-button{position:relative;overflow:hidden;transition:all .2s ease;transform:translateZ(0);will-change:transform}.betting-button-bullish{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 4px 12px rgba(34,197,94,.3),inset 0 1px 0 rgba(255,255,255,.2)}.betting-button-bullish:hover{background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 6px 20px rgba(34,197,94,.4),inset 0 1px 0 rgba(255,255,255,.2);transform:translateY(-2px) translateZ(0)}.betting-button-bullish:active{transform:translateY(0) translateZ(0);box-shadow:0 2px 8px rgba(34,197,94,.2),inset 0 1px 0 rgba(255,255,255,.2)}.betting-button-bearish{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 12px rgba(239,68,68,.3),inset 0 1px 0 rgba(255,255,255,.2)}.betting-button-bearish:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 6px 20px rgba(239,68,68,.4),inset 0 1px 0 rgba(255,255,255,.2);transform:translateY(-2px) translateZ(0)}.betting-button-bearish:active{transform:translateY(0) translateZ(0);box-shadow:0 2px 8px rgba(239,68,68,.2),inset 0 1px 0 rgba(255,255,255,.2)}.glass-card{background:rgba(255,255,255,.05);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:all .3s ease;transform:translateZ(0)}.glass-card:hover{background:rgba(255,255,255,.08);transform:translateY(-2px) translateZ(0);box-shadow:0 8px 32px rgba(0,0,0,.2)}.countdown-urgent{animation:pulse-glow 1.5s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse-glow{0%,to{text-shadow:0 0 10px rgba(249,115,22,.5);transform:scale(1)}50%{text-shadow:0 0 20px rgba(249,115,22,.8);transform:scale(1.05)}}.position-card-won{animation:won-glow 2s ease-in-out infinite}@keyframes won-glow{0%,to{box-shadow:0 0 0 rgba(34,197,94,0),inset 0 0 0 rgba(34,197,94,0)}50%{box-shadow:0 0 20px rgba(34,197,94,.3),inset 0 0 40px rgba(34,197,94,.1)}}.position-card-active{animation:active-pulse 3s ease-in-out infinite}@keyframes active-pulse{0%,to{box-shadow:0 0 0 rgba(59,130,246,0),inset 0 0 0 rgba(59,130,246,0)}50%{box-shadow:0 0 15px rgba(59,130,246,.2),inset 0 0 30px rgba(59,130,246,.05)}}.spin{animation:spin 1s linear infinite;transform-origin:center}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.bounce{animation:bounce 1s infinite}@keyframes bounce{0%,to{transform:translateY(-25%) translateZ(0);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0) translateZ(0);animation-timing-function:cubic-bezier(0,0,.2,1)}}.fade-in{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px) translateZ(0)}to{opacity:1;transform:translateY(0) translateZ(0)}}.fade-out{animation:fadeOut .2s ease-in}@keyframes fadeOut{0%{opacity:1;transform:translateY(0) translateZ(0)}to{opacity:0;transform:translateY(-10px) translateZ(0)}}.slide-in-right{animation:slideInRight .3s ease-out}@keyframes slideInRight{0%{transform:translateX(100%) translateZ(0)}to{transform:translateX(0) translateZ(0)}}.slide-out-right{animation:slideOutRight .2s ease-in}@keyframes slideOutRight{0%{transform:translateX(0) translateZ(0)}to{transform:translateX(100%) translateZ(0)}}.shake{animation:shake .5s cubic-bezier(.36,.07,.19,.97)}@keyframes shake{10%,90%{transform:translateX(-5px) translateZ(0)}20%,80%{transform:translateX(5px) translateZ(0)}30%,50%,70%{transform:translateX(-5px) translateZ(0)}40%,60%{transform:translateX(5px) translateZ(0)}}.scale-pop{animation:scalePop .4s ease}@keyframes scalePop{0%{transform:scale(1) translateZ(0)}50%{transform:scale(1.1) translateZ(0)}to{transform:scale(1) translateZ(0)}}.shimmer{background:linear-gradient(90deg,rgba(255,255,255,.05),rgba(255,255,255,.15) 50%,rgba(255,255,255,.05));background-size:200% 100%;animation:shimmer 2s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.odds-increase{animation:oddsIncrease .6s ease-out}@keyframes oddsIncrease{0%{transform:scale(1) translateZ(0);color:inherit}50%{transform:scale(1.15) translateZ(0);color:#22c55e}to{transform:scale(1) translateZ(0);color:inherit}}.odds-decrease{animation:oddsDecrease .6s ease-out}@keyframes oddsDecrease{0%{transform:scale(1) translateZ(0);color:inherit}50%{transform:scale(1.15) translateZ(0);color:#ef4444}to{transform:scale(1) translateZ(0);color:inherit}}.balance-increase{animation:balanceIncrease .5s ease-out}@keyframes balanceIncrease{0%{transform:scale(1) translateZ(0);color:inherit}50%{transform:scale(1.2) translateZ(0);color:#22c55e}to{transform:scale(1) translateZ(0);color:inherit}}.balance-decrease{animation:balanceDecrease .5s ease-out}@keyframes balanceDecrease{0%{transform:scale(1) translateZ(0);color:inherit}50%{transform:scale(1.2) translateZ(0);color:#ef4444}to{transform:scale(1) translateZ(0);color:inherit}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.betting-button,.glass-card{transition:none!important}}@media (max-width:768px){.glass-card{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.betting-button-bearish,.betting-button-bullish{box-shadow:0 2px 8px rgba(0,0,0,.2)}.betting-button-bearish:hover,.betting-button-bullish:hover{box-shadow:0 4px 12px rgba(0,0,0,.25)}}