/* 7R Markets 1.23.0 */
.market-library-page{--mk-gold:#d7a43a;--mk-line:rgba(217,165,58,.33);--mk-cream:#f3ead7;--mk-muted:#a99d8a;background:#050505;color:var(--mk-cream)}
.market-library-shell{width:min(1400px,calc(100% - 28px));margin:0 auto;padding:4px 0 24px}
.market-library-head{min-height:88px;border:1px solid var(--mk-line);border-radius:0 0 18px 18px;background:linear-gradient(180deg,rgba(29,18,10,.95),rgba(8,8,7,.98));display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 18px 14px;box-shadow:0 16px 36px rgba(0,0,0,.25)}
.market-library-head .eyebrow,.market-section-label .eyebrow,.market-scene-top .eyebrow,.market-stall-content .eyebrow{margin:0 0 2px;color:#d2a141;font-size:10px;font-weight:900;letter-spacing:.18em}
.market-library-head h1{margin:0;font:700 clamp(29px,3.2vw,46px)/.98 Georgia,serif;color:#f5eee0}.market-library-head small{display:block;margin-top:6px;color:#aaa091;font-size:12px}
.market-wallet-chip{min-width:94px;border:1px solid rgba(220,171,65,.38);border-radius:12px;background:linear-gradient(180deg,#2a1e0e,#100d08);padding:8px 12px;text-align:right;box-shadow:inset 0 1px rgba(255,255,255,.04)}.market-wallet-chip span{display:block;color:#9f917d;font-size:9px;text-transform:uppercase;letter-spacing:.12em}.market-wallet-chip strong{display:block;color:#ffe19a;font:700 18px/1.1 Georgia,serif}
.market-library-empty{margin-top:14px;padding:30px;border:1px solid var(--mk-line);border-radius:16px;background:#0c0a08;display:grid;gap:6px;text-align:center;color:#aea393}.market-library-empty strong{color:#f1e7d4;font-size:18px}
.market-primary{margin-top:14px}.market-season-section{margin-top:16px}.market-section-label{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:0 4px 8px}.market-section-label h2{margin:0;color:#eee5d7;font:700 19px/1.1 Georgia,serif}.market-section-label>span{border:1px solid rgba(218,166,57,.24);border-radius:999px;padding:5px 9px;color:#c9b989;background:#0b0906;font-size:10px}
.market-card{position:relative;width:100%;display:block;overflow:hidden;border:1px solid rgba(220,169,62,.34);border-radius:17px;padding:0;background:#0b0906;color:inherit;text-align:left;cursor:pointer;box-shadow:0 16px 36px rgba(0,0,0,.34);isolation:isolate;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.market-card-central{height:clamp(315px,34vw,460px)}.market-card-seasonal{height:clamp(255px,27vw,350px)}
.market-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform 6s ease,filter .3s ease}.market-card:hover>img,.market-card:focus-visible>img{transform:scale(1.025);filter:saturate(1.05) brightness(1.02)}
.market-card::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(5,5,5,.86) 0,rgba(5,5,5,.58) 32%,rgba(5,5,5,.12) 58%,rgba(5,5,5,.18) 100%),linear-gradient(0deg,rgba(4,4,3,.82) 0,transparent 43%);pointer-events:none}.market-card-seasonal::before{background:linear-gradient(90deg,rgba(5,5,5,.82),rgba(5,5,5,.45) 35%,rgba(5,5,5,.08) 66%),linear-gradient(0deg,rgba(4,4,3,.78),transparent 48%)}
.market-card:hover,.market-card:focus-visible{transform:translateY(-2px);border-color:rgba(231,184,83,.69);box-shadow:0 21px 48px rgba(0,0,0,.43),0 0 32px rgba(205,147,34,.08);outline:none}
.market-card-shimmer{position:absolute;z-index:2;inset:-60% -18%;background:linear-gradient(105deg,transparent 42%,rgba(255,224,154,.0) 47%,rgba(255,224,154,.16) 50%,rgba(255,224,154,0) 53%,transparent 58%);transform:translateX(-60%);animation:marketCardShimmer 10s ease-in-out infinite;pointer-events:none}
@keyframes marketCardShimmer{0%,65%{transform:translateX(-62%)}82%,100%{transform:translateX(62%)}}
.market-card-copy{position:absolute;z-index:3;left:clamp(18px,3.1vw,45px);bottom:clamp(18px,3.2vw,42px);width:min(510px,55%);display:flex;flex-direction:column;align-items:flex-start;text-shadow:0 2px 10px rgba(0,0,0,.88)}.market-card-copy small{color:#d9aa4e;font-size:9px;font-weight:900;letter-spacing:.16em}.market-card-copy strong{margin-top:3px;color:#fff6e6;font:700 clamp(27px,3vw,43px)/1 Georgia,serif}.market-card-seasonal .market-card-copy strong{font-size:clamp(24px,2.5vw,36px)}.market-card-copy em{margin-top:6px;color:#e0c47d;font:600 13px/1.2 Georgia,serif;font-style:normal}.market-card-copy>span{margin-top:7px;color:#d3cabc;font-size:12px;line-height:1.45;max-width:48ch}.market-card-copy b{display:inline-flex;gap:7px;align-items:center;margin-top:12px;border:1px solid #a8791c;border-radius:9px;padding:7px 11px;background:linear-gradient(180deg,#3c2a0c,#191005);color:#f5d680;font-size:11px;box-shadow:inset 0 1px rgba(255,255,255,.06),0 0 18px rgba(222,166,51,.08)}.market-card-copy b i{font-style:normal;transition:transform .18s}.market-card:hover .market-card-copy b i{transform:translateX(3px)}
.market-live{position:absolute;z-index:4;top:13px;left:14px;display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(86,218,139,.45);border-radius:999px;padding:5px 9px;background:rgba(4,8,6,.78);backdrop-filter:blur(6px);color:#a9f0c5;font-size:9px;font-weight:900;letter-spacing:.08em}.market-live i{width:6px;height:6px;border-radius:50%;background:#55d887;box-shadow:0 0 11px rgba(85,216,135,.9);animation:marketDot 2.1s ease-in-out infinite}.market-live.seasonal{border-color:rgba(234,171,60,.48);color:#f2cf84}.market-live.seasonal i{background:#e6a93b;box-shadow:0 0 11px rgba(230,169,59,.9)}@keyframes marketDot{50%{opacity:.38;transform:scale(.72)}}
.market-card-meta{position:absolute;z-index:4;right:14px;bottom:12px;display:flex;gap:6px}.market-card-meta>span{border:1px solid rgba(235,195,113,.18);border-radius:999px;padding:5px 8px;background:rgba(6,6,5,.7);backdrop-filter:blur(5px);color:#c2b6a2;font-size:9px}
/* immersive market dialog */
.market-scene-dialog{width:min(1480px,96vw);max-width:none;height:auto;max-height:94vh;margin:auto;padding:0;border:1px solid rgba(220,169,60,.46);border-radius:18px;background:#080706;color:#f4ead8;box-shadow:0 34px 110px rgba(0,0,0,.78),0 0 50px rgba(202,144,31,.1);overflow:hidden}.market-scene-dialog::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(7px)}
.market-scene-shell{position:relative;background:linear-gradient(180deg,#110c08,#060606);overflow:hidden}.market-scene-top{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px;border-bottom:1px solid rgba(219,168,63,.22);background:linear-gradient(180deg,rgba(25,17,10,.97),rgba(7,7,7,.96));position:relative;z-index:12}.market-scene-top h2{margin:0;font:700 25px/1 Georgia,serif;color:#f7eddb}.market-scene-top p[data-market-subtitle]{margin:4px 0 0;color:#b9aa94;font-size:10px}.market-scene-actions{display:flex;align-items:center;gap:7px}.market-scene-wallet{border:1px solid rgba(220,170,66,.3);border-radius:9px;padding:7px 9px;color:#e5bd65;background:#0a0805;font-size:10px}.market-scene-wallet b{color:#ffe6aa;font-size:12px}.market-audio-toggle,.market-scene-close,.market-stall-close{width:34px;height:34px;border-radius:50%;border:1px solid rgba(218,172,78,.28);background:#0c0c0b;color:#d8c7aa;display:grid;place-items:center;cursor:pointer;font-size:17px;transition:.18s}.market-audio-toggle:hover,.market-scene-close:hover,.market-stall-close:hover{border-color:#d4a23b;color:#fff0c7;background:#21180b}.market-audio-toggle.is-muted{opacity:.46;text-decoration:line-through}
.market-scene-viewport{position:relative;width:100%;aspect-ratio:16/9;max-height:calc(94vh - 69px);overflow:hidden;background:#050505}.market-scene-canvas{position:absolute;inset:0;transform-origin:center;--drunk-blur:0px;--drunk-scale:1;transition:filter .55s ease,transform .55s ease;filter:blur(var(--drunk-blur));transform:scale(var(--drunk-scale))}.market-scene-canvas>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.market-scene-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 45%,transparent 47%,rgba(0,0,0,.34) 100%),linear-gradient(180deg,rgba(0,0,0,.05),transparent 60%,rgba(0,0,0,.23));z-index:1}.market-hotspots{position:absolute;inset:0;z-index:5}
.market-hotspot{--hs:#edb842;position:absolute;left:var(--x);top:var(--y);width:25px;height:25px;transform:translate(-50%,-50%);border:1px solid rgba(245,195,84,.9);border-radius:50%;background:rgba(8,7,5,.78);box-shadow:0 0 0 4px rgba(235,174,53,.08),0 0 16px rgba(238,181,58,.38);cursor:pointer;display:grid;place-items:center;color:#ffe59f;transition:transform .18s,box-shadow .18s,background .18s}.market-hotspot::before{content:"✦";font-size:10px;animation:marketStarBlink 2s ease-in-out infinite;animation-delay:var(--delay,0s)}.market-hotspot::after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 9px);transform:translateX(-50%) translateY(4px);width:max-content;max-width:210px;padding:6px 8px;border:1px solid rgba(220,170,66,.38);border-radius:8px;background:rgba(7,7,6,.94);color:#f4e4bd;font-size:10px;line-height:1.25;box-shadow:0 9px 25px rgba(0,0,0,.42);opacity:0;pointer-events:none;transition:.16s}.market-hotspot:hover,.market-hotspot:focus-visible{transform:translate(-50%,-50%) scale(1.15);background:#2a1d09;box-shadow:0 0 0 5px rgba(235,174,53,.1),0 0 23px rgba(238,181,58,.62);outline:none}.market-hotspot:hover::after,.market-hotspot:focus-visible::after{opacity:1;transform:translateX(-50%) translateY(0)}@keyframes marketStarBlink{0%,100%{opacity:.42;transform:scale(.8) rotate(0)}50%{opacity:1;transform:scale(1.2) rotate(45deg)}}
.market-scene-help{position:absolute;z-index:7;left:50%;bottom:9px;transform:translateX(-50%);border:1px solid rgba(222,176,79,.2);border-radius:999px;padding:5px 10px;background:rgba(5,5,4,.69);backdrop-filter:blur(5px);color:#b9ad9b;font-size:9px;white-space:nowrap;pointer-events:none}
.market-effect-layer{position:absolute;inset:0;z-index:4;pointer-events:none;opacity:0}.market-effect-layer.is-active{animation:marketFx 1.8s ease-out}.market-effect-layer.fx-sparkle{background:radial-gradient(circle at 35% 45%,rgba(124,201,255,.2),transparent 22%),radial-gradient(circle at 70% 30%,rgba(255,216,116,.24),transparent 18%)}.market-effect-layer.fx-spicy{background:radial-gradient(circle at 50% 90%,rgba(255,81,20,.45),transparent 44%)}.market-effect-layer.fx-warm{background:linear-gradient(0deg,rgba(255,119,30,.2),transparent 58%)}.market-effect-layer.fx-spectral{background:radial-gradient(circle,rgba(104,202,238,.2),transparent 53%)}.market-effect-layer.fx-shadow{background:rgba(0,0,0,.55)}.market-effect-layer.fx-ward{box-shadow:inset 0 0 90px rgba(105,175,255,.42)}.market-effect-layer.fx-moon{background:radial-gradient(circle at 70% 25%,rgba(216,222,255,.34),transparent 24%)}.market-effect-layer.fx-mask{background:linear-gradient(90deg,rgba(135,30,45,.18),transparent,rgba(72,31,116,.2))}.market-effect-layer.fx-caffeine{background:repeating-linear-gradient(90deg,transparent 0 12px,rgba(255,230,150,.05) 13px 14px)}.market-effect-layer.fx-eat{background:radial-gradient(circle at 50% 100%,rgba(114,201,105,.19),transparent 38%)}@keyframes marketFx{0%{opacity:0}20%{opacity:1}100%{opacity:0}}
.market-scene-canvas.is-drunk{animation:marketDrunkSway var(--drunk-speed,4.8s) ease-in-out infinite alternate}@keyframes marketDrunkSway{0%{transform:scale(var(--drunk-scale)) rotate(var(--drunk-angle,-.35deg)) translate3d(-.45%,.2%,0)}100%{transform:scale(var(--drunk-scale)) rotate(var(--drunk-angle-neg,.35deg)) translate3d(.55%,-.3%,0)}}
/* stall popup */
.market-stall-panel{position:absolute;z-index:20;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(980px,calc(100% - 34px));max-height:calc(100% - 30px);display:grid;grid-template-columns:minmax(270px,.92fr) minmax(330px,1.08fr);overflow:auto;border:1px solid rgba(221,172,68,.5);border-radius:17px;background:linear-gradient(135deg,rgba(18,14,10,.98),rgba(6,7,8,.985));box-shadow:0 25px 90px rgba(0,0,0,.82),0 0 38px rgba(200,145,37,.13);backdrop-filter:blur(16px)}.market-stall-panel[hidden]{display:none!important}.market-stall-panel::before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 55px rgba(204,151,46,.04)}
.market-stall-close{position:absolute;z-index:5;right:10px;top:10px;background:rgba(8,8,8,.82)}.market-stall-art{position:relative;min-height:100%;background:#0a0907;overflow:hidden}.market-stall-art img{width:100%;height:100%;min-height:420px;object-fit:cover;display:block}.market-stall-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 62%,rgba(8,8,8,.7));pointer-events:none}.market-stall-art-glow{position:absolute;inset:0;box-shadow:inset 0 0 80px rgba(0,0,0,.42);pointer-events:none}
.market-stall-content{position:relative;padding:28px 27px 25px;min-width:0}.market-stall-content h3{margin:3px 42px 7px 0;color:#fff1d5;font:700 clamp(24px,2.5vw,34px)/1.04 Georgia,serif}.market-stall-description{color:#bdb1a0;font-size:12px;line-height:1.5;margin-bottom:15px}.market-stall-description p{margin:.35em 0}.market-item-list{display:grid;gap:8px}.market-item{display:grid;grid-template-columns:35px 1fr auto;align-items:center;gap:10px;border:1px solid rgba(217,166,62,.18);border-radius:11px;padding:9px;background:rgba(7,7,7,.56);transition:.16s}.market-item:hover{border-color:rgba(220,172,72,.36);background:rgba(27,20,10,.62)}.market-item-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(221,172,70,.25);background:#0e0c08;color:#f1c866;font-size:15px}.market-item-copy{min-width:0}.market-item-copy strong{display:block;color:#ede4d5;font-size:12px}.market-item-copy span{display:block;margin-top:2px;color:#91887b;font-size:9px;line-height:1.3}.market-item-price{display:flex;align-items:center;gap:4px;color:#f0c75f;font-size:10px;white-space:nowrap}.market-item-actions{grid-column:2/4;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.market-item-actions button,.market-login-link{border:1px solid #94701f;border-radius:8px;padding:6px 9px;background:linear-gradient(180deg,#31230e,#151006);color:#efd482;font-size:10px;font-weight:800;cursor:pointer;text-decoration:none}.market-item-actions button:hover,.market-login-link:hover{border-color:#d3a33d;color:#fff0b4}.market-item-actions button[disabled]{opacity:.43;cursor:not-allowed}.market-item-actions .use{border-color:rgba(92,182,130,.4);background:linear-gradient(180deg,#13261c,#08120d);color:#a9e0c0}.market-item-stock{color:#8fa293;font-size:9px}.market-item-note{grid-column:1/-1;color:#9f9484;font-size:10px;border:1px dashed rgba(218,169,64,.17);border-radius:9px;padding:10px}.market-season-locked{color:#d4b66c}
/* per-stall visual personalities */
.market-stall-panel.style-alchemy{border-color:rgba(132,109,245,.52);box-shadow:0 25px 90px rgba(0,0,0,.82),0 0 42px rgba(115,78,230,.17)}.market-stall-panel.style-tavern{border-color:rgba(220,132,48,.55)}.market-stall-panel.style-relics{border-color:rgba(88,173,194,.46)}.market-stall-panel.style-board{border-color:rgba(199,160,87,.52);background:linear-gradient(135deg,rgba(34,22,11,.985),rgba(9,8,6,.99))}.market-stall-panel.style-cabinet{border-color:rgba(132,96,183,.5)}.market-stall-panel.style-cauldron{border-color:rgba(235,101,36,.55)}.market-stall-panel.style-counter{border-color:rgba(227,134,46,.5)}.market-stall-panel.style-wardrobe{border-color:rgba(159,64,66,.52)}
.market-toast{position:fixed;z-index:9999;left:50%;bottom:24px;transform:translateX(-50%) translateY(14px);max-width:min(540px,calc(100% - 28px));border:1px solid rgba(218,168,62,.4);border-radius:10px;padding:9px 13px;background:rgba(8,8,7,.94);backdrop-filter:blur(8px);color:#e9ddc9;font-size:11px;box-shadow:0 14px 38px rgba(0,0,0,.52);opacity:0;transition:.2s}.market-toast.is-visible{opacity:1;transform:translateX(-50%) translateY(0)}
@media(max-width:850px){.market-card-copy{width:min(620px,72%)}.market-stall-panel{grid-template-columns:260px 1fr}.market-stall-art img{min-height:370px}.market-scene-help{font-size:8px}}
@media(max-width:680px){.market-library-shell{width:min(100% - 14px,1400px)}.market-library-head{min-height:76px;padding:10px 12px}.market-library-head h1{font-size:31px}.market-library-head small{font-size:10px;max-width:64vw}.market-wallet-chip{padding:6px 8px;min-width:76px}.market-wallet-chip strong{font-size:15px}.market-card-central{height:270px}.market-card-seasonal{height:235px}.market-card::before,.market-card-seasonal::before{background:linear-gradient(0deg,rgba(4,4,3,.91) 0,rgba(4,4,3,.52) 48%,rgba(4,4,3,.08) 75%)}.market-card-copy{left:14px;bottom:15px;width:calc(100% - 28px)}.market-card-copy strong,.market-card-seasonal .market-card-copy strong{font-size:26px}.market-card-copy>span{font-size:10px;max-width:46ch}.market-card-copy em{font-size:11px}.market-card-meta{display:none}.market-section-label{margin-inline:2px}.market-scene-dialog{width:calc(100vw - 10px);max-height:96vh;border-radius:13px}.market-scene-top{min-height:60px;padding:8px 9px}.market-scene-top h2{font-size:19px}.market-scene-top p[data-market-subtitle]{max-width:48vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.market-scene-wallet{display:none!important}.market-scene-actions{gap:4px}.market-audio-toggle,.market-scene-close{width:31px;height:31px}.market-scene-viewport{aspect-ratio:16/9;max-height:none}.market-hotspot{width:28px;height:28px}.market-hotspot::after{display:none}.market-scene-help{bottom:5px;max-width:92%;overflow:hidden;text-overflow:ellipsis;padding:4px 8px}.market-stall-panel{width:calc(100% - 14px);max-height:calc(100% - 12px);grid-template-columns:1fr;align-content:start}.market-stall-art{min-height:170px;max-height:210px}.market-stall-art img{min-height:0;height:210px}.market-stall-art::after{background:linear-gradient(0deg,rgba(8,8,8,.76),transparent 50%)}.market-stall-content{padding:15px 13px 16px}.market-stall-content h3{font-size:23px;margin-right:38px}.market-stall-description{font-size:10px;margin-bottom:10px}.market-item{grid-template-columns:30px 1fr auto;padding:7px;gap:8px}.market-item-icon{width:29px;height:29px}.market-item-copy span{display:none}.market-item-actions{grid-column:1/-1;padding-left:38px}.market-stall-close{right:7px;top:7px}.market-toast{bottom:12px}}
@media(max-width:430px){.market-library-head{display:flex}.market-library-head small{max-width:60vw}.market-card-copy>span{display:none}.market-card-copy b{margin-top:8px}.market-card-central{height:230px}.market-card-seasonal{height:205px}.market-live{top:9px;left:9px}.market-card-copy strong,.market-card-seasonal .market-card-copy strong{font-size:23px}.market-section-label h2{font-size:17px}}
@media(prefers-reduced-motion:reduce){.market-card,.market-card>img,.market-card-shimmer,.market-live i,.market-hotspot::before,.market-scene-canvas,.market-effect-layer,.market-toast{animation:none!important;transition:none!important}.market-card:hover{transform:none}.market-scene-canvas.is-drunk{animation:none!important}}

/* 1.23.0 · discoverable market magic */
.market-surprise{position:absolute;left:var(--x);top:var(--y);width:16px;height:16px;transform:translate(-50%,-50%);border:0;border-radius:50%;background:radial-gradient(circle,#fff7c7 0 12%,rgba(255,215,118,.7) 13% 26%,rgba(255,191,58,.12) 27% 48%,transparent 49%);box-shadow:0 0 8px rgba(255,211,105,.72),0 0 18px rgba(169,108,255,.22);cursor:pointer;opacity:.62;animation:marketSecretPulse 2.8s ease-in-out infinite;animation-delay:var(--delay,0s);z-index:6}.market-surprise::before{content:"";position:absolute;inset:-5px;border:1px solid rgba(247,219,143,.22);border-radius:50%;animation:marketSecretRing 2.8s ease-out infinite}.market-surprise::after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 7px);transform:translateX(-50%) translateY(4px);width:max-content;max-width:190px;padding:5px 7px;border:1px solid rgba(214,170,78,.28);border-radius:8px;background:rgba(6,6,6,.92);color:#eadcb9;font-size:9px;line-height:1.25;opacity:0;pointer-events:none;transition:.16s;box-shadow:0 8px 24px rgba(0,0,0,.45)}.market-surprise:hover,.market-surprise:focus-visible{opacity:1;outline:none;transform:translate(-50%,-50%) scale(1.16);box-shadow:0 0 10px rgba(255,226,133,.95),0 0 24px rgba(142,102,255,.45)}.market-surprise:hover::after,.market-surprise:focus-visible::after{opacity:1;transform:translateX(-50%) translateY(0)}.market-surprise.is-done{opacity:.12;pointer-events:none;animation:none}.market-surprise.is-done::before{display:none}@keyframes marketSecretPulse{0%,100%{opacity:.36;filter:brightness(.9)}50%{opacity:.9;filter:brightness(1.35)}}@keyframes marketSecretRing{0%{transform:scale(.6);opacity:.5}70%,100%{transform:scale(1.55);opacity:0}}
.market-effect-status{position:absolute;z-index:8;right:10px;bottom:10px;border:1px solid rgba(221,171,69,.28);border-radius:999px;padding:5px 9px;background:rgba(7,7,6,.78);backdrop-filter:blur(6px);color:#d9c7a0;font-size:9px;box-shadow:0 8px 22px rgba(0,0,0,.35)}
.market-effect-layer.fx-stomachache{background:radial-gradient(circle at 50% 78%,rgba(116,161,63,.18),transparent 28%)}.market-effect-layer.fx-hat{background:radial-gradient(circle at 50% 2%,rgba(218,180,92,.14),transparent 24%)}.market-effect-layer.fx-luck{background:radial-gradient(circle at 25% 70%,rgba(245,218,124,.2),transparent 24%)}.market-effect-layer.fx-mystery{background:conic-gradient(from 30deg at 50% 50%,rgba(113,72,151,.14),rgba(47,131,155,.1),rgba(203,132,65,.12),rgba(113,72,151,.14))}.market-effect-layer.fx-paper{background:linear-gradient(90deg,transparent,rgba(239,220,169,.09),transparent)}.market-effect-layer.fx-portal{background:radial-gradient(circle at 50% 50%,rgba(92,159,255,.28),rgba(145,78,211,.14) 22%,transparent 46%)}.market-effect-layer.fx-lever{background:repeating-linear-gradient(90deg,rgba(255,202,75,.08) 0 2px,transparent 2px 14px)}
.market-scene-canvas.has-stomachache{animation:marketBelly 5.8s ease-in-out infinite}@keyframes marketBelly{0%,82%,100%{filter:blur(var(--drunk-blur))}88%{filter:blur(calc(var(--drunk-blur) + .7px)) brightness(.98)}94%{filter:blur(var(--drunk-blur))}}
@media(max-width:680px){.market-surprise{width:19px;height:19px}.market-surprise::after{display:none}.market-effect-status{right:6px;bottom:28px;font-size:8px}}
@media(prefers-reduced-motion:reduce){.market-surprise,.market-surprise::before,.market-scene-canvas.has-stomachache{animation:none!important}}

/* ========================================================================
   7R Markets 1.25.0 · unified Nexus frame + stronger magical stall windows
   The market stays inside the shared 7R page shell. The top Nexus navigation
   remains visible and usable while a market is open.
   ======================================================================== */
.market-library-page .sevenr-page-frame-top{
  position:sticky;
  top:0;
  z-index:120;
}
.market-library-page.market-scene-open{
  overflow:hidden;
}
.market-library-page .market-scene-dialog{
  position:fixed;
  z-index:90;
  top:86px;
  left:clamp(8px,2vw,32px);
  right:clamp(8px,2vw,32px);
  bottom:14px;
  width:auto;
  max-width:none;
  height:auto;
  max-height:none;
  margin:0;
  border:1px solid rgba(232,185,82,.72);
  border-radius:18px;
  background:#080706;
  box-shadow:
    0 30px 90px rgba(0,0,0,.82),
    0 0 0 1px rgba(255,221,142,.08),
    0 0 34px rgba(210,151,34,.20),
    inset 0 0 0 1px rgba(255,226,158,.055);
}
.market-library-page .market-scene-dialog::backdrop{display:none}
.market-library-page .market-scene-shell{
  height:100%;
  display:flex;
  flex-direction:column;
  min-height:0;
  background:
    radial-gradient(circle at 50% -10%,rgba(210,151,34,.12),transparent 34%),
    linear-gradient(180deg,#110c08,#060606);
}
.market-library-page .market-scene-top{
  flex:0 0 auto;
  border-bottom-color:rgba(229,179,75,.38);
  box-shadow:0 8px 24px rgba(0,0,0,.34),inset 0 -1px rgba(255,220,139,.035);
}
.market-library-page .market-scene-viewport{
  flex:1 1 auto;
  min-height:0;
  aspect-ratio:auto;
  max-height:none;
}
.market-library-page .market-scene-vignette{
  box-shadow:inset 0 0 0 1px rgba(232,184,82,.11),inset 0 0 70px rgba(0,0,0,.28);
}

/* Market stall: stronger separation, premium frame and living magical light. */
.market-stall-panel{
  --stall-glow-rgb:229,177,74;
  border:1px solid rgba(var(--stall-glow-rgb),.86);
  outline:1px solid rgba(var(--stall-glow-rgb),.20);
  outline-offset:4px;
  background:
    radial-gradient(circle at 82% 0,rgba(var(--stall-glow-rgb),.10),transparent 30%),
    radial-gradient(circle at 12% 100%,rgba(var(--stall-glow-rgb),.07),transparent 28%),
    linear-gradient(135deg,rgba(20,15,10,.992),rgba(5,7,9,.992));
  box-shadow:
    0 34px 110px rgba(0,0,0,.90),
    0 0 0 2px rgba(var(--stall-glow-rgb),.08),
    0 0 28px rgba(var(--stall-glow-rgb),.30),
    0 0 70px rgba(var(--stall-glow-rgb),.12),
    inset 0 0 28px rgba(var(--stall-glow-rgb),.075);
  animation:marketStallAura 4.8s ease-in-out infinite;
}
.market-stall-panel::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:4;
  border-radius:inherit;
  pointer-events:none;
  background:
    radial-gradient(circle at 8% 12%,rgba(255,244,201,.82) 0 1px,transparent 2px),
    radial-gradient(circle at 92% 18%,rgba(var(--stall-glow-rgb),.80) 0 1px,transparent 2px),
    radial-gradient(circle at 88% 78%,rgba(255,239,185,.70) 0 1px,transparent 2px),
    radial-gradient(circle at 16% 88%,rgba(var(--stall-glow-rgb),.62) 0 1px,transparent 2px),
    linear-gradient(112deg,transparent 38%,rgba(255,239,188,0) 45%,rgba(255,239,188,.12) 49%,rgba(255,239,188,0) 53%,transparent 62%);
  background-size:auto,auto,auto,auto,220% 100%;
  background-position:center,center,center,center,-130% 0;
  box-shadow:inset 0 0 0 1px rgba(255,237,190,.09),inset 0 0 52px rgba(var(--stall-glow-rgb),.055);
  animation:marketStallShimmer 6.8s ease-in-out infinite;
}
.market-stall-panel::after{
  content:"";
  position:absolute;
  inset:6px;
  z-index:4;
  border:1px solid rgba(var(--stall-glow-rgb),.24);
  border-radius:12px;
  pointer-events:none;
  box-shadow:inset 0 0 16px rgba(var(--stall-glow-rgb),.055);
}
.market-stall-content,.market-stall-art,.market-stall-close{z-index:5}
.market-stall-art-glow{
  background:
    radial-gradient(circle at 75% 18%,rgba(var(--stall-glow-rgb),.22),transparent 18%),
    radial-gradient(circle at 30% 78%,rgba(255,225,153,.09),transparent 24%);
  box-shadow:inset 0 0 90px rgba(0,0,0,.48),inset -18px 0 34px rgba(var(--stall-glow-rgb),.075);
  animation:marketArtGlow 4.4s ease-in-out infinite;
}
.market-stall-art-glow::before{
  content:"";
  position:absolute;
  inset:-30%;
  background:linear-gradient(108deg,transparent 42%,rgba(255,239,193,.0) 47%,rgba(255,239,193,.18) 50%,rgba(255,239,193,0) 53%,transparent 58%);
  transform:translateX(-52%);
  animation:marketArtSweep 8.2s ease-in-out infinite;
}
.market-stall-art-glow::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 22%,rgba(255,244,205,.75) 0 1px,transparent 2px),
    radial-gradient(circle at 66% 31%,rgba(var(--stall-glow-rgb),.72) 0 1px,transparent 2px),
    radial-gradient(circle at 42% 69%,rgba(255,235,178,.58) 0 1px,transparent 2px),
    radial-gradient(circle at 81% 76%,rgba(var(--stall-glow-rgb),.66) 0 1px,transparent 2px);
  opacity:.42;
  animation:marketSparkTwinkle 3.1s ease-in-out infinite alternate;
}
.market-stall-close{
  z-index:9;
  pointer-events:auto;
  border-color:rgba(var(--stall-glow-rgb),.58);
  color:#f6ddb0;
  background:rgba(11,9,6,.92);
  box-shadow:0 0 18px rgba(var(--stall-glow-rgb),.13),inset 0 0 10px rgba(var(--stall-glow-rgb),.06);
}
.market-stall-close:hover,.market-stall-close:focus-visible{
  border-color:rgba(var(--stall-glow-rgb),.95);
  color:#fff4d2;
  box-shadow:0 0 24px rgba(var(--stall-glow-rgb),.30),inset 0 0 12px rgba(var(--stall-glow-rgb),.12);
  outline:none;
}
.market-stall-panel.style-alchemy{--stall-glow-rgb:145,118,255}
.market-stall-panel.style-tavern{--stall-glow-rgb:229,132,48}
.market-stall-panel.style-relics{--stall-glow-rgb:88,177,204}
.market-stall-panel.style-board{--stall-glow-rgb:208,166,90}
.market-stall-panel.style-cabinet{--stall-glow-rgb:160,108,210}
.market-stall-panel.style-cauldron{--stall-glow-rgb:239,108,42}
.market-stall-panel.style-counter{--stall-glow-rgb:232,151,55}
.market-stall-panel.style-wardrobe{--stall-glow-rgb:187,78,83}

@keyframes marketStallAura{
  0%,100%{box-shadow:0 34px 110px rgba(0,0,0,.90),0 0 0 2px rgba(var(--stall-glow-rgb),.08),0 0 24px rgba(var(--stall-glow-rgb),.23),0 0 58px rgba(var(--stall-glow-rgb),.09),inset 0 0 24px rgba(var(--stall-glow-rgb),.06)}
  50%{box-shadow:0 34px 110px rgba(0,0,0,.90),0 0 0 2px rgba(var(--stall-glow-rgb),.12),0 0 40px rgba(var(--stall-glow-rgb),.38),0 0 86px rgba(var(--stall-glow-rgb),.16),inset 0 0 34px rgba(var(--stall-glow-rgb),.10)}
}
@keyframes marketStallShimmer{
  0%,58%{background-position:center,center,center,center,-130% 0;opacity:.58}
  76%{background-position:center,center,center,center,130% 0;opacity:1}
  100%{background-position:center,center,center,center,130% 0;opacity:.62}
}
@keyframes marketArtGlow{0%,100%{opacity:.70}50%{opacity:1}}
@keyframes marketArtSweep{0%,60%{transform:translateX(-58%)}82%,100%{transform:translateX(58%)}}
@keyframes marketSparkTwinkle{0%{opacity:.22;filter:brightness(.8)}100%{opacity:.68;filter:brightness(1.45)}}

@media(max-width:860px){
  .market-library-page .market-scene-dialog{top:72px;left:6px;right:6px;bottom:7px;border-radius:13px}
}
@media(max-width:680px){
  .market-library-page .market-scene-dialog{width:auto;max-height:none}
  .market-stall-panel{outline-offset:2px}
}
@media(prefers-reduced-motion:reduce){
  .market-stall-panel,.market-stall-panel::before,.market-stall-art-glow,.market-stall-art-glow::before,.market-stall-art-glow::after{animation:none!important}
}
