.portal-shop{
  --shop-cyan:#4eeeff;
  --shop-violet:#9a78ff;
  --shop-gold:#ffd76a;
  --shop-panel:rgba(8,18,28,.88);
  min-height:100%;
  padding:clamp(20px,3vw,42px);
  color:#edfaff;
  background:
    radial-gradient(circle at 86% 8%,rgba(87,70,190,.24),transparent 32rem),
    radial-gradient(circle at 8% 12%,rgba(45,214,231,.10),transparent 28rem),
    linear-gradient(180deg,#06121d 0%,#07101a 42%,#050b12 100%);
}
.portal-shop *{box-sizing:border-box}
.portal-shop-hero{
  position:relative;overflow:hidden;
  display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);
  gap:28px;align-items:stretch;
  max-width:1500px;margin:0 auto 22px;padding:34px;
  border:1px solid rgba(91,224,255,.18);border-radius:24px;
  background:linear-gradient(135deg,rgba(10,28,43,.96),rgba(16,14,43,.92));
  box-shadow:0 24px 70px rgba(0,0,0,.28);
}
.portal-shop-hero:after{
  content:"";position:absolute;right:-80px;top:-130px;width:430px;height:430px;border-radius:50%;
  border:1px solid rgba(105,231,255,.14);box-shadow:0 0 0 44px rgba(120,83,255,.035),0 0 0 88px rgba(62,222,255,.025);
  pointer-events:none;
}
.portal-shop-hero__copy{position:relative;z-index:1;align-self:center}
.portal-shop-hero__copy .portal-kicker{color:#60e9ff;letter-spacing:.18em;font-size:11px;font-weight:900}
.portal-shop-hero h1{margin:8px 0 10px;font-size:clamp(42px,6vw,78px);line-height:.9;letter-spacing:-.055em}
.portal-shop-hero h1 em{font-style:normal;color:#ff4f78;text-shadow:0 0 30px rgba(255,79,120,.22)}
.portal-shop-hero p{max-width:760px;margin:0;color:#95adbd;font-size:14px;line-height:1.7}
.portal-shop-hero__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.portal-shop-hero__chips span{
  padding:8px 10px;border:1px solid rgba(112,220,241,.14);border-radius:999px;
  background:rgba(6,18,28,.62);font-size:10px;font-weight:900;letter-spacing:.08em;color:#b9d7e5
}
.portal-shop-wallet{
  position:relative;z-index:1;display:grid;gap:10px;align-content:center;padding:18px;
  border:1px solid rgba(123,238,255,.18);border-radius:18px;
  background:linear-gradient(180deg,rgba(4,15,25,.86),rgba(12,10,30,.82))
}
.portal-shop-wallet>div{padding:15px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.055)}
.portal-shop-wallet small{display:block;color:#6e8999;font-size:9px;font-weight:900;letter-spacing:.16em}
.portal-shop-wallet strong{display:block;margin-top:4px;font-size:25px;letter-spacing:-.03em}
.portal-shop-wallet strong em{font-style:normal;font-size:11px;color:#62eaff;letter-spacing:.12em}
.portal-shop-wallet>span{padding:5px 3px;color:#6e8999;font-size:10px;font-weight:800;letter-spacing:.1em}
.portal-shop-market{
  max-width:1500px;margin:auto;padding:22px;border:1px solid rgba(255,255,255,.07);border-radius:22px;
  background:rgba(4,12,20,.72);box-shadow:0 22px 60px rgba(0,0,0,.2)
}
.portal-shop-toolbar{display:flex;gap:14px;align-items:center;justify-content:space-between;margin-bottom:14px}
.portal-shop-mode{display:flex;padding:4px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:#06111b}
.portal-shop-mode button,.portal-shop-filters button{
  appearance:none;border:0;color:#748b9a;background:transparent;font:800 11px/1 inherit;letter-spacing:.12em;cursor:pointer
}
.portal-shop-mode button{min-width:110px;padding:12px 18px;border-radius:10px}
.portal-shop-mode button.is-active{color:#061018;background:linear-gradient(135deg,#5ff2ff,#88caff);box-shadow:0 8px 24px rgba(78,238,255,.16)}
.portal-shop-search{
  width:min(520px,52vw);display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid rgba(92,219,241,.16);
  border-radius:14px;background:#07131e;color:#63e8fa
}
.portal-shop-search input{width:100%;padding:13px 0;border:0;outline:0;background:transparent;color:#e8f8ff;font:700 12px/1.2 inherit}
.portal-shop-search input::placeholder{color:#536b79}
.portal-shop-filters{display:flex;gap:7px;overflow:auto;padding:2px 0 13px;scrollbar-width:thin}
.portal-shop-filters button{white-space:nowrap;padding:8px 11px;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:rgba(255,255,255,.025)}
.portal-shop-filters button.is-active{color:#dffcff;border-color:rgba(78,238,255,.36);background:rgba(78,238,255,.08)}
.portal-shop-status{
  margin:1px 0 14px;padding:11px 13px;border-radius:11px;border:1px solid rgba(94,213,235,.11);
  background:rgba(65,193,220,.045);color:#7793a2;font-size:11px;font-weight:700
}
.portal-shop-status.is-success{color:#86f4c3;border-color:rgba(71,232,163,.23);background:rgba(71,232,163,.06)}
.portal-shop-status.is-error{color:#ff9bad;border-color:rgba(255,91,119,.24);background:rgba(255,91,119,.06)}
.portal-shop-summary{display:flex;justify-content:space-between;gap:14px;margin:0 2px 14px;color:#55707f;font-size:10px;font-weight:800;letter-spacing:.09em}
.portal-shop-summary b{color:#d7f8ff}
.portal-shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:13px}
.portal-shop-card{
  min-width:0;display:flex;flex-direction:column;padding:15px;border:1px solid rgba(255,255,255,.075);border-radius:16px;
  background:linear-gradient(160deg,rgba(13,27,39,.94),rgba(6,14,23,.96));transition:.18s ease
}
.portal-shop-card:hover{transform:translateY(-2px);border-color:rgba(86,226,250,.22);box-shadow:0 15px 36px rgba(0,0,0,.22)}
.portal-shop-card.is-unavailable{opacity:.58}
.portal-shop-card__top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:13px}
.portal-shop-source,.portal-shop-category{font-size:8px;font-weight:950;letter-spacing:.11em;text-transform:uppercase}
.portal-shop-source{max-width:68%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:5px 7px;border-radius:999px;color:#70ecff;background:rgba(72,218,244,.08)}
.portal-shop-source.is-mart{color:#c7b4ff;background:rgba(155,119,255,.09)}
.portal-shop-source.is-estate{color:#91f0b0;background:rgba(88,214,124,.08)}
.portal-shop-category{color:#526c7b}
.portal-shop-card__body{display:grid;grid-template-columns:54px minmax(0,1fr);gap:13px;align-items:start;min-height:92px}
.portal-shop-card__icon{
  display:grid;place-items:center;width:54px;height:54px;overflow:hidden;border-radius:14px;
  border:1px solid rgba(119,225,245,.13);background:radial-gradient(circle,rgba(85,221,245,.12),rgba(255,255,255,.02))
}
.portal-shop-card__icon img{width:38px;height:38px;object-fit:contain;image-rendering:auto}
.portal-shop-card__icon span{font-size:28px}
.portal-shop-card__copy{min-width:0}
.portal-shop-card h3{margin:2px 0 6px;color:#effbff;font-size:14px;line-height:1.2}
.portal-shop-card p{
  display:-webkit-box;overflow:hidden;margin:0;color:#6f8795;font-size:10px;line-height:1.45;
  -webkit-line-clamp:3;-webkit-box-orient:vertical
}
.portal-shop-card__meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0 9px}
.portal-shop-card__meta>div{padding:9px 10px;border-radius:10px;background:rgba(255,255,255,.026);border:1px solid rgba(255,255,255,.045)}
.portal-shop-card__meta small{display:block;color:#526c7b;font-size:8px;font-weight:900;letter-spacing:.11em}
.portal-shop-card__meta strong{display:block;margin-top:3px;color:#dffbff;font-size:13px}
.portal-shop-card__meta strong em{font-style:normal;color:#62eaff;font-size:9px;letter-spacing:.1em}
.portal-shop-limit{margin:-2px 0 9px;color:#ffc96b;font-size:9px;font-weight:900;letter-spacing:.08em}
.portal-shop-card__actions{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;margin-top:auto}
.portal-shop-qty{display:grid;grid-template-columns:30px 34px 30px;align-items:center;border:1px solid rgba(255,255,255,.08);border-radius:10px;overflow:hidden;background:#06111a}
.portal-shop-qty button,.portal-shop-action{
  appearance:none;border:0;cursor:pointer;font:900 11px/1 inherit
}
.portal-shop-qty button{height:36px;color:#79ddec;background:rgba(255,255,255,.025)}
.portal-shop-qty button:hover:not(:disabled){background:rgba(89,230,249,.1)}
.portal-shop-qty b{text-align:center;color:#dff9ff;font-size:11px}
.portal-shop-action{
  min-height:38px;padding:8px 10px;border-radius:10px;color:#031219;background:linear-gradient(135deg,#61edff,#78d0ff);
  letter-spacing:.035em;box-shadow:0 8px 20px rgba(63,218,244,.11)
}
.portal-shop-action:hover:not(:disabled){filter:brightness(1.08)}
.portal-shop button:disabled{cursor:not-allowed;opacity:.42}
.portal-shop-empty,.portal-shop-loading,.portal-shop-lock{
  grid-column:1/-1;display:grid;place-items:center;align-content:center;min-height:330px;text-align:center;padding:30px;
  border:1px dashed rgba(98,222,244,.16);border-radius:18px;background:rgba(7,18,28,.68)
}
.portal-shop-empty strong,.portal-shop-loading strong,.portal-shop-lock h1{color:#dffaff;letter-spacing:.05em}
.portal-shop-empty p,.portal-shop-loading p,.portal-shop-lock p{color:#6d8796;font-size:12px}
.portal-shop-loading span{width:36px;height:36px;margin-bottom:14px;border:3px solid rgba(94,231,250,.16);border-top-color:#5ceafa;border-radius:50%;animation:shopspin .8s linear infinite}
.portal-shop-lock a,.portal-shop-lock button{margin-top:12px;padding:11px 16px;border:0;border-radius:10px;background:#5fe9fb;color:#041219;font-weight:900;text-decoration:none;cursor:pointer}
@keyframes shopspin{to{transform:rotate(360deg)}}
@media(max-width:900px){
  .portal-shop{padding:14px}
  .portal-shop-hero{grid-template-columns:1fr;padding:22px}
  .portal-shop-wallet{grid-template-columns:1fr 1fr}
  .portal-shop-wallet>span{grid-column:1/-1}
  .portal-shop-toolbar{align-items:stretch;flex-direction:column}
  .portal-shop-search{width:100%}
  .portal-shop-mode{width:100%}
  .portal-shop-mode button{flex:1}
}
@media(max-width:560px){
  .portal-shop-hero h1{font-size:44px}
  .portal-shop-wallet{grid-template-columns:1fr}
  .portal-shop-wallet>span{grid-column:auto}
  .portal-shop-market{padding:12px}
  .portal-shop-grid{grid-template-columns:1fr}
  .portal-shop-summary{flex-direction:column}
}
