:root{
  --bg:#f4f5f8;--surface:#fff;--surface2:#f8f8fb;--text:#171922;--muted:#747887;
  --line:#e7e8ee;--accent:#6257ff;--accent2:#7c73ff;--danger:#e84c4c;--success:#35b76f;
  --shadow:0 10px 30px rgba(23,25,34,.07);--shadow-lg:0 28px 90px rgba(23,25,34,.18);
  --radius:20px;--main_back:var(--bg);--second_back:var(--surface);--dop:var(--text);--onaccent:#fff;
}
*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{font-family:"Open Sans",system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}
body:before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(circle at 5% 0,rgba(98,87,255,.08),transparent 28%),radial-gradient(circle at 95% 8%,rgba(42,199,255,.07),transparent 24%)}
.hidden{position:absolute!important;left:-100000px!important;top:-100000px!important;width:1px!important;height:1px!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;overflow:hidden!important}
.desktop-bg,.backlogo{display:none}.logoblock{background:url('imgs/logo.svg') center/contain no-repeat}.bank-logo{height:18px;margin-top:4px}.yellow-load{fill:var(--text)}

/* Header */
.app-topbar{height:76px;max-width:1440px;margin:auto;padding:0 34px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(23,25,34,.06)}
.app-brand{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none}.app-brand-logo{width:44px;height:44px;background-size:contain}.app-brand-copy{display:flex;flex-direction:column;line-height:1}.app-brand-copy strong{font-size:19px;letter-spacing:-.04em}.app-brand-copy span{margin-top:6px;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.app-topbar-note{font-size:13px;color:var(--muted)}
.mainblock{width:min(1380px,calc(100% - 68px));margin:auto;padding:42px 0 90px}.workspace-intro{margin-bottom:24px}.workspace-intro .eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--accent);margin-bottom:8px}.workspace-intro h1{margin:0;font-size:clamp(36px,4vw,54px);line-height:1;letter-spacing:-.05em}.workspace-intro p{max-width:660px;margin:13px 0 0;font-size:15px;line-height:1.55;color:var(--muted)}

/* Wallet */
.money-block{width:100%;height:62px;overflow:hidden;margin-bottom:22px;padding:0 20px;background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);transition:height .25s ease,padding .25s ease}
.money-block.money-open{height:auto;min-height:340px;padding-bottom:20px}.money-title{height:60px;display:flex;align-items:center;gap:10px;font-size:14px;font-weight:750;cursor:pointer}.money-arr{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#f0f1f5;color:var(--muted);font-size:12px;transition:.2s}.money-floor{display:flex;gap:12px;margin:6px 0 14px}.bank-block{min-width:190px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface2)}.money-sum{font-size:20px;font-weight:800}.money-desc{font-size:11px;color:var(--muted);margin-top:2px}.add-bank{display:flex;gap:10px;margin:0 0 14px}.bank-input{width:min(300px,42%);padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text);outline:none}.bank-input:focus{border-color:rgba(98,87,255,.55);box-shadow:0 0 0 3px rgba(98,87,255,.10)}.privacy-block{width:100%;padding:12px 14px;margin-bottom:12px;border:1px solid var(--line);border-radius:12px;background:#fafafd;color:var(--muted);font-size:12px}.privacy-link{display:inline;color:var(--accent);cursor:pointer}.moneybtn,.btn{width:max-content;padding:11px 16px;border:0;border-radius:12px;background:var(--accent);color:#fff;font-weight:750;text-align:center;cursor:pointer;transition:.15s}.moneybtn:hover,.btn:hover{background:var(--accent2);transform:translateY(-1px)}.law-info-block{margin-top:14px;color:var(--muted);font-size:10px;line-height:1.45}

/* Desktop apps */
.icons-block{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:16px;width:100%}.appicon{width:auto;min-height:170px;margin:0;padding:12px 12px 14px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;cursor:pointer;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);transition:transform .17s ease,box-shadow .17s ease,border-color .17s ease}.appicon:hover{transform:translateY(-4px);border-color:rgba(98,87,255,.28);box-shadow:0 18px 42px rgba(23,25,34,.11)}.icon-img{width:100px;max-width:76%;aspect-ratio:1;background:transparent center/contain no-repeat;border-radius:22px;filter:drop-shadow(0 8px 12px rgba(23,25,34,.10));transition:.17s}.appicon:hover .icon-img{transform:scale(1.035)}#words .icon-img,#words .shop-icon{background-color:transparent}.icon-title{margin-top:9px;font-size:13px;line-height:1.25;font-weight:700;text-align:center;color:var(--text);user-select:none}.rebuy,.rebuy2,.rebuy3{display:flex;align-items:center;justify-content:center;border-radius:50%;font-weight:800}.rebuy{position:absolute;right:10px;top:10px;width:25px;height:25px;background:#fff0f0;border:1px solid #ffd4d4;color:#d73535}.rebuy2,.rebuy3{width:20px;height:20px;min-width:20px;margin-right:8px;color:#fff;font-size:11px}.rebuy2{background:var(--danger)}.rebuy3{background:var(--success)}

