:root{
 --panel:rgba(14,20,54,.78);--panel2:rgba(255,255,255,.09);--line:rgba(255,255,255,.18);
 --text:#fff;--muted:#cbd5ff;--a:#ff7ee7;--b:#7cf7ff;--c:#ffe66f;--ok:#83ffbf;--bad:#ff85aa;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:ui-rounded,"Hiragino Maru Gothic ProN","Yu Gothic",system-ui,sans-serif;color:var(--text);background:#050716}
body{background:
 radial-gradient(900px 680px at 12% 2%,rgba(255,126,231,.34),transparent 58%),
 radial-gradient(900px 640px at 88% 10%,rgba(124,247,255,.26),transparent 58%),
 radial-gradient(700px 620px at 55% 92%,rgba(255,230,111,.16),transparent 58%),
 linear-gradient(180deg,#10164b,#050716 70%) fixed;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(circle,rgba(255,255,255,.7) 0 1px,transparent 2px);background-size:160px 160px;opacity:.25}
a{text-decoration:none;color:inherit}button,input,select{font:inherit}.wrap{width:min(1180px,100%);margin:auto;padding:18px 14px 90px}
.glass{background:linear-gradient(145deg,var(--panel),rgba(7,10,34,.68));border:1px solid var(--line);box-shadow:0 24px 70px rgba(0,0,0,.38);backdrop-filter:blur(18px);border-radius:30px}
.nav{position:sticky;top:8px;z-index:20;margin:12px 0;display:flex;gap:8px;overflow:auto;padding:8px;border-radius:999px;background:rgba(5,7,22,.62);backdrop-filter:blur(15px);border:1px solid var(--line)}
.nav a{white-space:nowrap;border-radius:999px;padding:11px 15px;font-weight:1000;background:rgba(255,255,255,.09)}.nav a.primary{background:linear-gradient(135deg,var(--a),var(--b));color:#07112b}
.btn{border:0;border-radius:18px;padding:12px 16px;font-weight:1000;cursor:pointer;background:linear-gradient(135deg,var(--c),#fff);color:#172033;box-shadow:0 12px 24px rgba(255,230,111,.24)}
.btn.sub{background:rgba(255,255,255,.11);color:#fff;border:1px solid var(--line);box-shadow:none}.btn.bad{background:linear-gradient(135deg,#ff9abd,#ffd27d)}
.pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:7px 10px;background:rgba(255,255,255,.10);font-size:12px;font-weight:900;color:var(--muted)}
.muted{color:var(--muted);line-height:1.75}.title{font-size:clamp(34px,8vw,72px);line-height:.95;margin:0;text-shadow:0 8px 30px rgba(0,0,0,.45)}.sectionTitle{font-size:clamp(24px,4vw,42px);margin:0 0 8px}
.card{border:1px solid var(--line);background:rgba(255,255,255,.08);border-radius:24px;padding:16px;box-shadow:0 12px 36px rgba(0,0,0,.18);overflow:hidden}.grid{display:grid;gap:14px}
.cover{width:100%;aspect-ratio:1/1;border-radius:20px;object-fit:cover;background:#111b46;box-shadow:0 18px 40px rgba(0,0,0,.32)}
.input,.select{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.10);color:#fff;border-radius:18px;padding:13px 14px;font-weight:900;outline:none}.select option{color:#111}
.toprow{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}.wallet{font-size:24px;font-weight:1000;color:var(--c)}
.menuIcon{height:86px;max-width:100%;object-fit:contain;filter:drop-shadow(0 12px 18px rgba(0,0,0,.35));display:block;margin:0 auto 8px}.heroBg{position:absolute;inset:0;background:center/cover no-repeat;filter:saturate(1.08);opacity:.95}
.heroShade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,4,20,.12),rgba(3,4,20,.76));}
.charImg{height:260px;width:100%;object-fit:contain;filter:drop-shadow(0 18px 20px rgba(0,0,0,.35));animation:float 2.2s ease-in-out infinite}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@media(max-width:700px){.wrap{padding:12px 10px 80px}.glass{border-radius:24px}.nav{border-radius:22px}.card{border-radius:20px;padding:12px}.charImg{height:220px}}


/* ===== v5 mobile reel additions ===== */
html,body{min-height:100%;} body{touch-action:manipulation;}
.v5-phone{width:min(100vw,520px);margin:0 auto;min-height:100dvh;position:relative;overflow:hidden;background:#050716;color:#fff;}
.v5-fullart{position:absolute;inset:0;background:center/cover no-repeat;transform:scale(1.02);}
.v5-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(3,5,18,.25) 48%,rgba(3,5,18,.78));}
.v5-start-only{position:absolute;left:0;right:0;bottom:calc(34px + env(safe-area-inset-bottom));z-index:3;display:grid;place-items:center;}
.v5-start-btn{border:0;border-radius:999px;padding:18px 46px;font-size:22px;font-weight:1000;color:#1b1640;background:linear-gradient(135deg,#fff7a8,#ff8fe6,#8ef6ff);box-shadow:0 18px 50px rgba(0,0,0,.45),0 0 28px rgba(255,255,255,.45);}
.v5-loader{position:fixed;inset:0;display:none;place-items:center;background:radial-gradient(circle at top,#212b74,#050716 72%);z-index:10;padding:20px}.v5-loader.on{display:grid}.v5-load-card{width:min(460px,92vw);text-align:center;padding:22px}.v5-loadbar{height:16px;border-radius:999px;background:rgba(255,255,255,.15);overflow:hidden}.v5-loadfill{height:100%;width:0;background:linear-gradient(90deg,#ff8fe6,#8ef6ff,#fff7a8)}
.v5-menu{display:none;min-height:100dvh;overflow:auto;padding:18px 12px 80px}.v5-menu.on{display:block}.v5-menu-list{display:grid;gap:12px}.v5-menu-btn{display:block;padding:18px;border-radius:24px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);box-shadow:0 16px 48px rgba(0,0,0,.28)}.v5-menu-btn b{display:block;font-size:22px}.v5-menu-btn span{display:block;color:#cbd5ff;margin-top:5px;line-height:1.5}.v5-note{font-size:12px;color:#bfc7ee;line-height:1.65}
.reel-page{max-width:520px;margin:0 auto;padding:12px 10px 90px}.reel-head{position:sticky;top:0;z-index:5;background:linear-gradient(180deg,rgba(5,7,22,.97),rgba(5,7,22,.74));backdrop-filter:blur(14px);padding:10px 0}.reel-title{font-size:28px;margin:0}.reel-strip{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:12px 4px 18px;scrollbar-width:none}.reel-strip::-webkit-scrollbar{display:none}.reel-card{scroll-snap-align:center;flex:0 0 78%;border-radius:26px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.09);padding:13px;box-shadow:0 18px 50px rgba(0,0,0,.26);position:relative;overflow:hidden}.reel-card.small{flex-basis:64%}.reel-card.selected{outline:3px solid rgba(255,242,122,.85);}.reel-cover{width:100%;aspect-ratio:1/1;border-radius:20px;object-fit:cover;background:#111a44;display:block}.reel-char{width:100%;height:280px;object-fit:contain;filter:drop-shadow(0 18px 25px rgba(0,0,0,.45));}.reel-name{font-weight:1000;font-size:18px;line-height:1.3;margin:10px 0 2px}.locked{filter:saturate(.45) brightness(.48)}.lock-ribbon{position:absolute;inset:auto 12px 12px 12px;text-align:center;background:rgba(0,0,0,.66);border:1px solid rgba(255,255,255,.28);border-radius:16px;padding:10px;font-weight:1000;color:#fff}.choice-panel{border-radius:28px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);padding:14px;margin:10px 0}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice-grid .btn{width:100%;}.seg{display:flex;gap:8px;overflow:auto;padding:8px 0}.seg button{white-space:nowrap;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;padding:10px 14px;font-weight:900}.seg button.on{background:linear-gradient(135deg,#ff8fe6,#8ef6ff);color:#10152f}.dim{opacity:.55}.archive-stage{height:360px;border-radius:26px;position:relative;overflow:hidden;background:#0c1238;border:1px solid rgba(255,255,255,.18)}.archive-stage .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.archive-stage .actor{position:absolute;max-width:52%;max-height:75%;object-fit:contain;filter:drop-shadow(0 18px 18px rgba(0,0,0,.55));transition:.18s}.archive-stage .actor.char{left:5%;bottom:8%}.archive-stage .actor.enemy{right:5%;bottom:13%;max-width:38%}.mini-controls{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:12px 0}.mini-controls button{border:0;border-radius:16px;padding:12px 14px;font-weight:1000;background:rgba(255,255,255,.12);color:#fff}.mini-controls button.primary{background:linear-gradient(135deg,#fff7a8,#8ef6ff);color:#10152f}
@media(max-width:430px){.reel-card{flex-basis:84%}.reel-card.small{flex-basis:72%}.reel-char{height:250px}.choice-grid{grid-template-columns:1fr}}


/* ===== v6 mobile reel patch ===== */
.v6-op-logo{position:absolute;left:50%;top:14%;transform:translateX(-50%);width:min(78vw,430px);z-index:3;filter:drop-shadow(0 14px 24px rgba(0,0,0,.38));}
.v6-img-button{border:0;background:transparent;padding:0;display:grid;place-items:center;cursor:pointer;filter:drop-shadow(0 14px 24px rgba(0,0,0,.42));}
.v6-img-button img{display:block;width:min(72vw,410px);max-height:135px;object-fit:contain;}
.v6-menu-hero{display:grid;gap:14px;padding:16px 8px 86px;max-width:520px;margin:0 auto;}
.v6-menu-image{width:100%;border:0;background:transparent;padding:0;cursor:pointer;filter:drop-shadow(0 14px 28px rgba(0,0,0,.38));}
.v6-menu-image img{width:100%;max-height:106px;object-fit:contain;display:block;}
.v6-menu-card{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.09);border-radius:26px;padding:16px;box-shadow:0 18px 50px rgba(0,0,0,.26)}
.v6-filter-row{display:flex;gap:8px;overflow-x:auto;padding:8px 0 12px;scrollbar-width:none}.v6-filter-row::-webkit-scrollbar{display:none}
.v6-filter-row button{white-space:nowrap;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;padding:10px 14px;font-weight:900}.v6-filter-row button.on{background:linear-gradient(135deg,#ff8fe6,#8ef6ff);color:#10152f}
.v6-section-title{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 4px}.v6-section-title h2{margin:0;font-size:20px}
.v6-lock-img{position:absolute;inset:8px;display:grid;place-items:center;z-index:4;pointer-events:none}.v6-lock-img img{width:82%;max-height:86%;object-fit:contain;opacity:.92;filter:drop-shadow(0 18px 24px rgba(0,0,0,.48))}.reel-card.locked-card:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.34);z-index:2}.reel-card.locked-card .reel-cover,.reel-card.locked-card .reel-char{filter:saturate(.45) brightness(.6)}
.v6-card-status{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.v6-wide-action{width:100%;margin-top:8px}.v6-selected-label{position:absolute;top:10px;left:10px;z-index:5;background:rgba(255,242,122,.92);color:#20143f;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:1000}.v6-back-img{width:min(64vw,320px);max-height:90px;object-fit:contain}.v6-decide-img{width:min(72vw,390px);max-height:120px;object-fit:contain}.v6-two-actions{display:grid;grid-template-columns:1fr;gap:10px;place-items:center;margin:16px 0}.v6-hidden-text{position:absolute;opacity:0;pointer-events:none}
.archive-stage .actor.enemy{transition:transform .18s ease, opacity .18s ease;}.archive-stage .actor.enemy.bump{transform:translateY(-8px) scale(1.04)}.archive-stage .actor.char.bump{transform:translateY(-8px) scale(1.03)}
@media(max-width:430px){.v6-op-logo{top:12%;width:86vw}.v6-img-button img{width:78vw}.v6-menu-image img{max-height:96px}.v6-menu-card{padding:13px;border-radius:22px}}

/* ===== v7 mobile polish patch ===== */
.v5-start-only .v6-img-button img{width:min(96vw,560px);max-height:190px}
.v6-menu-image img{max-height:148px}
.v6-menu-image{transform:scale(1.06);transform-origin:center}
.v6-menu-hero{padding-top:22px}
.v6-menu-hero .v6-menu-card{margin-top:4px}

.v7-filter-reel{display:flex;gap:12px;overflow-x:auto;padding:10px 2px 14px;scrollbar-width:none}
.v7-filter-reel::-webkit-scrollbar{display:none}
.v7-filter-card{flex:0 0 38%;min-width:128px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.09);border-radius:22px;padding:10px;box-shadow:0 12px 28px rgba(0,0,0,.24);color:#fff;text-align:center}
.v7-filter-card.on{outline:3px solid rgba(255,242,122,.85)}
.v7-filter-card img{width:100%;aspect-ratio:1/1;border-radius:16px;object-fit:cover;background:#1a234e;display:block;margin:0 auto 8px}
.v7-filter-card .all-chip{width:100%;aspect-ratio:1/1;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(255,142,230,.5),rgba(140,240,255,.55),rgba(255,244,170,.46));font-size:24px;font-weight:1000;margin:0 auto 8px}
.v7-filter-card b{display:block;font-size:14px;line-height:1.3}
.v7-filter-card span{display:block;font-size:11px;color:var(--muted);margin-top:3px}

.v7-media-wrap{position:relative;border-radius:20px;overflow:hidden;margin-bottom:10px}
.v7-media-wrap .reel-cover,.v7-media-wrap .reel-char{margin:0}
.reel-card.locked-card:after{pointer-events:none}
.v7-media-wrap .v6-lock-img{inset:0;display:grid;place-items:center;pointer-events:none}
.v7-media-wrap .v6-lock-img img{width:60%;max-height:64%;object-fit:contain;opacity:.98}
.v7-media-wrap .v7-lock-word{position:absolute;left:10px;top:10px;z-index:6;background:rgba(0,0,0,.72);border:1px solid rgba(255,255,255,.24);padding:5px 9px;border-radius:999px;font-size:12px;font-weight:1000;color:#fff}
.v7-lock-note{color:#ffeaa6;font-size:12px;font-weight:1000}
.reel-card .btn,.reel-card .v6-wide-action{position:relative;z-index:8}

.v7-section-sub{margin:3px 0 0;color:var(--muted);font-size:12px;line-height:1.55}
.v7-shop-seg{margin-top:10px}
.v7-empty{padding:16px;text-align:center;color:var(--muted)}

.v7-nav-ja a{font-size:13px}
.v7-nav-ja a.primary{background:linear-gradient(135deg,var(--a),var(--b));color:#07112b}

@media(max-width:430px){
  .v7-filter-card{flex-basis:44%;min-width:122px}
  .v6-menu-image img{max-height:132px}
  .v5-start-only .v6-img-button img{width:min(98vw,540px);max-height:182px}
}

/* ===== v8 patch ===== */
.v8-hidden{display:none!important}
.v8-zero-gap{gap:0!important}
.v8-op-start .v6-img-button img{width:min(100vw,820px);max-height:250px;transform:scale(1.38)}
.v8-menu-tight{gap:0!important;padding-top:8px}
.v8-menu-tight .v6-menu-image{margin:0;transform:scale(1.2);transform-origin:center}
.v8-menu-tight .v6-menu-image img{max-height:164px}
.v8-menu-tight .v6-menu-card{margin-top:2px}

.v8-steps{display:flex;gap:8px;overflow-x:auto;padding:8px 0 2px;scrollbar-width:none}
.v8-steps::-webkit-scrollbar{display:none}
.v8-stepchip{flex:1 0 auto;min-width:82px;text-align:center;padding:10px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);font-weight:900;color:#fff}
.v8-stepchip.on{background:linear-gradient(135deg,var(--a),var(--b));color:#07112b}
.v8-stepchip.done{outline:2px solid rgba(255,241,114,.85)}
.v8-panel{display:none}
.v8-panel.on{display:block}
.v8-panel-head{display:flex;justify-content:space-between;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.v8-actions-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:12px}
.v8-actions-row .btn,.v8-actions-row .v6-img-button{flex:1 1 42%;max-width:220px}
.v8-preview{border-radius:22px;padding:12px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);box-shadow:0 10px 26px rgba(0,0,0,.24)}
.v8-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.v8-preview-grid .cell{border-radius:18px;overflow:hidden;background:rgba(255,255,255,.08);min-height:120px;display:flex;align-items:center;justify-content:center;position:relative}
.v8-preview-grid img{width:100%;height:100%;object-fit:cover;display:block}
.v8-preview-grid .char img,.v8-preview-grid .enemy img{object-fit:contain;padding:8px}
.v8-preview-title{font-size:14px;color:var(--muted);margin-bottom:6px}

.v8-filter-reel{display:flex;gap:12px;overflow-x:auto;padding:10px 2px 14px;scrollbar-width:none}
.v8-filter-reel::-webkit-scrollbar{display:none}
.v8-filter-card{flex:0 0 38%;min-width:128px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.09);border-radius:22px;padding:10px;box-shadow:0 12px 28px rgba(0,0,0,.24);color:#fff;text-align:center}
.v8-filter-card.on{outline:3px solid rgba(255,242,122,.85)}
.v8-filter-card img{width:100%;aspect-ratio:1/1;border-radius:16px;object-fit:cover;background:#1a234e;display:block;margin:0 auto 8px}
.v8-filter-card .all-chip{width:100%;aspect-ratio:1/1;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(255,142,230,.5),rgba(140,240,255,.55),rgba(255,244,170,.46));font-size:24px;font-weight:1000;margin:0 auto 8px}
.v8-filter-card b{display:block;font-size:14px;line-height:1.3}
.v8-filter-card span{display:block;font-size:11px;color:var(--muted);margin-top:3px}

.v8-media-wrap{position:relative;border-radius:20px;overflow:hidden;margin-bottom:10px;background:rgba(255,255,255,.06)}
.v8-media-wrap .reel-cover,.v8-media-wrap .reel-char{margin:0}
.v8-lock-cover{position:absolute;inset:0;pointer-events:none;display:block;z-index:5}
.v8-lock-cover img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block;opacity:.98}
.v8-lock-word{position:absolute;left:10px;top:10px;z-index:6;background:rgba(0,0,0,.72);border:1px solid rgba(255,255,255,.24);padding:5px 9px;border-radius:999px;font-size:12px;font-weight:1000;color:#fff}
.reel-card.locked-card .btn,.reel-card.locked-card .v6-wide-action{position:relative;z-index:8}

.v8-toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:12000;background:rgba(10,15,48,.95);color:#fff;padding:12px 16px;border-radius:14px;border:1px solid rgba(255,255,255,.2);box-shadow:0 10px 28px rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:.22s}
.v8-toast.on{opacity:1}
.v8-modal{position:fixed;inset:0;z-index:11000;background:rgba(0,0,0,.55);display:none;align-items:center;justify-content:center;padding:18px}
.v8-modal.on{display:flex}
.v8-modal-card{width:min(92vw,420px);border-radius:24px;padding:18px;background:linear-gradient(180deg,rgba(27,34,84,.97),rgba(12,14,40,.97));border:1px solid rgba(255,255,255,.2);box-shadow:0 18px 40px rgba(0,0,0,.38)}
.v8-modal-card h3{margin:0 0 8px;font-size:20px}.v8-modal-card p{margin:0;color:#dfe7ff;line-height:1.7}.v8-modal-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:16px}

.v8-music-meta{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:4px}
.v8-music-meta .pill{font-size:11px}
.v8-random-card{display:flex;align-items:center;justify-content:center;min-height:220px;background:linear-gradient(135deg,rgba(255,142,230,.32),rgba(140,240,255,.25),rgba(255,244,170,.22));font-weight:1000;font-size:22px}
.v8-note{font-size:12px;color:var(--muted);line-height:1.6}

@media(max-width:430px){
  .v8-filter-card{flex-basis:44%;min-width:120px}
  .v8-op-start .v6-img-button img{max-height:280px}
  .v8-menu-tight .v6-menu-image img{max-height:152px}
}

/* ===== v9 critical hotfix ===== */
.v8-op-start{left:50%!important;right:auto!important;bottom:auto!important;top:52%!important;transform:translate(-50%,-50%)!important;width:100vw!important;text-align:center!important;display:grid!important;place-items:center!important;}
.v8-op-start .v6-img-button img{width:min(118vw,920px)!important;max-height:340px!important;transform:scale(1.15)!important;transform-origin:center!important;}
.v8-menu-tight{gap:0!important;padding-top:0!important;align-items:center!important;}
.v8-menu-tight .v6-menu-image{margin:-12px 0!important;transform:scale(1.35)!important;transform-origin:center!important;}
.v8-menu-tight .v6-menu-image img{max-height:210px!important;}
.v8-lock-cover{inset:-3px!important;overflow:hidden!important;border-radius:20px!important;}
.v8-lock-cover img,.v6-lock-img img{width:142%!important;height:142%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center center!important;transform:translate(-14%,-14%)!important;opacity:.98!important;}
.reel-card.locked-card:after{pointer-events:none!important;background:rgba(0,0,0,.08)!important;}
.reel-card .btn,.reel-card .v6-wide-action{position:relative!important;z-index:30!important;pointer-events:auto!important;}
.v8-media-wrap{pointer-events:none!important}.reel-card{pointer-events:auto!important}

/* ===== v10 critical hotfix ===== */
/* OP START: current one was too high; move about two-button-heights lower without losing mobile fit */
.v8-op-start{top:auto!important;bottom:calc(22px + env(safe-area-inset-bottom))!important;left:0!important;right:0!important;transform:none!important;width:100vw!important;display:grid!important;place-items:center!important;}
.v8-op-start .v6-img-button img{width:min(112vw,760px)!important;max-height:255px!important;transform:scale(1.05)!important;}
/* Decide/back buttons were too large after v8/v9 */
.v6-decide-img{width:min(48vw,255px)!important;max-height:82px!important;object-fit:contain!important;}
.v6-back-img{width:min(42vw,210px)!important;max-height:70px!important;object-fit:contain!important;}
.v8-actions-row{gap:12px!important;align-items:center!important;justify-content:center!important;}
.v8-actions-row .v6-img-button{max-width:270px!important;min-height:74px!important;}
.v8-actions-row .btn{max-width:240px!important;min-height:56px!important;}
/* Lock card: enlarge the art itself so the center heart/LOCK fills the visible card area */
.v8-lock-cover{overflow:hidden!important;inset:0!important;}
.v8-lock-cover img{width:138%!important;height:138%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center center!important;transform:translate(-13.8%,-13.8%)!important;opacity:.98!important;}
.v8-lock-word{z-index:7!important;}
.reel-card.locked-card:after{pointer-events:none!important;}
.reel-card .btn,.reel-card .v6-wide-action,.reel-card button{position:relative!important;z-index:12!important;}
/* Make menu art large but less chaotic */
.v8-menu-tight .v6-menu-image{transform:scale(1.12)!important;margin:-5px 0!important;}
.v8-menu-tight .v6-menu-image img{max-height:148px!important;}


/* ===== v11 hotfix ===== */
.v8-op-start{top:58%!important;bottom:auto!important;left:50%!important;right:auto!important;transform:translate(-50%,-50%)!important;width:100vw!important;display:grid!important;place-items:center!important;}
.v8-op-start .v6-img-button img{width:min(96vw,660px)!important;max-height:230px!important;transform:scale(1)!important;}
.v6-decide-img,.v6-back-img{width:min(46vw,230px)!important;max-height:86px!important;object-fit:contain!important;}
.v8-actions-row .v6-img-button{max-width:240px!important;min-height:86px!important;display:grid!important;place-items:center!important;}
.v8-actions-row{gap:10px!important;justify-content:center!important;align-items:center!important;}
.v8-media-wrap.album-cover-mode .reel-cover{object-fit:cover!important;}


/* ===== v14 safe UI fixes: title brightness / lock crop only ===== */
/* OP背景は暗幕を外して、生成画像の明るさをそのまま見せる */
.v5-shade{background:transparent!important;}
.v5-fullart{filter:none!important;opacity:1!important;}

/* LOCK画像はメディア枠の中だけで完結させる。スクロール時の突き抜け・ズレ防止 */
.v8-media-wrap{position:relative!important;overflow:hidden!important;isolation:isolate!important;contain:paint!important;}
.v8-lock-cover{position:absolute!important;inset:0!important;border-radius:inherit!important;overflow:hidden!important;z-index:6!important;pointer-events:none!important;display:block!important;}
.v8-lock-cover img{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center center!important;transform:none!important;opacity:.98!important;display:block!important;}
.v8-lock-word{z-index:7!important;}
.reel-card.locked-card{overflow:hidden!important;}
.reel-card.locked-card:after{pointer-events:none!important;background:rgba(0,0,0,.10)!important;}

/* 曲カードは曲ごとのジャケットを使うため、カード側の画像は通常カバー表示に戻す */
.v8-media-wrap.song-jacket-mode .reel-cover{object-fit:cover!important;}

/* ===== v15 manual select / safe visual fixes ===== */
/* OP背景は暗くしない。古い暗幕要素が残っても完全非表示 */
.v5-shade{display:none!important;background:transparent!important;opacity:0!important;pointer-events:none!important;}
.v5-fullart{filter:none!important;opacity:1!important;}

/* フリー選択でカードがちゃんと押せる・選択状態が分かる */
.reel-card{cursor:pointer!important;}
.reel-card.selected{outline:4px solid rgba(255,242,122,.95)!important;box-shadow:0 0 0 3px rgba(255,242,122,.22),0 18px 50px rgba(0,0,0,.28)!important;}
.reel-card.locked-card{cursor:not-allowed!important;}

/* 曲ロックだけ、ジャケットの四角枠にぴったり合わせる */
.v8-media-wrap.song-lock-fit{aspect-ratio:1/1!important;border-radius:20px!important;overflow:hidden!important;}
.v8-media-wrap.song-lock-fit .reel-cover{width:100%!important;height:100%!important;aspect-ratio:1/1!important;object-fit:cover!important;display:block!important;}
.v8-media-wrap.song-lock-fit .v8-lock-cover{inset:0!important;border-radius:inherit!important;overflow:hidden!important;}
.v8-media-wrap.song-lock-fit .v8-lock-cover img{width:100%!important;height:100%!important;object-fit:fill!important;object-position:center!important;transform:none!important;display:block!important;}

/* キャラロックは現状寄り。カード枠から突き抜けないことだけ優先 */
.v8-media-wrap:not(.song-lock-fit) .v8-lock-cover{inset:0!important;border-radius:inherit!important;overflow:hidden!important;}
.v8-media-wrap:not(.song-lock-fit) .v8-lock-cover img{width:100%!important;height:100%!important;object-fit:cover!important;transform:none!important;}
