:root {
  --sk-base: color-mix(in srgb, var(--surface, #30302e) 82%, var(--bg, #262624));
  --sk-hi: color-mix(in srgb, var(--surface-2, #3a3a37) 88%, #ffffff);
  --sk-line: var(--line, #3d3d3a);
  --sk-radius: 8px;
  --sk-radius-sm: 4px;
  --sk-gap: 12px;
  --sk-speed: 1.4s;
}

.sk { position:relative; overflow:hidden; background:var(--sk-base); border-radius:var(--sk-radius); }
.sk::after { content:""; position:absolute; inset:0; transform:translateX(-100%); background:linear-gradient(90deg,transparent,var(--sk-hi),transparent); animation:sk-shimmer var(--sk-speed) ease-in-out infinite; }
@keyframes sk-shimmer { to { transform:translateX(100%); } }
[data-sk-tier="slow"] .sk::after { animation-duration:1.8s; }
[data-sk-tier="fast"] .sk::after { animation-duration:1.2s; }
.sk-line { height:12px; border-radius:var(--sk-radius-sm); }
.sk-title { height:22px; width:40%; }
.sk-text { height:12px; width:100%; margin-bottom:8px; }
.sk-text:last-child { width:62%; }
.sk-circle { border-radius:50%; }
.sk-btn { height:36px; width:110px; border-radius:6px; }
.sk-card { min-height:140px; }
.sk-chart { min-height:320px; background-image:linear-gradient(var(--sk-line) 1px,transparent 1px),linear-gradient(90deg,var(--sk-line) 1px,transparent 1px); background-size:12.5% 20%; }
.sk-reveal { animation:sk-fade 200ms ease-out; }
@keyframes sk-fade { from { opacity:0; } to { opacity:1; } }
.sk-hint { margin:12px 0 0; color:var(--text-3, #8f8d84); font-size:12px; text-align:center; }

.sk-page-overlay { position:fixed; inset:0; z-index:2147483645; padding:28px clamp(16px,5vw,72px); overflow:hidden; background:var(--bg, #262624); color:var(--text, #f5f4ef); opacity:1; transition:opacity 200ms ease-out; }
.sk-page-overlay.is-leaving { opacity:0; pointer-events:none; }
.sk-page-shell { width:min(1180px,100%); margin:0 auto; display:grid; gap:var(--sk-gap); }
.sk-nav { height:44px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--sk-line); padding-bottom:12px; }
.sk-nav-right,.sk-actions,.sk-card-grid,.sk-table-row { display:flex; gap:var(--sk-gap); }
.sk-nav-right { width:34%; justify-content:flex-end; }
.sk-hero { display:grid; gap:14px; padding-top:42px; max-width:680px; }
.sk-hero .sk-title { width:min(440px,78%); height:42px; }
.sk-hero .sk-text { max-width:560px; }
.sk-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:18px; }
.sk-card-grid .sk { padding:18px; display:grid; gap:12px; }
.sk-docs { display:grid; gap:10px; max-width:760px; padding-top:30px; }
.sk-docs .sk-title { width:55%; height:34px; margin-bottom:14px; }
.sk-pricing { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding-top:32px; }
.sk-pricing .sk { min-height:330px; padding:20px; display:grid; align-content:start; gap:14px; }
.sk-credit-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding-top:28px; }
.sk-credit-grid .sk { min-height:98px; padding:18px; display:grid; align-content:start; gap:12px; }
.sk-auth { width:min(420px,100%); margin:10vh auto 0; padding:24px; display:grid; gap:14px; border:1px solid var(--sk-line); }
.sk-input { height:42px; width:100%; }
.sk-terminal { height:100%; display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:12px; }
.sk-terminal-main { display:grid; grid-template-rows:38px minmax(320px,1fr); gap:10px; }
.sk-terminal-side { display:grid; align-content:start; gap:8px; padding:14px; border-left:1px solid var(--sk-line); }
.sk-terminal-side .sk-line { height:16px; }
.sk-chart-loader { position:absolute; inset:0; z-index:5; display:none; padding:10px; background:var(--chart-bg, var(--bg, #262624)); }
.sk-chart-loader.is-visible { display:grid; grid-template-rows:32px minmax(0,1fr) 28px; gap:10px; }
.sk-chart-loader .sk-chart { min-height:0; }
.sk-candles { position:relative; display:flex; align-items:stretch; gap:clamp(2px,.5vw,6px); min-height:0; padding:0 10px; border-radius:var(--sk-radius); overflow:hidden; background:color-mix(in srgb,var(--sk-base) 55%,transparent); }
.sk-candle-grid { position:absolute; inset:0; pointer-events:none; background-image:linear-gradient(var(--sk-line) 1px,transparent 1px),linear-gradient(90deg,var(--sk-line) 1px,transparent 1px); background-size:12.5% 20%; opacity:.45; }
.sk-candle { position:relative; flex:1 1 0; min-width:2px; max-width:18px; animation:sk-candle-pulse 1.6s ease-in-out infinite; animation-delay:var(--d,0ms); }
.sk-candle::before { content:""; position:absolute; left:calc(50% - 1px); width:2px; top:calc(var(--y) - var(--w)); height:calc(var(--b) + var(--w) * 2); background:var(--sk-hi); border-radius:1px; }
.sk-candle::after { content:""; position:absolute; left:10%; right:10%; top:var(--y); height:var(--b); background:var(--sk-hi); border-radius:2px; }
.sk-candle.is-down::after { background:color-mix(in srgb,var(--sk-hi) 70%,var(--sk-base)); }
@keyframes sk-candle-pulse { 0%,100% { opacity:.35; transform:translateY(0); } 50% { opacity:1; transform:translateY(-2%); } }
.sk-chart-loader.is-visible { animation:sk-fade 200ms ease-out; }
.sk-chart-loader .sk-table-row { align-items:center; }
.sk-chart-error { display:grid; place-items:center; align-content:center; gap:12px; text-align:center; padding:24px; color:var(--text, #f5f4ef); }
.sk-retry { border:1px solid var(--line, #3d3d3a); border-radius:6px; background:var(--surface, #30302e); color:var(--text, #f5f4ef); padding:9px 12px; font:inherit; cursor:pointer; }
.sk-section { display:grid; gap:10px; min-height:140px; padding:12px; }
.sk-section-list { display:grid; gap:8px; }
.sk-section-row { min-height:64px; display:grid; grid-template-columns:34px minmax(0,1fr) 76px; align-items:center; gap:12px; padding:10px; border:1px solid var(--sk-line); border-radius:var(--sk-radius); }
.sk-section-row > div { display:grid; gap:9px; }
.sk-section-row .sk-circle { width:30px; height:30px; }
.sk-value { width:100%; }
.sk-signal-summary,.sk-account-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:12px; border:1px solid var(--sk-line); border-radius:var(--sk-radius); }
.sk-signal-summary .sk-line { height:34px; }
.sk-account-summary { grid-template-columns:1fr 88px 88px; }
.sk-account-summary .sk-title { width:80%; }

@media (max-width:700px) { .sk-card-grid,.sk-pricing,.sk-credit-grid { grid-template-columns:1fr; } .sk-terminal { grid-template-columns:1fr; } .sk-terminal-side { display:none; } .sk-page-overlay { padding:16px; } }
@media (prefers-reduced-motion:reduce) { .sk::after,.sk-reveal { animation:none; display:none; } .sk-candle,.sk-chart-loader.is-visible { animation:none; opacity:.7; } .sk-page-overlay { transition:none; } }