/* App window */
.window{position:fixed;left:50%;top:50%;z-index:99999;transform:translate(-50%,-50%);width:72px;height:72px;opacity:0;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-lg);transition:width .28s ease,height .28s ease,opacity .18s ease}.window:before{content:"";position:fixed;inset:-100vh -100vw;z-index:-2;background:rgba(18,20,29,.30);backdrop-filter:blur(3px);pointer-events:none}.window-header{position:sticky;top:0;z-index:20;height:64px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.window-title{font-size:17px;font-weight:800;letter-spacing:-.02em}.win-floor{display:flex;align-items:center;gap:8px}.window-close,.window-back{padding:9px 12px;border-radius:10px;font-size:12px;font-weight:700;cursor:pointer}.window-close{background:#f1f2f5;color:#555a68}.window-close:hover{background:#e8e9ee}.window-back{background:#efeeff;color:var(--accent)}.window-content{width:100%;padding:24px 26px 54px}.window::-webkit-scrollbar,body::-webkit-scrollbar{width:8px}.window::-webkit-scrollbar-track,body::-webkit-scrollbar-track{background:transparent}.window::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb{background:#d2d4dd;border-radius:99px}

/* Shop */
.shop-block{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.shop-stroke{width:auto!important;min-height:145px;margin:0!important;padding:17px!important;display:flex!important;align-items:center;gap:16px;color:var(--text)!important;background:#fff;border:1px solid var(--line)!important;border-radius:18px;cursor:pointer;transition:.16s}.shop-stroke:hover{transform:translateY(-2px);border-color:rgba(98,87,255,.28)!important;box-shadow:var(--shadow)}.shop-icon{width:72px!important;min-width:72px;aspect-ratio:1;margin:0!important;background:transparent center/contain no-repeat;border-radius:18px}.shop-info{width:auto!important;min-width:0;display:flex;flex-direction:column}.shop-title{font-size:15px;font-weight:800}.shop-desc{margin-top:5px;color:var(--muted);font-size:12px;line-height:1.45}.gamedata{display:flex;align-items:center;margin:5px 0!important;color:var(--muted);font-size:11px}.shop-btn{width:max-content!important;margin-top:10px;padding:7px 11px;border-radius:10px;background:var(--accent);color:#fff;font-size:11px;font-weight:750;text-align:center}.vitrina-block{width:100%;color:var(--text);cursor:default}.vitrina-header{display:flex;align-items:center;gap:14px;margin-bottom:22px;font-size:24px;font-weight:800}.vi-icon{width:68px;min-width:68px;aspect-ratio:1;background:center/contain no-repeat}.buy-block{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.buysub{display:flex;flex-wrap:wrap;gap:7px}.oldprice{position:relative}.price-line{position:absolute;left:0;top:50%;width:110%;border-bottom:1px solid currentColor;transform:rotate(160deg);opacity:.35}.oprice{opacity:.45}.vi-desc{display:flex;flex-direction:column;gap:14px;margin-bottom:20px}.vi-d{padding-bottom:12px;border-bottom:1px solid var(--line);font-size:16px}.vi-d2{color:var(--muted);line-height:1.5}.vit-imgs-block{width:100%;height:min(62vh,620px);padding:12px;display:-webkit-inline-box;gap:12px;overflow-x:auto;background:#f0f1f5;border-radius:18px}.vit-img{height:100%;aspect-ratio:9/16;background:center/cover no-repeat;border-radius:14px}

/* Game setup UI */
.ws-block,.gameset{color:var(--text)!important}.ws-block{display:flex;flex-direction:column;gap:12px}.ws-list{display:flex;flex-direction:column;gap:9px}.ws-stroke{display:flex;align-items:center;width:100%;margin:0!important;padding:14px 15px!important;background:#fff;border:1px solid var(--line);border-radius:14px;cursor:pointer;transition:.15s}.ws-stroke:hover{border-color:rgba(98,87,255,.30);box-shadow:0 6px 18px rgba(23,25,34,.05)}.ws-in{width:100%}.ws-del,.lot-del,.delallfacts,.delcolor,.img-reset{padding:7px 10px;border-radius:9px;background:#fff0f0!important;color:#d73535!important;cursor:pointer;font-size:11px}.ws-select,.sl-input,.area-input,.qrh-textarea,.wintext{width:100%;padding:11px 13px;border:1px solid var(--line)!important;border-radius:11px!important;background:#fff!important;color:var(--text)!important;outline:none!important;font:inherit}.ws-select:focus,.sl-input:focus,.area-input:focus,.qrh-textarea:focus,.wintext:focus{border-color:rgba(98,87,255,.55)!important;box-shadow:0 0 0 3px rgba(98,87,255,.09)!important}.ws-desc{display:flex;align-items:center;gap:10px;margin-bottom:10px;color:var(--muted);font-size:12px}.newws,.addnewfact,.delallfacts,.qrh-reset{display:inline-flex;align-items:center;justify-content:center}.ws-c-b{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;color:var(--text)}.ws-colors-block{position:relative;min-height:120px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff;font-size:12px}.color-picker-label{display:block;width:100%;height:56px;border-radius:11px;cursor:pointer}.color-input{position:absolute;opacity:0;pointer-events:none}.addss{display:flex;align-items:center;justify-content:center;gap:12px}.addss a,.qrdown{color:var(--accent)}.addnewcolorinroom{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer}.newcolorplus{width:34px;height:34px;margin-top:8px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#efeeff;color:var(--accent);font-weight:800}.ws-ingame-words{margin-top:15px;padding:13px;border:1px solid var(--line);border-radius:14px}.ws-ingame{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.ws-tag{display:flex;align-items:center;padding:6px 10px;border-radius:999px;background:#efeeff;color:var(--accent)}.ws-tag-del{margin-left:8px;color:#d73535;cursor:pointer}.ws-call-winners{display:inline-flex;padding:8px 11px;border-radius:10px;background:#eaf8f0;color:#218a50;cursor:pointer;font-size:12px}.newfact-block{display:flex;gap:8px;margin-left:0}.delallfactsfix{display:flex;gap:8px}.area-input{resize:vertical;min-height:54px}.qrh-showqr{width:100%;height:130px;margin:0 auto 12px;background:center/contain no-repeat;border:1px dashed var(--line);border-radius:12px}.qrh-textarea,.wintext{resize:vertical;min-height:70px}.qrh-reset{background:#efeeff;color:var(--accent);padding:8px 11px}.inpimg{height:58px;display:flex;align-items:center;justify-content:center;border:1px dashed var(--line);border-radius:12px;background:center/contain no-repeat;font-size:10px}.num0{opacity:0}.loading{width:44px;height:44px;margin:auto;animation:loading 1s linear infinite}@keyframes loading{to{transform:rotate(360deg)}}

/* Login / registration */
.totalblock{width:min(460px,calc(100% - 32px));margin:auto;padding:58px 0 90px}.logo-login{height:74px;margin-bottom:22px}.web-auth-box,.setlogin-block{width:100%;padding:27px;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.web-auth-title{font-size:29px;font-weight:800;letter-spacing:-.04em}.web-auth-desc{margin:8px 0 22px;color:var(--muted);font-size:14px;line-height:1.5}.auth-tabs{display:flex;gap:5px;padding:5px;margin-bottom:22px;background:#f0f1f5;border-radius:13px}.auth-tab{flex:1;padding:10px;border-radius:9px;text-align:center;color:var(--muted);font-size:13px;font-weight:700;cursor:pointer}.auth-tab.active{background:#fff;color:var(--text);box-shadow:0 3px 10px rgba(23,25,34,.08)}.sl-inputs{position:relative;margin-bottom:17px}.sl-label{position:static;display:block;margin-bottom:7px;padding:0;background:none;color:var(--text);font-size:12px;font-weight:700}.sl-input{font-size:15px}.auth-submit{width:100%;margin-top:5px}.auth-note{margin-top:15px;color:var(--muted);font-size:12px;line-height:1.45;text-align:center}.warning{min-height:20px;color:#d73535;font-size:12px}.sl-desk{text-align:center;color:var(--muted);margin-bottom:18px}.cancel{text-align:center;color:var(--muted);cursor:pointer}.link{color:var(--accent)}

/* Legacy content pages kept readable */
.prvacy-title{font-size:25px;font-weight:800;margin-bottom:20px}.privacy-text{margin-bottom:18px;line-height:1.6;color:#3f4350}.main-frame{position:absolute;left:50%;top:50%;width:50vw;height:50vh;transform:translate(-50%,-50%)}.wc-word,.wc-word2{position:absolute;user-select:none}.ws-qr{position:absolute}.forever,.sevendays,.realwinner,.backcolor,.secondcolor,.textcolor,.highcolor,.bordersize,.dinamicsize,.teamcolor,.selectcolor,.b-text{border-radius:10px}

@media(max-width:900px){.app-topbar{padding:0 18px}.app-topbar-note{display:none}.mainblock{width:calc(100% - 28px);padding-top:28px}.icons-block{grid-template-columns:repeat(3,minmax(0,1fr))}.shop-block{grid-template-columns:1fr}.ws-c-b{grid-template-columns:repeat(2,minmax(0,1fr))}.window-content{padding:18px 16px 45px}}
@media(max-width:620px){.mainblock{width:calc(100% - 22px)}.workspace-intro h1{font-size:36px}.workspace-intro p{font-size:13px}.icons-block{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.appicon{min-height:145px;padding:10px 10px 12px;border-radius:18px}.icon-img{width:82px;max-width:72%}.icon-title{margin-top:8px}.money-block.money-open{min-height:520px}.money-floor,.add-bank{flex-direction:column}.bank-block,.bank-input{width:100%}.window{border-radius:18px}.window-header{padding:0 14px}.window-title{font-size:14px}.shop-stroke{min-height:130px}.shop-icon{width:58px!important;min-width:58px}.totalblock{padding-top:30px}.web-auth-box,.setlogin-block{padding:22px}.delallfactsfix{flex-direction:column}}

/* ===== Modern game editor / Colors ===== */
.window:has(.game-editor){background:#f6f7fb!important}
.window:has(.game-editor) .window-content{background:#f6f7fb!important;padding:18px 22px 34px!important}
.game-editor{width:100%;max-width:1160px;margin:0 auto;color:var(--text)}
.ge-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin:4px 0 18px}
.ge-kicker{font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}
.ge-hero h2{margin:0 0 7px;font-size:30px;line-height:1.1;letter-spacing:-.04em}.ge-hero p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}
.ge-room-badge{padding:8px 12px;border-radius:999px;background:#efeeff;color:var(--accent);font-size:11px;white-space:nowrap}.ge-room-badge strong{font-weight:800;letter-spacing:.04em}
.ge-launch-card{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:0 5px 20px rgba(30,31,48,.045)}
.ge-launch-icon{width:38px;height:38px;min-width:38px;border-radius:11px;background:#efeeff;color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800}
.ge-launch-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.ge-launch-copy span{font-size:11px;color:var(--muted);font-weight:700}.ge-launch-copy a{font-size:13px;color:#292d3a;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ge-launch-copy a:hover{color:var(--accent)}
.ge-open-link{height:34px;padding:0 12px;border-radius:10px;background:var(--accent);color:#fff;text-decoration:none;font-size:11px;font-weight:800;line-height:34px;white-space:nowrap}
.ge-layout{display:flex!important;flex-direction:column!important;gap:14px!important;color:inherit!important}.ge-card{padding:18px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 5px 20px rgba(30,31,48,.04)}
.ge-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:15px}.ge-section-head h3{font-size:16px;margin:0 0 4px;letter-spacing:-.02em}.ge-section-head p{font-size:11px;margin:0;color:var(--muted)}.ge-counter{padding:5px 8px;border-radius:999px;background:#efeeff;color:var(--accent);font-size:10px;font-weight:800}
.ge-control-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.colors-editor .ws-colors-block.ge-control{min-height:72px!important;padding:11px!important;border:1px solid #efeff4!important;background:#f8f8fb!important;border-radius:14px!important;display:flex!important;align-items:center!important;gap:11px!important}
.ge-swatch{width:46px!important;height:46px!important;min-width:46px!important;margin:0!important;padding:0!important;border:3px solid #fff!important;border-radius:12px!important;box-shadow:0 0 0 1px #e2e3ea,0 3px 8px rgba(20,21,34,.08)}
.ge-color-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.ge-color-copy span,.ge-mode-copy span{font-size:11px;font-weight:700;color:#5b5f6e}.ge-color-copy code{font:10px ui-monospace,SFMono-Regular,Menlo,monospace;color:#989baa;text-transform:uppercase}
.ge-mode-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.ge-mode-copy strong{font-size:12px}.colors-editor .ge-mode .ws-select{width:auto!important;min-width:150px!important;margin-left:auto!important;background:#fff!important}
.ge-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.colors-editor .ws-colors-block.ge-team-card{min-height:118px!important;width:auto!important;margin:0!important;padding:13px!important;background:#f9f9fc!important;border:1px solid #ececf3!important;border-radius:15px!important}
.ge-team-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.ge-team-head>div:first-child{display:flex;align-items:baseline;gap:5px}.ge-team-head span{font-size:10px;color:var(--muted)}.ge-team-head strong{font-size:14px}.ge-team-head .delcolor{padding:5px 8px!important;border-radius:8px!important;font-size:9px!important}
.ge-color-row{display:flex;align-items:center;gap:11px}.ge-add-team{border-style:dashed!important;background:#fff!important}.ge-add-team .addnewcolorinroom{gap:4px!important;color:var(--text)}.ge-add-team .addnewcolorinroom strong{font-size:12px}.ge-add-team .addnewcolorinroom span{font-size:9px;color:var(--muted)}
@media(max-width:900px){.ge-control-grid,.ge-team-grid{grid-template-columns:1fr 1fr}.ge-hero{align-items:center}.ge-launch-card{flex-wrap:wrap}.ge-open-link{margin-left:50px}}
@media(max-width:560px){.ge-control-grid,.ge-team-grid{grid-template-columns:1fr}.ge-hero{flex-direction:column;gap:10px}.ge-room-badge{margin:0}.ge-open-link{margin-left:0}.ge-launch-copy a{font-size:11px}}

/* ===== WALLET / T-BANK REDESIGN ===== */
.money-block{
  height:78px;
  padding:0;
  overflow:hidden;
  border-radius:22px;
  background:rgba(255,255,255,.96);
  border:1px solid var(--line);
  box-shadow:0 10px 30px rgba(23,25,34,.06);
  transition:max-height .34s ease,box-shadow .2s ease,border-color .2s ease;
  max-height:78px;
}
.money-block.money-open{
  height:auto;
  min-height:0;
  max-height:760px;
  padding:0;
  border-color:rgba(98,87,255,.18);
  box-shadow:0 20px 60px rgba(23,25,34,.09);
}
.money-title{
  height:78px;
  padding:0 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  cursor:pointer;
  user-select:none;
  outline:none;
}
.money-title:focus-visible{box-shadow:inset 0 0 0 3px rgba(98,87,255,.15)}
.wallet-title-left{display:flex;align-items:center;gap:13px;min-width:0}
.wallet-icon{
  width:42px;height:42px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  background:#efeeff;color:var(--accent);font-size:20px;font-weight:850;flex:none;
}
.wallet-title-text{font-size:15px;font-weight:800;line-height:1.15}
.wallet-collapsed-summary{display:flex;align-items:center;gap:8px;margin-top:5px;color:var(--muted);font-size:12px;white-space:nowrap}
.wallet-dot{opacity:.45}
.money-arr{
  width:38px;height:38px;padding:0;margin:0;display:flex;align-items:center;justify-content:center;
  border-radius:12px;background:#f1f2f6;color:#555a68;font-size:20px;font-weight:700;transition:transform .22s ease,background .15s ease,color .15s ease;
}
.money-title:hover .money-arr{background:#ebeaff;color:var(--accent)}
.money-open .money-arr{transform:rotate(180deg);background:#efeeff;color:var(--accent)}
.wallet-content{padding:0 20px 22px;border-top:1px solid var(--line)}
.money-floor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 24px}
.bank-block{min-width:0;padding:18px;border:1px solid var(--line);border-radius:17px;background:#fafafd;align-items:flex-start}
.bank-main{background:#fafafd}.bank-bonus{background:#f7f6ff;border-color:#e5e2ff}
.money-sum{margin-top:5px;font-size:26px;font-weight:850;letter-spacing:-.03em;color:var(--text)}
.money-desc{font-size:12px;color:var(--muted)}
.wallet-form-title{margin-bottom:11px;font-size:14px;font-weight:800;color:var(--text)}
.add-bank{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(180px,.8fr);gap:12px;margin:0 0 14px}
.wallet-field{display:flex;flex-direction:column;gap:7px;color:var(--muted);font-size:11px;font-weight:700}
.bank-input{width:100%;height:48px;padding:0 14px;border-radius:13px;background:#fff;color:var(--text);font-size:14px;text-align:left}
.wallet-amount-wrap{position:relative}.wallet-amount-wrap .bank-input{padding-right:42px}.wallet-currency{position:absolute;right:15px;top:50%;transform:translateY(-50%);color:var(--muted);font-weight:700;font-size:14px;pointer-events:none}
.privacy-block{
  display:flex;align-items:flex-start;gap:10px;width:100%;margin:0 0 16px;padding:13px 14px;
  border:1px solid var(--line);border-radius:13px;background:#fafafd;color:var(--muted);font-size:12px;line-height:1.45;text-align:left;cursor:pointer;
}
.privacy-block input{margin-top:2px;accent-color:var(--accent);width:16px;height:16px;flex:none}
.privacy-link{display:inline;color:var(--accent);border:0;text-decoration:none;cursor:pointer}
.privacy-link:hover{text-decoration:underline}
.wallet-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.moneybtn{
  min-width:230px;height:52px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:10px;
  border-radius:14px;background:var(--accent);color:#fff;font-size:14px;font-weight:800;line-height:1;box-shadow:0 10px 24px rgba(98,87,255,.20);
}
.moneybtn:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(98,87,255,.25)}
.bank-logo{height:20px;margin:0;filter:none}
.wallet-secure{font-size:11px;color:var(--muted)}
.law-info-block{width:100%;margin-top:17px;padding-top:14px;border-top:1px solid var(--line);font-size:10px;color:#989baa;line-height:1.45}
@media(max-width:620px){
  .money-block{max-height:74px;height:74px}.money-title{height:74px;padding:0 14px}.wallet-icon{width:38px;height:38px;border-radius:12px}.wallet-collapsed-summary{font-size:11px}.money-arr{width:36px;height:36px}
  .wallet-content{padding:0 14px 18px}.money-floor{grid-template-columns:1fr;margin-top:14px}.add-bank{grid-template-columns:1fr}.moneybtn{width:100%;min-width:0}.wallet-actions{align-items:stretch}.wallet-secure{width:100%;text-align:center}
  .money-block.money-open{max-height:900px}
}


/* Header account / compact identity */
.app-account{display:flex;align-items:center;gap:10px;min-width:0}
.app-account-login{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;color:var(--text);padding:9px 12px;background:rgba(255,255,255,.72);border:1px solid var(--line);border-radius:12px}
.app-logout{appearance:none;border:0;background:#f1f2f5;color:#555a68;padding:9px 13px;border-radius:11px;font:inherit;font-size:12px;font-weight:750;cursor:pointer;transition:.15s}
.app-logout:hover{background:#e8e9ee;color:var(--text)}
@media(max-width:620px){.app-brand-copy span{display:none}.app-brand-logo{width:36px;height:36px}.app-account{gap:6px}.app-account-login{max-width:145px;padding:8px 9px;font-size:11px}.app-logout{padding:8px 9px;font-size:11px}}

/* ===== COMMERCE / DEMO / PROMO ===== */
.app-admin-link{padding:8px 11px;border-radius:10px;background:#efeeff;color:var(--accent);text-decoration:none;font-size:12px;font-weight:800}
.promo-redeem{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fafafd;display:grid;grid-template-columns:minmax(180px,1fr) minmax(280px,1.4fr);gap:12px 18px;align-items:center}
.promo-redeem-copy{display:flex;flex-direction:column;gap:3px}.promo-redeem-copy strong{font-size:14px}.promo-redeem-copy span{font-size:11px;color:var(--muted)}
.promo-redeem-form{display:flex;gap:8px}.promo-redeem-form input{flex:1;min-width:0;padding:11px 13px;border:1px solid var(--line);border-radius:11px;background:#fff;font:inherit;text-transform:uppercase;outline:none}.promo-redeem-form input:focus{border-color:rgba(98,87,255,.55);box-shadow:0 0 0 3px rgba(98,87,255,.09)}
.promo-redeem-status{grid-column:1/-1;min-height:16px;font-size:12px;font-weight:700;color:var(--accent)}
.shop-packages{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:24px}.shop-package{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow)}.shop-package.featured{border-color:#dcd8ff;background:#faf9ff}.shop-package>div{display:flex;flex-direction:column;gap:4px}.shop-package strong{font-size:22px}.shop-package span{font-size:12px;color:var(--muted)}.shop-package-kicker{font-size:10px!important;letter-spacing:.14em;font-weight:900;color:var(--accent)!important}.package-buy{min-width:120px;font-size:14px!important}
.shop-section-title{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin:0 0 12px}.shop-section-title strong{font-size:18px}.shop-section-title span{font-size:12px;color:var(--muted)}
.buy-block{align-items:stretch!important}.buysub{min-height:58px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;padding:11px 18px!important}.buysub span{font-size:11px;opacity:.86}.buysub strong{font-size:18px}.demo-start{background:#fff!important;color:var(--accent)!important;border:1px solid #dcd8ff!important}.demo-start small{font-size:10px;color:var(--muted);font-weight:600}
@media(max-width:760px){.promo-redeem{grid-template-columns:1fr}.promo-redeem-form{flex-direction:column}.shop-packages{grid-template-columns:1fr}.shop-section-title{align-items:flex-start;flex-direction:column}.app-admin-link{display:inline-flex}}

/* ===== Mobile hotfix 2026-09-29: admin + shop modal ===== */
@media(max-width:760px){
  .app-admin-link{display:inline-flex!important;align-items:center;justify-content:center;padding:8px 9px;font-size:11px;white-space:nowrap}
  /* iOS Safari may paint the fixed negative-z pseudo-element over AJAX content. */
  .window:before{display:none!important;content:none!important}
  .window{background:#fff!important;color:var(--text)!important}
  .window-content{position:relative;z-index:1;background:#fff!important;color:var(--text)!important;min-height:calc(100% - 64px)}
  .shop-packages,.shop-block,.shop-section-title,.vitrina-block,.buy-block{position:relative;z-index:2;opacity:1!important;visibility:visible!important}
  .shop-package,.shop-stroke{background:#fff!important;color:var(--text)!important;opacity:1!important;visibility:visible!important}
  .shop-package{flex-direction:column;align-items:stretch!important;padding:17px!important}
  .shop-package .package-buy{width:100%!important;min-width:0;margin-top:8px}
  .shop-title,.shop-desc,.shop-package strong,.shop-package span,.shop-section-title{opacity:1!important;visibility:visible!important}
}
@media(max-width:620px){
  .app-topbar{padding:0 10px!important;gap:8px}
  .app-brand{gap:7px}.app-brand-logo{width:32px;height:32px}.app-brand-copy strong{font-size:16px}
  .app-account{gap:4px}.app-admin-link{font-size:10px;padding:7px 7px}.app-account-login{max-width:72px;padding:7px 7px}.app-logout{padding:7px 7px}
}

/* ===== GLOBAL MODAL BACKDROP FIX 2026-09-29 =====
   The old .window::before used a huge fixed pseudo-element inside a transformed,
   scrollable modal. Browsers treated it as scrollable content, creating the
   large grey empty area and horizontal scrollbar in every game window. */
.window::before,
.window:before{
  content:none!important;
  display:none!important;
}
.window{
  overflow-x:hidden!important;
  background:#fff!important;
  box-shadow:
    0 32px 100px rgba(28,30,52,.22),
    0 0 0 100vmax rgba(18,20,29,.30)!important;
}
.window-content{
  min-height:0!important;
}

/* Memo room editor */
.memo-editor{color:#20212c;max-width:1050px;margin:0 auto;padding:6px 2px 24px;font-family:inherit}.memo-top{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px}.memo-top h2{font-size:30px;line-height:1.15;margin:5px 0 9px;font-weight:800}.memo-top p,.memo-section-head p{color:#777b8a;font-size:14px;line-height:1.5;margin:0}.memo-eyebrow{font-size:11px;letter-spacing:2px;font-weight:800;color:#7462ec}.memo-screen-link,.memo-upload-button,.memo-folder-button{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border-radius:13px;padding:12px 17px;font-size:14px;font-weight:750;text-decoration:none;white-space:nowrap}.memo-screen-link{color:#fff!important;background:#6d5de7}.memo-panel{background:#fff;border:1px solid #e9e9f1;border-radius:20px;padding:24px;margin-bottom:16px;box-shadow:0 4px 24px rgba(25,22,75,.035)}.memo-section-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:20px}.memo-section-head h3{font-size:21px;font-weight:800;margin:0 0 5px}.memo-counter{background:#f2efff;color:#6c58d6;padding:9px 13px;border-radius:11px;white-space:nowrap}.memo-upload-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.memo-upload-button{background:#6d5de7;color:#fff}.memo-folder-button{background:#f4f2ff;color:#6353d2}.memo-dropzone{border:2px dashed #d8d5ed;border-radius:15px;padding:23px;text-align:center;color:#858498;background:#fafaff;font-size:14px;transition:.2s}.memo-dropzone.is-dragging{background:#efecff;border-color:#7664e7}.memo-progress{font-size:13px;color:#6d5de7;min-height:19px;margin:8px 0}.memo-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:12px}.memo-tile{position:relative;aspect-ratio:1;border-radius:13px;overflow:hidden;border:1px solid #e8e7ef;background:#f6f6fa}.memo-tile img{width:100%;height:100%;object-fit:cover;display:block}.memo-tile>span{position:absolute;bottom:6px;left:7px;color:#fff;background:#242433aa;border-radius:7px;padding:2px 7px;font-size:11px}.memo-remove{position:absolute;top:6px;right:6px;width:28px;height:28px;border:0;border-radius:9px;background:#fff;color:#d3415d;font-size:23px;line-height:1;cursor:pointer;box-shadow:0 2px 9px #0002}.memo-colors{display:flex;flex-wrap:wrap;gap:12px}.memo-color-item{display:flex;align-items:center;gap:12px;border:1px solid #e9e8ef;border-radius:13px;padding:12px 16px;font-size:14px;font-weight:650}.memo-color-item input{width:42px;height:38px;border:0;background:none;cursor:pointer}.memo-color-preview{display:flex;gap:12px;justify-content:center;padding:20px;margin-top:17px;border-radius:14px;border:1px solid #ecebf2}.memo-color-preview div{height:68px;width:68px;display:grid;place-items:center;border-radius:9px;font-weight:800;font-size:24px}@media(max-width:650px){.memo-top{flex-direction:column;align-items:stretch}.memo-panel{padding:16px}.memo-top h2{font-size:25px}.memo-image-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

.memo-grid-options{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}.memo-grid-choice{background:#f7f7fb;border:1px solid #dedeea;border-radius:15px;padding:15px 22px;font-weight:800;font-size:18px;cursor:pointer;color:#242438}.memo-grid-choice small{display:block;font-weight:500;font-size:12px;margin-top:5px}.memo-grid-choice.is-active{background:#f0ecff;border:2px solid #7655ea;color:#5b3dc7}.memo-grid-warning{border-radius:12px;background:#fff4e5;padding:14px;color:#754600;font-weight:600}.memo-grid-warning.is-ready{background:#eaf8ee;color:#22673d}.memo-screen-link.is-disabled{opacity:.45;pointer-events:none}

.app-shop-link{margin-left:auto;margin-right:14px;background:#f0eeff;color:#5847d6;border:1px solid #dfdbff;border-radius:12px;padding:10px 16px;font:inherit;font-weight:800;cursor:pointer;white-space:nowrap}.app-shop-link:hover{background:#e6e1ff}@media(max-width:620px){.app-shop-link{padding:8px 10px;font-size:12px;margin-right:6px}}

/* Legal acknowledgments: registration only, separate, unchecked by default */
.legal-registration{margin:16px 0 10px;padding:0;max-width:100%}
.legal-check{display:flex;align-items:flex-start;gap:11px;padding:12px 13px;margin:9px 0;border-radius:13px;border:1px solid #e8e9f1;background:#fafaff;font-size:13px;line-height:1.5;color:#34374b;text-align:left;cursor:pointer}
.legal-check input{flex:0 0 auto;width:18px;height:18px;accent-color:#665bff;margin:1px 0 0}
.legal-check a,.legal-policy-hint a,.legal-auth-footer a{color:#6458ec;text-decoration:underline;text-underline-offset:2px}
.legal-policy-hint{margin:8px 4px;color:#697187;font-size:12px;line-height:1.5}
.legal-auth-footer{max-width:570px;margin:17px auto;padding:10px;display:flex;flex-wrap:wrap;gap:11px 16px;justify-content:center;font-size:11px;line-height:1.6}
.legal-cabinet-footer{max-width:1080px;margin:20px auto;padding:15px;display:flex;flex-wrap:wrap;justify-content:center;gap:13px;font-size:11px}
.legal-cabinet-footer a{color:#6f7386;text-decoration:underline}

/* IGRALOVO shop stories and event photography · 2026-10-16 */
.shop-block{align-items:stretch!important;gap:17px!important}
.shop-block .shop-stroke{
  position:relative;display:flex!important;flex-direction:column!important;align-items:stretch!important;
  padding:0!important;margin:0!important;gap:0!important;min-height:0!important;
  overflow:hidden;border-radius:20px!important;border:1px solid #e8eaf0!important;
  background:#fff!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.shop-block .shop-stroke:hover{transform:translateY(-3px);box-shadow:0 16px 42px rgba(33,33,60,.13);border-color:#c9c6f7!important}
.shop-card-media{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#171b33}
.shop-card-media>img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .4s ease}
.shop-stroke:hover .shop-card-media>img{transform:scale(1.035)}
.shop-card-media:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(18,17,44,.65));pointer-events:none}
.shop-card-icon{position:absolute;top:12px;left:12px;width:44px;height:44px;z-index:1;border-radius:13px;background:#fff center / 78% no-repeat;box-shadow:0 2px 14px #13112630}
.shop-card-kicker{position:absolute;left:15px;bottom:14px;right:14px;z-index:1;font-size:13px;line-height:1.32;color:#fff;font-weight:800;text-shadow:0 1px 8px #0809178a}
.shop-block .shop-info{width:100%!important;min-width:0!important;display:flex;align-items:flex-start;flex-direction:column;flex:1;padding:17px 18px 19px;gap:0}
.shop-block .shop-title{font-size:19px;line-height:1.25;letter-spacing:-.025em;font-weight:850}
.shop-block .shop-desc{font-size:13px;line-height:1.55;margin-top:9px;color:#636978;max-width:62ch}
.shop-block .shop-info .gamedata{margin-top:8px!important}
.shop-block .shop-btn{margin-top:auto;align-self:flex-start;min-width:112px;font-size:12px;line-height:1.4;padding:10px 15px;border-radius:11px;background:#6054f6;color:#fff}
.shop-block .shop-info>.shop-desc+.shop-btn{margin-top:16px}
.shop-detail-v2{width:100%;max-width:100%;padding:0 0 18px}
.shop-detail-v2 .vitrina-header{margin-bottom:15px}
.shop-detail-v2 .vi-title{font-size:clamp(22px,3vw,33px);line-height:1.1;letter-spacing:-.04em}
.shop-detail-v2 .buy-block{margin:0 0 24px;gap:9px}
.shop-detail-v2 .buy-block .btn{border-radius:13px}
.shop-scene{position:relative;margin:0 0 26px;width:100%;overflow:hidden;border-radius:19px;background:#111529;aspect-ratio:16/9;max-height:62vh}
.shop-scene img{display:block;width:100%;height:100%;object-fit:cover}
.shop-scene:after{content:"";position:absolute;bottom:0;left:0;right:0;height:42%;background:linear-gradient(transparent,rgba(12,13,24,.70));pointer-events:none}
.shop-scene figcaption{position:absolute;left:20px;right:20px;bottom:18px;z-index:1;color:#fff;font-size:clamp(13px,1.7vw,19px);line-height:1.32;font-weight:850;text-shadow:0 2px 10px #0008}
.shop-story{width:100%;margin-top:18px}
.shop-story-eyebrow{color:#6054f6;font-size:11px;letter-spacing:.14em;font-weight:850}
.shop-story h3{font-size:clamp(21px,2.6vw,29px);line-height:1.23;letter-spacing:-.04em;font-weight:850;color:#1b1c2b;margin:9px 0 21px}
.shop-story-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 18px}
.shop-story-step{display:flex;align-items:flex-start;gap:9px;padding:17px 14px;border-radius:15px;background:#f6f6fc;border:1px solid #ebeaf6;min-width:0}
.shop-story-number{display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border-radius:9px;background:#e6e2ff;color:#6154d6;font-size:12px;font-weight:900}
.shop-story-step strong{display:block;font-size:13px;font-weight:850;color:#24233a;line-height:1.35}
.shop-story-step p{font-size:12px;line-height:1.55;color:#6e7183;margin:7px 0 0}
.shop-story-benefits{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 22px}
.shop-story-benefits span{padding:9px 11px;background:#eeeefd;color:#544ab0;border-radius:100px;font-size:11px;line-height:1.35;font-weight:750}
.shop-story-where{padding:17px 19px;border:1px solid #e8eaf1;border-radius:15px;background:#fff;margin-bottom:22px}
.shop-story-where strong{display:block;font-size:13px;color:#252537}
.shop-story-where p{font-size:13px;color:#727688;margin:6px 0 0;line-height:1.5}
.shop-gallery-heading{font-size:14px;color:#2a2a3c;font-weight:850;margin:25px 0 12px}
.shop-detail-v2 .vit-imgs-block{display:flex;gap:12px;width:100%;height:auto;max-height:none;padding:0;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;border-radius:0;background:transparent;scrollbar-width:thin}
.shop-gallery-link{display:block;width:min(48%,360px);min-width:min(48%,280px);aspect-ratio:4/3;overflow:hidden;border-radius:13px;background:#f4f4f8;scroll-snap-align:start}
.shop-gallery-link img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s ease}
.shop-gallery-link:hover img{transform:scale(1.03)}
@media(max-width:900px){.shop-story-steps{grid-template-columns:1fr;gap:8px}.shop-story-step{padding:14px}.shop-scene{max-height:unset}}
@media(max-width:620px){.shop-block{grid-template-columns:1fr!important}.shop-card-media{aspect-ratio:16/9}.shop-block .shop-info{padding:15px}.shop-block .shop-title{font-size:18px}.shop-scene{border-radius:14px}.shop-scene figcaption{left:14px;right:14px;bottom:13px}.shop-gallery-link{min-width:76%;width:76%}}

/* SHOP 2026-10-17: secondary gallery intentionally removed from ALL game details.
   Safety net for previously cached HTML. Main photo .shop-scene is unaffected. */
.shop-detail-v2 .shop-gallery-heading,
.shop-detail-v2 .vit-imgs-block,
.shop-detail-v2 .shop-gallery-link { display: none !important; }

/* Shop card: click on the dimmed area outside a detail to return to the catalog. */
.shop-detail-backdrop:not(.hidden){
  position:fixed;
  inset:0;
  z-index:99998;
  cursor:pointer;
  background:transparent;
  touch-action:manipulation;
}

/* ===== SHOP COMPACT 2026-10-17 =====
   Shop catalog and game details only. Other application windows are unchanged.
   Keep real-size rendering and scrolling (no transform/zoom hacks). */
@media (min-width: 761px) {
  :is(.window:has(.shop-packages), .window:has(.shop-detail-v2)) {
    width: min(944px, calc(100vw - 32px)) !important; /* 1180 -> 944 (-20%) */
    max-height: 90vh !important;                      /* keep compact width, use more screen height */
    max-height: 90dvh !important;
    border-radius: 19px;
  }
  :is(.window:has(.shop-packages), .window:has(.shop-detail-v2)) .window-header {
    height: 51px;
    padding: 0 18px;
  }
  :is(.window:has(.shop-packages), .window:has(.shop-detail-v2)) .window-title {font-size:14px}
  :is(.window:has(.shop-packages), .window:has(.shop-detail-v2)) .window-back,
  :is(.window:has(.shop-packages), .window:has(.shop-detail-v2)) .window-close {
    padding: 7px 10px;
    font-size: 11px;
    border-radius: 8px;
  }
  :is(.window:has(.shop-packages), .window:has(.shop-detail-v2)) .window-content {
    padding: 19px 21px 43px;
  }
  .window .shop-packages {gap:11px;margin-bottom:19px}
  .window .shop-package {gap:13px;padding:16px;border-radius:16px}
  .window .shop-package>div {gap:3px}
  .window .shop-package strong {font-size:18px}
  .window .shop-package span {font-size:11px}
  .window .shop-package-kicker {font-size:9px!important}
  .window .shop-package .package-buy {font-size:12px!important;min-width:96px;padding:9px 13px;border-radius:10px}
  .window .shop-section-title {gap:12px;margin-bottom:10px}
  .window .shop-section-title strong {font-size:15px}
  .window .shop-section-title span {font-size:11px}
  .window .shop-block {gap:14px!important}
  .window .shop-block .shop-stroke {border-radius:16px!important}
  .window .shop-card-icon {width:36px;height:36px;left:10px;top:10px;border-radius:10px}
  .window .shop-card-kicker {font-size:11px;bottom:11px;left:12px;right:11px}
  .window .shop-block .shop-info {padding:14px 15px 15px}
  .window .shop-block .shop-title {font-size:16px}
  .window .shop-block .shop-desc {font-size:11px;line-height:1.5;margin-top:7px}
  .window .shop-block .shop-info .gamedata {font-size:10px;margin-top:6px!important}
  .window .shop-block .shop-btn {font-size:11px;min-width:90px;padding:8px 12px;border-radius:9px}
  .window .shop-block .shop-info>.shop-desc+.shop-btn {margin-top:13px}
  .window .shop-detail-v2 {padding-bottom:14px}
  .window .shop-detail-v2 .vitrina-header {margin-bottom:12px;gap:11px}
  .window .shop-detail-v2 .vi-icon {width:54px;min-width:54px}
  .window .shop-detail-v2 .vi-title {font-size:clamp(18px,2.4vw,26px)}
  .window .shop-detail-v2 .gamedata {font-size:10px}
  .window .shop-detail-v2 .buy-block {gap:7px;margin-bottom:19px}
  .window .shop-detail-v2 .buy-block .btn {border-radius:10px}
  .window .shop-detail-v2 .buysub {min-height:46px!important;padding:9px 14px!important;gap:2px!important}
  .window .shop-detail-v2 .buysub span {font-size:10px}
  .window .shop-detail-v2 .buysub strong {font-size:15px}
  .window .shop-detail-v2 .demo-start small {font-size:10px}
  .window .shop-detail-v2 .shop-scene {margin-bottom:21px;border-radius:15px;max-height:50vh}
  .window .shop-detail-v2 .shop-scene figcaption {font-size:clamp(12px,1.35vw,15px);left:16px;right:16px;bottom:14px}
  .window .shop-detail-v2 .shop-story {margin-top:14px}
  .window .shop-detail-v2 .shop-story-eyebrow {font-size:10px}
  .window .shop-detail-v2 .shop-story h3 {font-size:clamp(18px,2.1vw,23px);margin:7px 0 17px}
  .window .shop-detail-v2 .shop-story-steps {gap:8px;margin-bottom:14px}
  .window .shop-detail-v2 .shop-story-step {gap:7px;padding:13px 11px;border-radius:12px}
  .window .shop-detail-v2 .shop-story-number {width:23px;height:23px;flex-basis:23px;border-radius:7px;font-size:11px}
  .window .shop-detail-v2 .shop-story-step strong {font-size:11px}
  .window .shop-detail-v2 .shop-story-step p {font-size:11px;margin-top:6px}
  .window .shop-detail-v2 .shop-story-benefits {gap:6px;margin-bottom:18px}
  .window .shop-detail-v2 .shop-story-benefits span {padding:7px 9px;font-size:10px}
  .window .shop-detail-v2 .shop-story-where {padding:14px 15px;border-radius:12px;margin-bottom:18px}
  .window .shop-detail-v2 .shop-story-where strong {font-size:11px}
  .window .shop-detail-v2 .shop-story-where p {font-size:11px;margin-top:5px}
}

/* Phones/tablets: keep a comfortably readable and clickable shop. */
@media (max-width: 760px) {
  :is(.window:has(.shop-packages), .window:has(.shop-detail-v2)) {
    width: min(94vw, 580px) !important;
    max-height: 82vh !important;
    max-height: 82dvh !important;
  }
  :is(.window:has(.shop-packages), .window:has(.shop-detail-v2)) .window-content {padding:15px 13px 34px}
  :is(.window:has(.shop-packages), .window:has(.shop-detail-v2)) .window-header {height:54px}
  .window .shop-package {padding:14px!important;border-radius:15px}
  .window .shop-packages {gap:10px;margin-bottom:18px}
  .window .shop-card-kicker {font-size:12px}
  .window .shop-block {gap:12px!important}
  .window .shop-block .shop-info {padding:14px}
  .window .shop-block .shop-title {font-size:17px}
  .window .shop-block .shop-desc {font-size:12px}
  .window .shop-detail-v2 .vi-title {font-size:clamp(20px,5vw,27px)}
  .window .shop-detail-v2 .shop-story h3 {font-size:20px}
  .window .shop-detail-v2 .shop-story-step strong {font-size:13px}
  .window .shop-detail-v2 .shop-story-step p {font-size:12px}
}


/* SHOP DETAILS: title on the left, access and purchases aligned to the right.
   Scoped to shop-detail-v2 so catalogue/package/game windows stay unchanged. */
.window .shop-detail-v2 .shop-detail-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  width:100%;
  min-width:0;
  margin-bottom:16px;
}
.window .shop-detail-v2 .shop-detail-heading {
  display:flex;
  align-items:center;
  flex:1 1 auto;
  min-width:0;
  gap:11px;
}
.window .shop-detail-v2 .shop-detail-heading .vi-title {
  min-width:0;
  overflow-wrap:anywhere;
}
.window .shop-detail-v2 .shop-detail-actions {
  display:flex;
  flex:0 1 auto;
  min-width:0;
  flex-direction:column;
  align-items:flex-end;
  gap:5px;
  margin-left:auto;
}
.window .shop-detail-v2 .shop-detail-access {
  display:flex;
  justify-content:flex-end;
  width:100%;
  min-height:0;
}
.window .shop-detail-v2 .shop-detail-access .gamedata {
  justify-content:flex-end;
  text-align:right;
  margin:0!important;
  gap:5px;
  white-space:normal;
  line-height:1.25;
}
.window .shop-detail-v2 .shop-detail-actions .buy-block {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:nowrap;
  gap:7px;
  margin:0!important;
  width:auto;
}
.window .shop-detail-v2 .shop-detail-actions .buysub {
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  white-space:nowrap;
  min-height:45px;
  padding:8px 12px!important;
}
.window .shop-detail-v2 .shop-detail-actions .demo-start {
  white-space:normal;
}
.window .shop-detail-v2 .shop-detail-actions .demo-start span,
.window .shop-detail-v2 .shop-detail-actions .demo-start small {
  display:block;
  white-space:normal;
}
/* Keep titles and buttons readable when there is no room for one line. */
@media(max-width:900px) {
  .window .shop-detail-v2 .shop-detail-header {
    flex-wrap:wrap;
    align-items:flex-start;
  }
  .window .shop-detail-v2 .shop-detail-heading {
    flex-basis:100%;
  }
  .window .shop-detail-v2 .shop-detail-actions {
    flex-basis:100%;
    align-items:flex-end;
  }
}
@media(max-width:620px) {
  .window .shop-detail-v2 .shop-detail-header {gap:10px;margin-bottom:15px}
  .window .shop-detail-v2 .shop-detail-actions .buy-block {flex-wrap:wrap;gap:6px}
  .window .shop-detail-v2 .shop-detail-actions .buysub {min-height:42px;padding:8px 10px!important}
}


/* Store game carousel — visible only while a game's detail is open. */
.shop-carousel-arrow {
    position: fixed;
    z-index: 100001;
    width: 42px;
    height: 48px;
    padding: 0 0 3px;
    transform: translateY(-50%);
    border: 1px solid rgba(92, 83, 177, .18);
    border-radius: 13px;
    background: rgba(255, 255, 255, .90);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 3px 18px rgba(23, 21, 65, .18);
    color: #5946da;
    font: 700 31px/1 system-ui, -apple-system, sans-serif;
    text-align: center;
    cursor: pointer;
    touch-action: manipulation;
    transition: background .15s, color .15s, box-shadow .15s;
}
.shop-carousel-arrow[hidden] { display: none !important; }
.shop-carousel-arrow:hover { background: #6655f0; color: #fff; box-shadow: 0 5px 20px rgba(40, 30, 95, .25); }
.shop-carousel-arrow:focus-visible { outline: 3px solid #9385ff; outline-offset: 2px; }
@media (max-width:620px) {
    .shop-carousel-arrow { width:36px; height:44px; font-size:27px; border-radius:11px; }
}

/* 2026-10-17: Accessible, compact owned-game hints (also usable on touch). */
.appicon .game-tile-info{
  position:absolute;top:9px;left:9px;z-index:3;display:grid;place-items:center;
  width:27px;height:27px;border:1px solid #dbd8ff;border-radius:50%;
  padding:0;background:#f4f2ff;color:#6257ff;font:800 13px/1 "Open Sans",system-ui,sans-serif;
  box-shadow:0 2px 8px #1b164016;cursor:pointer;transition:background .15s,color .15s;
  -webkit-tap-highlight-color:transparent;
}
.appicon .game-tile-info:hover,.appicon .game-tile-info:focus-visible,
.appicon .game-tile-info[aria-expanded="true"]{background:#6257ff;color:#fff;outline:2px solid #ddd9ff;outline-offset:2px}
.appicon:has(.rebuy) .game-tile-info{left:9px;right:auto}
.game-tile-hint{
  position:fixed;z-index:999999;box-sizing:border-box;width:min(296px,calc(100vw - 20px));
  display:flex;flex-direction:column;gap:5px;pointer-events:none;
  padding:13px 15px;border:1px solid #e1dfff;border-radius:15px;
  background:#fff;color:#25243b;box-shadow:0 13px 35px rgba(22,21,48,.20);
  text-align:left;font:500 12px/1.45 "Open Sans",system-ui,sans-serif;
}
.game-tile-hint[hidden]{display:none!important}
.game-tile-hint strong{font-size:13px;font-weight:850;color:#171922}
.game-tile-hint-benefit{color:#6257ff;font-weight:750}
@media(max-width:620px){.appicon .game-tile-info{top:7px;left:7px;width:29px;height:29px}}
