/* v91: presentation only; no canvas geometry, game input or wallet behavior. */
html{-webkit-text-size-adjust:100%;scroll-padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
body{overflow-wrap:break-word}
:is(button,a,input,select,summary):focus-visible{outline:3px solid #99f3ed;outline-offset:3px}
:is(.topbar,.site-bar,.site-head,.topbar-right,.right-actions,.hero-actions,.u-hero-actions,.filter-strip,.cta-row,.categories,.head-actions){flex-wrap:wrap}
:is(.topbar,.site-bar){height:auto;min-height:58px}
:is(.primary-btn,.secondary-btn,.ghost-btn,.text-btn,.icon-btn,.icon-button,.primary,.secondary,.filter,.shop-filter,.back,.close-modal,.product-try,.product-buy,.bet,.aim-step,.gallery button,.right-actions button,.head-actions button,.categories button,.bet-options button,.difficulty-options button,.modal button,.dialog button,button[data-close],#sound,#help,#refresh,#close,#refresh-balance){min-height:48px!important;min-width:44px!important;line-height:1.4}
:is(.filter-strip,.categories,.bets,.bet-options,.difficulty-options,.head-actions,.right-actions){gap:8px}
:is(.bets){flex-wrap:wrap}
:is(.fine,.tiny,.muted,.safe-note,.finalnote,.note,.hint,.u-hero-note,.u-shortcut small,.atelier-hub-meta small,.wallet>span){font-size:13px;line-height:1.7}
:is(.wallet>span,.wallet-label,.coin-balance small){letter-spacing:0;color:#e8d9f5}
:is(dialog){width:min(640px,calc(100% - 24px));max-height:calc(100dvh - 32px - env(safe-area-inset-bottom,0px));overflow:auto;overscroll-behavior:contain}
:is(dialog input,dialog select,.coin-shop input){font-size:16px}
:is(.cinematic,.result-modal,.overlay){overflow-y:auto}
:is(.cinematic-panel,.result-modal .result-card,.overlay .modal){max-width:100%;max-height:calc(100dvh - 40px);overflow:auto}
/* Whole artwork stays visible; portrait icons and sprite sheets retain their own crop. */
.game-card .game-visual{height:auto;aspect-ratio:auto}
.game-card .game-artwork{position:relative;inset:auto;width:100%;padding:60px 0 36px;filter:none}
.game-card .game-artwork img{width:100%;height:auto;object-fit:contain;object-position:center;display:block}
.game-card .game-artwork svg,.game-card:hover .game-artwork svg{display:block;width:100%;height:auto;aspect-ratio:16/9;transform:none}
.game-card .favorite-toggle{width:48px;height:48px;min-width:48px;min-height:48px}
.game-card .game-number{max-width:calc(100% - 72px)}
.atelier-hub-card img,.product-visual img,.confirm-item-image img{object-fit:contain}
.game-thumbnail img,.arcade-lobby .game-thumbnail img{object-fit:contain}
.game-hero figure img{object-fit:contain}
.u-main-hero-art>img{inset:0;width:100%;height:100%;object-fit:contain;object-position:center;mask-image:none;-webkit-mask-image:none}
.u-main-hero-art:after{display:none}
.u-hero-speech{bottom:12px;right:8%;white-space:normal;max-width:90%}
.u-eyebrow{white-space:normal}
.u-main-hero-copy{width:61%}
@media(max-width:700px){
 .unified-floor .u-main-hero{display:flex;flex-direction:column;min-height:0}
 .u-main-hero-copy{width:100%;padding:24px 20px 12px}
 .u-main-hero h1{font-size:clamp(32px,8vw,46px)}
 .u-hero-lead,.u-hero-note{max-width:none}
 .u-main-hero-art{position:relative;inset:auto;width:100%;height:300px;opacity:1}
 .u-main-hero-art>img{inset:0;width:100%;height:100%;filter:none;object-position:center}
 .u-main-hero-art:before{display:none}
 .u-hero-speech{display:flex}
 .u-hero-actions{width:100%;gap:10px}
 .u-hero-actions>*{flex:1 1 145px;min-height:52px;font-size:14px}
 .u-shortcut{min-height:110px;padding:14px 10px}
 .u-shortcut strong{font-size:14px}
 .u-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .section-heading,.u-quick-intro,.hero-topline{flex-wrap:wrap;align-items:flex-start}
 .trial-label{white-space:normal;font-size:11px}
 .control-shell{flex-wrap:wrap}
 .control-shell .wallet{flex:1 1 110px}
 .control-shell .drop{flex:1 1 145px}
 .action-row{flex-wrap:wrap}
 .action-row .drop-button{flex:1 1 155px}
 .site-shell{padding-left:14px;padding-right:14px}
 .u-gacha-feature{padding:22px 18px;gap:22px}
 .game-card .game-number,.game-card .game-flag{font-size:11px}
 .wallet>span{font-size:12px}
}

/* Navigation and account actions; game-board buttons keep their geometry. */
:is(.coin-shop,.collection,.coin-console) button,:is(.categories,.bet-options) button{min-height:48px;min-width:44px}
:is(.coin-shop,.collection) a,:is(.app,main)>nav a{display:inline-flex;align-items:center;min-height:44px}
.atelier-hub-card img,.product-visual img,.confirm-item-image img{object-fit:contain!important}

:is(.dock-button,.dialog-close,.music-mini button,.tabs button,.toolbar button,.wallet button,.sheet button,.sheet-close,.mission button,.item button){min-height:48px!important;min-width:44px!important}
:is(.sheet,.sheet-panel){max-height:calc(100dvh - 24px - env(safe-area-inset-bottom,0px));overflow-y:auto}
:is(.wallet small,.item-name,.item-meta,.progress>div small){font-size:11px;line-height:1.5}

/* v93: unify the opening artwork and heading; do not append a separate poster. */
.unified-floor .u-main-hero{isolation:isolate}
.u-main-hero-art{position:absolute;inset:0 0 0 auto;width:42%;height:100%;opacity:1;z-index:0;pointer-events:none}
.u-main-hero-art>img{inset:0;width:100%;height:100%;object-fit:contain;object-position:right center;filter:drop-shadow(0 10px 24px #11091d66);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 24%,#000 85%,transparent),linear-gradient(0deg,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(90deg,transparent 0%,#000 24%,#000 85%,transparent),linear-gradient(0deg,transparent,#000 14%,#000 86%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}
.u-main-hero-art:before,.u-main-hero-art:after{display:none}
.u-main-hero-copy{position:relative;z-index:2}
.u-hero-speech{display:none}
@media(max-width:700px){
 .unified-floor .u-main-hero{display:block;min-height:0}
 .u-main-hero-copy{width:100%;padding:24px 20px}
 .u-main-hero-art{position:absolute;inset:58px 0 auto auto;width:48%;height:255px;max-width:48%;opacity:.94}
 .u-main-hero-art>img{inset:0;object-fit:contain;object-position:right center}
 .u-main-hero h1{width:62%;min-height:210px;display:flex;flex-direction:column;justify-content:center;font-size:clamp(30px,7.6vw,46px);line-height:1.3;margin:20px 0 8px;letter-spacing:-.07em}
 .u-main-hero h1 br{display:none}
 .u-main-hero .u-hero-lead{position:relative;margin-top:8px;max-width:none;font-size:14px;line-height:1.8}
 .u-main-hero .u-hero-note{font-size:13px;line-height:1.75}
 .u-glow-moon{opacity:.16}
 .u-hero-speech{display:none}
}

/* v94: account overview and consistent navigation, outside game controls. */
.hub-account{margin:12px 0 22px;padding:16px;border:1px solid #826096;border-radius:20px;background:linear-gradient(120deg,#2c1c3d,#181326);color:#f6edff;font:14px/1.6 system-ui;min-width:0}
.hub-account-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.hub-account-head button{min-height:44px;padding:8px 14px;border:1px solid #9876ab;border-radius:12px;background:#392745;color:#f5e8ff;font:inherit;cursor:pointer}
.hub-account-head button:disabled{opacity:.6;cursor:wait}
.hub-balances{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.hub-balances a{display:flex;flex-direction:column;justify-content:center;min-height:80px;min-width:0;padding:12px;background:#ffffff08;border:1px solid #71547e;border-radius:13px;text-decoration:none;color:inherit;overflow-wrap:anywhere}
.hub-balances span{font-size:12px;color:#dbcbe7}.hub-balances strong{font-size:clamp(18px,3.5vw,26px);color:#ffe3aa;font-variant-numeric:tabular-nums}
.hub-account [data-status]{margin:10px 0;color:#d1c1dc;font-size:12px}
.yona-shortcuts{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 20px;font:14px/1.5 system-ui}
.yona-shortcuts a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 14px;border:1px solid #8a699d;border-radius:12px;background:#2c203a;color:#f1e3fc;text-decoration:none;flex:1 1 auto;text-align:center}
.yona-shortcuts a[aria-current="page"]{border-color:#f1d296;background:#4e375b;color:#ffe3aa}
.hub-account .yona-shortcuts{margin-bottom:0}
:is(.hub-account,.yona-shortcuts) :is(a,button):focus-visible{outline:3px solid #91f2df;outline-offset:3px}
@media(max-width:480px){.hub-balances{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hub-balances a:last-child{grid-column:1/-1;min-height:48px;flex-direction:row;justify-content:space-between;gap:8px}.hub-balances a:last-child strong{font-size:18px}.yona-shortcuts a{flex:1 1 calc(50% - 8px);font-size:13px;padding:10px 8px}}

/* v95: dedicated dungeon and gacha sections outside the arcade game grid. */
.hub-special-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:30px 0}
.hub-special{min-width:0;overflow:hidden;border:1px solid #9875b2;border-radius:22px;background:linear-gradient(140deg,#38254b,#19162c);scroll-margin-top:20px}
.hub-special>img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#181225}
.hub-special-copy{padding:20px}.hub-special h2{font-size:clamp(24px,4vw,34px);margin:8px 0 10px;color:#f6e8ff}.hub-special p{font-size:14px;line-height:1.8;color:#ded0e9;margin:0 0 14px}
.hub-special-tags{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 18px}.hub-special-tags span{border:1px solid #8c709f;border-radius:30px;padding:5px 9px;font-size:11px;color:#eadbfb}
.special-launch{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:14px 18px;background:linear-gradient(110deg,#ffe0a5,#e9a6ee);border-radius:14px;text-decoration:none;color:#23162e;font-weight:800;font-size:16px}
.hub-special small{display:block;font-size:12px;line-height:1.7;color:#cdbbdc;margin-top:12px}.hub-special-links{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:8px}.hub-special-links a{display:flex;align-items:center;min-height:44px;color:#ffe1aa;font-size:13px}
.u-dungeon-top-cta{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 18px;border:1px solid #d1a8ee;border-radius:14px;background:linear-gradient(120deg,#4e3769,#35274d);color:#f5e4ff;font:800 14px system-ui;cursor:pointer}
.hub-special a:focus-visible,.u-dungeon-top-cta:focus-visible{outline:3px solid #90efd8;outline-offset:4px}
@media(max-width:700px){.hub-special-sections{grid-template-columns:1fr;gap:18px}.hub-special-copy{padding:18px}}
.u-hero-actions a,.u-shortcut{text-decoration:none}
