@media (max-width:980px){
  html{
    height:auto !important;
    min-height:100% !important;
    -webkit-text-size-adjust:100%;
  }
  body{
    height:auto !important;
    min-height:100dvh !important;
    overflow:auto !important;
    overscroll-behavior-y:auto;
  }
  body::before,
  body::after{
    pointer-events:none !important;
  }
  #app{
    display:block !important;
    height:auto !important;
    min-height:100dvh !important;
    overflow:visible !important;
  }
  .topbar{
    position:sticky !important;
    top:0 !important;
    z-index:900 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:9px !important;
    height:auto !important;
    min-height:0 !important;
    padding:10px max(10px,env(safe-area-inset-right)) 9px max(10px,env(safe-area-inset-left)) !important;
  }
  .logo-wrap{
    min-width:0 !important;
    gap:10px !important;
  }
  .logo-emblem{
    width:40px !important;
    height:40px !important;
    border-radius:12px !important;
    flex:0 0 auto !important;
  }
  .logo-title{
    font-size:20px !important;
    line-height:1 !important;
    letter-spacing:.8px !important;
  }
  .logo-sub{
    font-size:9px !important;
    letter-spacing:1.4px !important;
  }
  .main-nav,
  .top-meta{
    display:flex !important;
    flex-wrap:nowrap !important;
    justify-content:flex-start !important;
    gap:8px !important;
    max-width:100% !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding:1px 1px 4px !important;
  }
  .main-nav::-webkit-scrollbar,
  .top-meta::-webkit-scrollbar{
    display:none;
  }
  .nav-btn,
  .meta-pill,
  .top-action-pill,
  .auth-pill{
    flex:0 0 auto !important;
    min-width:auto !important;
    min-height:40px !important;
    height:40px !important;
    padding:0 12px !important;
    border-radius:13px !important;
    font-size:13px !important;
    touch-action:manipulation;
  }
  .nav-btn{
    width:auto !important;
  }
  .nav-btn .ico,
  .meta-pill .ico{
    font-size:13px !important;
  }
  .nav-btn span:not(.ico){
    white-space:nowrap !important;
  }
  .top-asset-pill{
    min-width:128px !important;
    height:40px !important;
    padding-inline:12px !important;
  }
  .top-asset-pill span{
    font-size:11px !important;
  }
  .top-asset-pill b,
  .meta-pill b{
    font-size:14px !important;
    white-space:nowrap !important;
  }
  .auth-menu-wrap{
    flex:0 0 auto !important;
  }
  .auth-dropdown{
    z-index:1400 !important;
  }
  .viewport{
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
  }
  .view{
    height:auto !important;
    min-height:calc(100dvh - 138px) !important;
    overflow:visible !important;
    padding:16px 12px 78px !important;
  }
  .footerbar{
    display:none !important;
  }
  .screen-head{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    margin-bottom:14px !important;
  }
  .screen-title{
    font-size:30px !important;
    line-height:1.08 !important;
    letter-spacing:0 !important;
  }
  .screen-desc{
    max-width:none !important;
    font-size:13px !important;
    line-height:1.62 !important;
  }
  .action-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
  }
  .btn,
  .foot-btn{
    min-height:44px !important;
    padding:0 14px !important;
    border-radius:13px !important;
    touch-action:manipulation;
  }
  .action-row .btn,
  .room-start-btn,
  .password-panel .btn{
    width:100% !important;
  }
  .card{
    border-radius:18px !important;
  }
  .card::before{
    inset:8px !important;
    border-radius:12px !important;
  }
  .card-pad,
  .identity-card .card-pad,
  .title-panel-card .card-pad,
  .record-panel .card-pad,
  .shop-block .card-pad{
    padding:16px !important;
  }
  .kicker{
    font-size:10px !important;
    letter-spacing:1.7px !important;
  }
  .card h3{
    font-size:22px !important;
  }

  .hero-layout,
  .setup-grid,
  .profile-grid,
  .leaderboard-grid,
  .records-grid,
  .shop-shell,
  .shop-grid-2,
  .shop-grid-3,
  .feature-grid,
  .rooms-grid,
  .achievement-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  .hero-main{
    min-height:0 !important;
    padding:24px 16px 18px !important;
    gap:12px !important;
  }
  .hero-main h2{
    font-size:34px !important;
    line-height:1.02 !important;
  }
  .hero-main p{
    font-size:13px !important;
    line-height:1.7 !important;
  }
  .hero-stats,
  .profile-stat-grid,
  .record-stats,
  .shop-summary-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:9px !important;
  }
  .stat-shell{
    min-width:0 !important;
    padding:11px 12px !important;
    border-radius:13px !important;
  }
  .stat-shell strong{
    font-size:20px !important;
    line-height:1.15 !important;
    word-break:break-word !important;
  }
  .version-notice{
    margin-top:12px !important;
  }

  .mode-stack{
    display:grid !important;
    grid-template-rows:none !important;
    gap:12px !important;
  }
  .mode-card{
    height:auto !important;
    min-height:0 !important;
  }
  .mode-card .card-pad,
  .room-card .card-pad{
    min-height:0 !important;
    padding:16px !important;
  }
  .mode-foot{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    align-items:start !important;
  }
  .mode-badge,
  .room-badge,
  .title-badge{
    width:max-content !important;
    max-width:100% !important;
    white-space:normal !important;
  }
  .room-card{
    min-height:0 !important;
  }
  .room-line{
    align-items:center !important;
  }

  .profile-grid{
    grid-template-columns:1fr !important;
  }
  .profile-history-card{
    grid-column:auto !important;
  }
  .big-name{
    font-size:30px !important;
  }
  .input-row,
  .region-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .input,
  .profile-region-select,
  .region-select-trigger,
  .password-panel input{
    width:100% !important;
    min-width:0 !important;
  }
  .region-select-menu{
    position:fixed !important;
    left:12px !important;
    right:12px !important;
    top:22dvh !important;
    width:auto !important;
    max-width:none !important;
    max-height:56dvh !important;
    z-index:1450 !important;
  }
  .profile-progress-grid,
  .title-count-row,
  .title-card-grid-merged{
    grid-template-columns:1fr !important;
  }
  .title-card-grid-merged{
    max-height:none !important;
    overflow:visible !important;
  }
  .password-panel{
    display:grid !important;
    gap:10px !important;
  }

  .leaderboard-tabs,
  .category-tabs,
  .category-tabs.two-tabs,
  .category-tabs.three-tabs{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
  }
  .leader-tab{
    min-height:42px !important;
  }
  .table-scroll{
    width:100% !important;
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch;
  }
  .leaderboard-table,
  .leaderboard-table-v2{
    min-width:760px !important;
  }
  .podium-stack{
    display:grid !important;
    gap:10px !important;
  }

  .achievement-card,
  .history-item{
    min-height:0 !important;
  }
  .history-item{
    display:grid !important;
    grid-template-columns:1fr !important;
  }
  .history-value{
    text-align:left !important;
  }

  .shop-preview-panel{
    position:relative !important;
    top:auto !important;
  }
  .shop-preview-scene{
    min-height:190px !important;
    height:190px !important;
  }
  .shop-preview-topline{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
  }
  .shop-feature-row{
    display:flex !important;
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch;
    padding-bottom:3px !important;
  }
  .shop-grid,
  .theme-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .shop-item{
    min-width:0 !important;
  }
  .shop-item-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
  }
  .shop-item-actions .btn{
    width:100% !important;
  }

  .game-view{
    padding:8px 8px 76px !important;
  }
  .table-layout{
    display:grid !important;
    grid-template-columns:1fr !important;
    height:auto !important;
    min-height:0 !important;
    gap:8px !important;
  }
  .money-plaque{
    display:none !important;
  }
  .stage-shell{
    display:grid !important;
    grid-template-rows:auto auto auto auto auto auto auto !important;
    height:auto !important;
    min-height:0 !important;
    gap:8px !important;
  }
  .stage-head{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    padding:10px !important;
    border-radius:16px !important;
  }
  .stage-head-right{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:8px !important;
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch;
    padding-bottom:2px !important;
  }
  .stage-switches{
    display:flex !important;
    flex:0 0 auto !important;
    gap:8px !important;
  }
  .stage-item-btn,
  .stage-offer-btn,
  .mini-switch{
    flex:0 0 auto !important;
    min-height:38px !important;
    padding:0 12px !important;
    white-space:nowrap !important;
  }
  .stage-status{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:7px !important;
    padding:8px !important;
  }
  .status-chip{
    min-width:0 !important;
    padding:9px 7px !important;
  }
  .status-chip strong{
    font-size:13px !important;
    word-break:break-word !important;
  }
  .ai-banner,
  .announcer,
  .control-deck,
  .item-deck{
    border-radius:16px !important;
    padding:10px !important;
  }
  .case-stage{
    min-height:0 !important;
    overflow:visible !important;
    padding:10px 8px !important;
    border-radius:18px !important;
  }
  .case-stage::before{
    width:92% !important;
    height:34% !important;
  }
  .case-grid{
    width:100% !important;
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:8px !important;
    padding:18px 0 10px !important;
  }
  .case-btn{
    width:100% !important;
    min-width:0 !important;
    height:56px !important;
  }
  .case-shell{
    border-radius:14px !important;
  }
  .case-shell::before{
    left:18px !important;
    right:18px !important;
    top:-7px !important;
    height:14px !important;
    border-width:3px !important;
  }
  .case-label{
    font-size:20px !important;
    padding:2px !important;
  }
  .case-stage .case-amount-num{
    font-size:15px !important;
  }
  .case-stage .case-amount-num.compact{
    font-size:13px !important;
  }
  .case-stage .case-amount-num.tiny{
    font-size:11px !important;
  }
  .control-deck{
    display:grid !important;
    grid-template-columns:1fr !important;
  }
  .control-deck .btn,
  .control-deck .banker-offer-panel,
  .item-deck .btn{
    width:100% !important;
    min-width:0 !important;
  }
  .control-deck .banker-offer-panel{
    display:grid !important;
    grid-template-columns:1fr !important;
    height:auto !important;
    padding:10px !important;
    gap:8px !important;
  }
  .control-deck .banker-offer-input{
    width:100% !important;
    text-align:left !important;
  }
  .offer-return-dock{
    display:grid !important;
  }
  .offer-return-dock .btn{
    width:100% !important;
  }

  .modal{
    z-index:1200 !important;
    align-items:flex-start !important;
    justify-content:center !important;
    padding:12px max(10px,env(safe-area-inset-right)) 12px max(10px,env(safe-area-inset-left)) !important;
    overflow:auto !important;
    -webkit-overflow-scrolling:touch;
  }
  .modal-card,
  .auth-modal-card,
  .message-modal-card,
  .version-modal-card,
  .version-preview-modal-card,
  .feedback-modal-card,
  .reward-modal-card,
  .item-modal-card,
  .poster-modal-card{
    width:100% !important;
    max-width:none !important;
    max-height:calc(100dvh - 24px) !important;
    overflow:auto !important;
    border-radius:20px !important;
    padding:20px 14px 16px !important;
    margin:0 !important;
  }
  .modal-title{
    font-size:28px !important;
    line-height:1.12 !important;
    padding-inline:34px !important;
  }
  .modal-copy{
    max-width:none !important;
    font-size:13px !important;
  }
  .offer-amount{
    font-size:42px !important;
    line-height:1.1 !important;
    margin:10px 0 !important;
    word-break:break-word !important;
  }
  .modal-grid{
    grid-template-columns:1fr !important;
  }
  .version-notice-actions,
  .version-preview-grid{
    grid-template-columns:1fr !important;
  }
  .version-notice-actions{
    display:grid !important;
    gap:9px !important;
  }
  .version-notice-actions .btn{
    width:100% !important;
  }
  .version-preview-grid{
    display:grid !important;
    gap:10px !important;
  }
  .version-preview-grid article{
    min-height:auto !important;
    padding:14px !important;
  }
  .modal-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
  }
  .modal-actions .btn,
  .modal-actions a.btn{
    width:100% !important;
  }
  .modal-icon-close{
    right:12px !important;
    top:12px !important;
    width:34px !important;
    height:34px !important;
    z-index:3 !important;
  }
  .message-list,
  .player-changelog-list,
  .item-modal-grid,
  .result-list{
    max-height:calc(100dvh - 220px) !important;
    overflow:auto !important;
    -webkit-overflow-scrolling:touch;
  }
  .message-card,
  .message-head,
  .message-detail-top{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    text-align:left !important;
  }
  .message-head time,
  .message-detail-top time,
  .player-changelog-time{
    justify-self:start !important;
  }
  .player-changelog-head{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
  }
  .message-foot{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
  }
  .message-read-btn,
  .message-back-btn{
    width:100% !important;
  }
  .feedback-textarea{
    min-height:180px !important;
  }
  .reward-image-wrap img,
  #rewardImage{
    max-width:100% !important;
    height:auto !important;
  }
  .poster-preview-wrap{
    max-height:46dvh !important;
    overflow:auto !important;
  }
  #posterPreview{
    max-width:100% !important;
    height:auto !important;
  }
  .poster-link-strip{
    display:block !important;
    max-width:100% !important;
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
    text-align:left !important;
  }
  .toast-wrap{
    z-index:1300 !important;
    left:10px !important;
    right:10px !important;
    top:auto !important;
    bottom:12px !important;
    width:auto !important;
  }
}

@media (max-width:380px){
  .hero-stats,
  .profile-stat-grid,
  .record-stats,
  .shop-summary-grid{
    grid-template-columns:1fr !important;
  }
  .screen-title{
    font-size:27px !important;
  }
  .case-grid{
    gap:7px !important;
  }
  .case-btn{
    height:52px !important;
  }
  .case-label{
    font-size:18px !important;
  }
}

/* === mobile setup screen v2: readable mode and room cards === */
@media (max-width:980px){
  #view-setup{
    padding-bottom:96px !important;
  }
  #view-setup .screen-head{
    margin-bottom:16px !important;
  }
  #view-setup .screen-title{
    font-size:28px !important;
    line-height:1.12 !important;
  }
  #view-setup .screen-desc{
    font-size:13px !important;
    line-height:1.65 !important;
    color:#fff0dc !important;
  }
  #view-setup .setup-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
    align-items:start !important;
  }
  #view-setup .mode-stack,
  #view-setup .rooms-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:none !important;
    grid-auto-rows:auto !important;
    gap:12px !important;
    height:auto !important;
    transform:none !important;
  }
  #view-setup .setup-side{
    display:block !important;
    width:100% !important;
    height:auto !important;
    margin:0 !important;
    align-self:start !important;
  }
  #view-setup .mode-card,
  #view-setup .room-card{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    transform:none !important;
  }
  #view-setup .mode-card:hover,
  #view-setup .room-card:hover{
    transform:none !important;
  }
  #view-setup .mode-card .card-pad,
  #view-setup .room-card .card-pad{
    display:flex !important;
    flex-direction:column !important;
    grid-template-columns:none !important;
    grid-template-rows:none !important;
    gap:10px !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    padding:16px !important;
    align-items:stretch !important;
  }
  #view-setup .mode-card .kicker{
    font-size:10px !important;
    line-height:1.2 !important;
    margin:0 !important;
  }
  #view-setup .mode-card h3,
  #view-setup .room-card h3{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:8px !important;
    min-height:0 !important;
    margin:0 !important;
    font-size:22px !important;
    line-height:1.22 !important;
    word-break:break-word !important;
  }
  #view-setup .mode-card .heading-ico{
    flex:0 0 auto !important;
  }
  #view-setup .mode-card p,
  #view-setup .room-card p{
    flex:none !important;
    min-height:0 !important;
    margin:0 !important;
    font-size:13px !important;
    line-height:1.68 !important;
    word-break:break-word !important;
    overflow:visible !important;
  }
  #view-setup .mode-foot{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    margin-top:2px !important;
  }
  #view-setup .mode-badge,
  #view-setup .room-badge{
    display:inline-flex !important;
    align-items:center !important;
    width:max-content !important;
    max-width:100% !important;
    min-height:34px !important;
    padding:7px 10px !important;
    white-space:normal !important;
    line-height:1.25 !important;
  }
  #view-setup .mode-note{
    font-size:12px !important;
    line-height:1.45 !important;
    text-align:left !important;
    opacity:.92 !important;
  }
  #view-setup .room-meta{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:7px !important;
    width:100% !important;
    margin:0 !important;
  }
  #view-setup .room-line{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    width:100% !important;
    min-height:38px !important;
    padding:8px 10px !important;
    border-radius:12px !important;
  }
  #view-setup .room-line label,
  #view-setup .room-line strong{
    font-size:12px !important;
    line-height:1.25 !important;
  }
  #view-setup .room-line label{
    flex:1 1 auto !important;
    min-width:0 !important;
  }
  #view-setup .room-line strong{
    flex:0 0 auto !important;
    max-width:58% !important;
    text-align:right !important;
    overflow-wrap:anywhere !important;
  }
  #view-setup .room-start-btn{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-height:46px !important;
    margin:2px 0 0 !important;
    align-self:stretch !important;
    grid-column:auto !important;
    grid-row:auto !important;
    position:static !important;
    white-space:nowrap !important;
  }
}

@media (max-width:380px){
  #view-setup .mode-card h3,
  #view-setup .room-card h3{
    font-size:20px !important;
  }
  #view-setup .mode-card .card-pad,
  #view-setup .room-card .card-pad{
    padding:14px !important;
  }
  #view-setup .room-line{
    display:grid !important;
    grid-template-columns:1fr !important;
    align-items:start !important;
  }
  #view-setup .room-line strong{
    max-width:100% !important;
    text-align:left !important;
  }
}

/* === mobile profile v2: compact profile without history block === */
@media (max-width:980px){
  #view-profile .profile-grid{
    grid-template-columns:1fr !important;
    align-items:start !important;
  }
  #view-profile .profile-history-card{
    display:none !important;
  }
  #view-profile .identity-card,
  #view-profile .title-panel-card,
  #view-profile .identity-card .card-pad,
  #view-profile .title-panel-card .card-pad{
    height:auto !important;
    min-height:0 !important;
  }
  #view-profile .identity-card .region-row{
    margin-top:12px !important;
  }
}

/* === mobile shop v2: category tabs and one-section list === */
@media (max-width:980px){
  #view-shop .shop-shell{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  #view-shop .shop-content-stack{
    gap:10px !important;
  }
  #view-shop .shop-grid-2,
  #view-shop .shop-grid-3{
    display:contents !important;
  }
  #view-shop .shop-category-tabs{
    display:flex !important;
    gap:8px !important;
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch;
    padding:8px !important;
    border-radius:18px !important;
    scroll-snap-type:x proximity;
  }
  #view-shop .shop-category-tab{
    flex:0 0 92px !important;
    min-height:52px !important;
    padding:9px 11px !important;
    scroll-snap-align:start;
  }
  #view-shop .shop-category-tab span{
    font-size:14px !important;
  }
  #view-shop .shop-category-tab b{
    font-size:9px !important;
  }
  #view-shop .shop-block[data-shop-section]{
    display:none !important;
  }
  #view-shop .shop-block[data-shop-section].active{
    display:block !important;
  }
  #view-shop .shop-block[data-shop-section].active .card-pad{
    display:grid !important;
    gap:10px !important;
    padding:14px !important;
    max-height:none !important;
    min-height:0 !important;
  }
  #view-shop .shop-block[data-shop-section].active .shop-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    max-height:none !important;
    overflow:visible !important;
    padding:0 !important;
  }
}

/* === mobile theme softness v3: small-screen glare reduction === */
@media (max-width:980px){
  body[class*="theme-global-"]{
    background-attachment:scroll !important;
  }
  body[class*="theme-global-"]::before{
    opacity:.46 !important;
    background:
      linear-gradient(180deg,rgba(247,240,228,.14),rgba(8,8,9,.38)),
      radial-gradient(circle at 20% 8%,var(--soft-theme-glow),transparent 32%) !important;
  }
  body[class*="theme-global-"]::after{
    opacity:.08 !important;
    filter:saturate(.45) brightness(.9) !important;
    animation:none !important;
  }
  body[class*="theme-global-"] #app::before{
    opacity:.14 !important;
  }
  body[class*="theme-global-"] .topbar{
    background:linear-gradient(180deg,rgba(20,20,20,.94),rgba(14,14,15,.91)) !important;
    box-shadow:0 10px 20px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.08) !important;
  }
  body[class*="theme-global-"] .nav-btn,
  body[class*="theme-global-"] .top-action-pill,
  body[class*="theme-global-"] .auth-pill,
  body[class*="theme-global-"] .top-asset-pill,
  body[class*="theme-global-"] .meta-pill{
    background:linear-gradient(180deg,rgba(42,40,38,.76),rgba(16,16,17,.90)) !important;
    box-shadow:0 6px 14px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.08) !important;
  }
  body[class*="theme-global-"] .nav-btn.active,
  body[class*="theme-global-"] .nav-btn:hover,
  body[class*="theme-global-"] .top-action-pill:hover{
    background:linear-gradient(180deg,color-mix(in srgb,var(--soft-theme-a) 13%,rgba(50,48,46,.80) 87%),rgba(18,18,19,.90)) !important;
    box-shadow:0 7px 16px rgba(0,0,0,.16),0 0 6px var(--soft-theme-glow),inset 0 1px 0 rgba(255,255,255,.12) !important;
  }
  body[class*="theme-global-"] .hero-main,
  body[class*="theme-global-"] .case-stage,
  body[class*="theme-global-"] .stage-shell,
  body[class*="theme-global-"] .card,
  body[class*="theme-global-"] .modal-card,
  body[class*="theme-global-"] .shop-preview-scene{
    box-shadow:0 16px 34px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.07) !important;
  }
  body[class*="theme-global-"] .hero-side .feature.card,
  body[class*="theme-global-"] .version-notice{
    background:
      radial-gradient(circle at 84% 8%,rgba(255,255,255,.10),transparent 34%),
      linear-gradient(180deg,rgba(229,222,210,.70),rgba(207,198,184,.58)) !important;
    box-shadow:0 12px 26px rgba(0,0,0,.13),inset 0 1px 0 rgba(255,255,255,.20) !important;
  }
  body[class*="theme-global-"] .btn-primary,
  body[class*="theme-global-"] .logo-emblem{
    filter:saturate(.82) brightness(.98) !important;
  }
  body[class*="theme-global-"] .screen-title,
  body[class*="theme-global-"] .hero-main h2{
    text-shadow:0 2px 7px rgba(0,0,0,.46) !important;
  }
  body[class*="theme-global-"] .case-stage::before,
  body[class*="theme-global-"] .case-grid::before,
  body[class*="theme-global-"] .case-grid::after,
  body[class*="theme-global-"] .stage-shell::before,
  body[class*="theme-global-"] .stage-shell::after{
    opacity:.32 !important;
    filter:saturate(.45) !important;
  }
}

/* === mobile theme warmth v4: less gray without returning to glare === */
@media (max-width:980px){
  body[class*="theme-global-"]{
    --soft-theme-a:color-mix(in srgb,var(--theme-a,#e8c886) 50%,#fff0d8 50%);
    --soft-theme-b:color-mix(in srgb,var(--theme-b,#b88946) 38%,#b69d7c 62%);
    --soft-theme-c:color-mix(in srgb,var(--theme-c,#121820) 24%,#241d17 76%);
  }
  body[class*="theme-global-"]::before{
    opacity:.38 !important;
    background:
      linear-gradient(180deg,rgba(255,243,224,.18),rgba(35,26,19,.28)),
      radial-gradient(circle at 20% 8%,var(--soft-theme-glow),transparent 32%) !important;
  }
  body[class*="theme-global-"] .hero-side .feature.card,
  body[class*="theme-global-"] .version-notice{
    background:
      radial-gradient(circle at 84% 8%,rgba(255,249,238,.15),transparent 34%),
      linear-gradient(180deg,rgba(242,230,212,.72),rgba(224,210,188,.60)) !important;
  }
  body[class*="theme-global-"] .card,
  body[class*="theme-global-"] .modal-card,
  body[class*="theme-global-"] .shop-preview-scene{
    background:
      radial-gradient(circle at 86% 12%,var(--soft-theme-glow),transparent 32%),
      linear-gradient(180deg,rgba(55,43,32,.74),rgba(18,15,13,.86)) !important;
  }
  #view-shop .shop-buy-btn{
    display:grid !important;
    grid-template-columns:auto auto minmax(0,1fr) !important;
    width:100% !important;
    padding:0 12px !important;
    gap:6px !important;
  }
  #view-shop .shop-btn-price{
    min-width:0 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    font-size:12px !important;
  }
}

/* === mobile performance cooling v1: lower GPU pressure on phones/tablets === */
@media (max-width:980px), (pointer:coarse){
  html,
  body,
  #app,
  .viewport,
  .view{
    scroll-behavior:auto !important;
  }
  body,
  body[class*="theme-global-"]{
    background-attachment:scroll !important;
  }
  body::before,
  body::after,
  body[class*="theme-global-"]::before,
  body[class*="theme-global-"]::after,
  #app::before,
  #app::after{
    animation:none !important;
    filter:none !important;
    transform:none !important;
    mix-blend-mode:normal !important;
    will-change:auto !important;
  }
  body[class*="theme-global-"]::after{
    opacity:.05 !important;
  }
  .modal{
    backdrop-filter:none !important;
  }
  .topbar,
  .card,
  .modal-card,
  .hero-main,
  .stage-shell,
  .case-stage,
  .money-plaque,
  .announcer,
  .control-deck,
  .ai-banner,
  .shop-preview-scene,
  .version-preview-modal-card,
  .version-preview-grid article,
  .reward-modal-card,
  .reward-support-panel,
  .reward-ranking-panel{
    backdrop-filter:none !important;
    filter:none !important;
    animation:none !important;
    box-shadow:0 8px 18px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.06) !important;
    will-change:auto !important;
  }
  .nav-btn,
  .meta-pill,
  .top-action-pill,
  .auth-pill,
  .top-asset-pill,
  .btn,
  .mode-card,
  .room-card,
  .case-btn,
  .shop-item,
  .shop-buy-btn,
  .icon-btn{
    transition:none !important;
    transform:none !important;
    filter:none !important;
    will-change:auto !important;
  }
  .nav-btn:hover,
  .top-action-pill:hover,
  .btn:hover,
  .mode-card:hover,
  .room-card:hover,
  .case-btn:hover:not([disabled]),
  .shop-item:hover,
  .shop-buy-btn:hover,
  .icon-btn:hover{
    transform:none !important;
    filter:none !important;
  }
  .case-btn.opening,
  .case-stage[class*="scene-"],
  .shop-preview-scene,
  body[class*="theme-global-"] .shop-preview-scene{
    animation:none !important;
  }
  .case-stage::before,
  .case-stage::after,
  .stage-shell::before,
  .stage-shell::after,
  .case-grid::before,
  .case-grid::after,
  .money-plaque::before,
  .money-plaque::after,
  .hero-main::before,
  .hero-main::after,
  .shop-preview-scene::before,
  .shop-preview-scene::after,
  .ai-banner::before,
  .ai-banner::after{
    display:none !important;
  }
}

/* === mobile v3.5.8: setup battle capsules and PVP entry cards === */
@media (max-width:980px), (pointer:coarse){
  #view-setup .screen-head{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
    align-items:start !important;
  }
  #view-setup .setup-battle-switch{
    width:100% !important;
    min-width:0 !important;
    min-height:46px !important;
    padding:4px !important;
    border-radius:999px !important;
  }
  #view-setup .setup-battle-tab{
    min-width:0 !important;
    height:38px !important;
    padding:0 8px !important;
    gap:6px !important;
    font-size:13px !important;
    white-space:nowrap !important;
  }
  #view-setup.setup-battle-pvp .setup-grid{
    grid-template-columns:1fr !important;
  }
  #view-setup.setup-battle-pvp .mode-stack{
    display:none !important;
  }
  #view-setup .rooms-grid.pvp-entry-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:none !important;
    grid-auto-rows:auto !important;
    gap:12px !important;
    width:100% !important;
    height:auto !important;
    transform:none !important;
  }
  #view-setup .pvp-entry-card{
    width:100% !important;
    min-height:0 !important;
    height:auto !important;
    overflow:visible !important;
  }
  #view-setup .pvp-entry-card .card-pad{
    display:flex !important;
    flex-direction:column !important;
    gap:12px !important;
    height:auto !important;
    padding:16px !important;
  }
  #view-setup .pvp-entry-top{
    display:grid !important;
    grid-template-columns:44px minmax(0,1fr) !important;
    gap:12px !important;
    align-items:center !important;
  }
  #view-setup .pvp-entry-icon{
    width:44px !important;
    height:44px !important;
    border-radius:14px !important;
    font-size:22px !important;
  }
  #view-setup .pvp-entry-top h3{
    font-size:22px !important;
    line-height:1.22 !important;
    margin:2px 0 0 !important;
  }
  #view-setup .pvp-entry-card p{
    font-size:13px !important;
    line-height:1.65 !important;
  }
  #view-setup .pvp-entry-meta{
    display:grid !important;
    gap:7px !important;
  }
  #view-setup .pvp-entry-btn{
    width:100% !important;
    min-height:46px !important;
    margin:0 !important;
  }
  #view-setup .pvp-console{
    display:grid !important;
    gap:12px !important;
    width:100% !important;
    min-width:0 !important;
  }
  #view-setup .pvp-console-head,
  #view-setup .pvp-panel{
    border-radius:18px !important;
    padding:14px !important;
  }
  #view-setup .pvp-console-head{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  #view-setup .pvp-console-head h2{
    font-size:24px !important;
    line-height:1.14 !important;
    margin:3px 0 6px !important;
  }
  #view-setup .pvp-console-head p,
  #view-setup .pvp-flow-copy,
  #view-setup .pvp-create-copy p,
  #view-setup .pvp-small-note{
    font-size:13px !important;
    line-height:1.62 !important;
  }
  #view-setup .pvp-mode-switch,
  #view-setup .pvp-subtabs{
    width:100% !important;
    min-width:0 !important;
  }
  #view-setup .setup-battle-switch,
  #view-setup .pvp-mode-switch,
  #view-setup .pvp-subtabs{
    gap:4px !important;
    padding:4px !important;
  }
  #view-setup .setup-battle-tab,
  #view-setup .pvp-mode-switch button,
  #view-setup .pvp-subtabs button{
    min-width:0 !important;
    padding:0 8px !important;
    gap:5px !important;
    font-size:13px !important;
    letter-spacing:0 !important;
  }
  #view-setup .capsule-ico{
    width:20px !important;
    min-width:20px !important;
    height:20px !important;
    flex-basis:20px !important;
    font-size:11px !important;
  }
  #view-setup .capsule-label{
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    letter-spacing:0 !important;
  }
  #view-setup .pvp-console-grid,
  #view-setup .pvp-summary-strip,
  #view-setup .pvp-safety-strip,
  #view-setup .pvp-status-lines.compact,
  #view-setup .pvp-role-grid,
  #view-setup .pvp-ready-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  #view-setup .pvp-room-option{
    display:grid !important;
    grid-template-columns:38px minmax(0,1fr) !important;
    gap:10px !important;
    padding:11px !important;
  }
  #view-setup .pvp-room-price{
    grid-column:2 !important;
    justify-items:start !important;
  }
  #view-setup .pvp-role-btn{
    min-height:0 !important;
    padding:12px !important;
  }
  #view-setup .pvp-flow-actions,
  #view-setup .pvp-ready-actions,
  #view-setup .pvp-code-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
  }
  #view-setup .pvp-flow-actions .btn,
  #view-setup .pvp-ready-actions .btn,
  #view-setup .pvp-code-row .btn{
    width:100% !important;
    min-height:44px !important;
  }
  #view-setup .pvp-code-input{
    width:100% !important;
    min-width:0 !important;
  }
  #view-setup .pvp-code-display{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
  }
  #view-setup .pvp-code-display strong{
    font-size:22px !important;
    letter-spacing:3px !important;
  }
  #view-setup .pvp-status-head{
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) !important;
    gap:10px !important;
  }
  #view-setup .pvp-status-head h3{
    font-size:21px !important;
  }
  #view-setup .pvp-status-head strong{
    grid-column:2 !important;
  }
  #view-setup .pvp-versus{
    min-height:32px !important;
  }
  #view-setup .pvp-role-btn{
    min-height:72px !important;
    padding:13px 14px !important;
    align-content:center !important;
  }
  #view-setup .pvp-status-lines.compact .room-line{
    min-height:36px !important;
    padding:8px 10px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
  }
  #view-setup .pvp-flow-panel .pvp-main-action{
    width:100% !important;
    height:44px !important;
    min-height:44px !important;
    border-radius:13px !important;
  }
  #view-setup .pvp-room-option.active{
    transform:none !important;
  }
}

/* === mobile PVP compact labels and action polish === */
@media (max-width:980px), (pointer:coarse){
  #view-setup .pvp-mode-switch .capsule-ico{
    width:22px !important;
    min-width:22px !important;
    flex-basis:22px !important;
    font-size:10px !important;
  }
  #view-setup .pvp-room-option{
    grid-template-columns:36px minmax(0,1fr) !important;
  }
  #view-setup .pvp-room-icon{
    width:34px !important;
    height:34px !important;
    border-radius:11px !important;
    font-size:14px !important;
  }
  #view-setup .pvp-role-btn{
    grid-template-columns:32px minmax(0,1fr) !important;
    min-height:68px !important;
    gap:9px !important;
  }
  #view-setup .pvp-role-icon{
    width:28px !important;
    height:28px !important;
    border-radius:10px !important;
    font-size:13px !important;
  }
  #view-setup .pvp-role-copy{
    display:grid !important;
    gap:4px !important;
    min-width:0 !important;
  }
  #view-setup .pvp-stat-row,
  #view-setup .pvp-match-stats{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:6px !important;
  }
  #view-setup .pvp-stat-row .room-line,
  #view-setup .pvp-match-stats .room-line{
    min-height:34px !important;
    padding:6px 7px !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:4px !important;
    align-items:center !important;
    justify-items:center !important;
    text-align:center !important;
  }
  #view-setup .pvp-stat-row .room-line label,
  #view-setup .pvp-match-stats .room-line label{
    font-size:10.5px !important;
  }
  #view-setup .pvp-stat-row .room-line strong,
  #view-setup .pvp-match-stats .room-line strong{
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    font-size:12px !important;
  }
  #view-setup .pvp-flow-panel .pvp-main-action,
  #view-setup .pvp-flow-actions .pvp-secondary-action{
    width:100% !important;
  }
}

/* === mobile play cooling v2: keep reward fireworks, reduce persistent play-scene cost === */
@media (max-width:980px), (pointer:coarse){
  #view-play .table-layout .money-plaque,
  #view-play .money-plaque{
    display:none !important;
  }
  #view-play .case-stage{
    isolation:auto !important;
    background:
      linear-gradient(180deg,rgba(13,11,9,.88),rgba(5,4,3,.96)) !important;
    box-shadow:0 8px 18px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.05) !important;
  }
  #view-play .case-stage::before,
  #view-play .case-stage::after,
  #view-play .stage-shell::before,
  #view-play .stage-shell::after,
  #view-play .case-grid::before,
  #view-play .case-grid::after{
    content:none !important;
    display:none !important;
    background:none !important;
    filter:none !important;
    transform:none !important;
  }
  #view-play .stage-head,
  #view-play .stage-status,
  #view-play .announcer,
  #view-play .control-deck,
  #view-play .item-deck{
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05) !important;
  }
  #view-play .live-dot{
    box-shadow:none !important;
  }
  #view-play .case-stage .case-shell,
  #view-play .case-stage[class*="skin-"] .case-shell,
  #view-play .case-stage .case-btn.opened .case-shell,
  #view-play .case-stage[class*="skin-"] .case-btn.opened .case-shell{
    box-shadow:0 7px 12px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,249,235,.40),inset 0 -3px 0 rgba(0,0,0,.34) !important;
    transition:none !important;
  }
  #view-play .case-stage .case-btn.player .case-shell,
  #view-play .case-stage[class*="skin-"] .case-btn.player .case-shell{
    box-shadow:0 0 0 2px rgba(255,226,155,.24),0 8px 13px rgba(0,0,0,.34) !important;
  }
  #view-play .case-stage .case-btn.ai:not(.opened) .case-shell,
  #view-play .case-stage[class*="skin-"] .case-btn.ai:not(.opened) .case-shell{
    outline:2px solid rgba(255,226,155,.46) !important;
    box-shadow:0 0 0 2px rgba(255,226,155,.08),0 8px 13px rgba(0,0,0,.34) !important;
  }
  #view-play .case-stage .case-shell::after,
  #view-play .case-stage[class*="skin-"] .case-shell::after{
    box-shadow:none !important;
  }
  #view-play .case-label,
  #view-play .stage-live,
  #view-play .announcer,
  #view-play .offer-amount{
    text-shadow:none !important;
  }
}

/* === mobile hotfix v3.0.7: visible boards, safe top actions, poster fit === */
@media (max-width:980px), (pointer:coarse){
  #view-play.game-view{
    padding:8px 8px 92px !important;
  }
  #view-play .table-layout{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    align-items:start !important;
  }
  #view-play .stage-shell{
    order:1 !important;
  }
  #view-play .table-layout .money-plaque,
  #view-play .money-plaque{
    display:block !important;
    order:2 !important;
    min-width:0 !important;
    width:100% !important;
    padding:10px !important;
    border-radius:16px !important;
    overflow:hidden !important;
  }
  #view-play .table-layout .money-plaque:last-child{
    order:3 !important;
  }
  #view-play .plaque-title{
    min-height:26px !important;
    padding:0 2px 7px !important;
    font-size:10px !important;
    letter-spacing:1.1px !important;
    white-space:nowrap !important;
  }
  #view-play .money-list{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:6px !important;
  }
  #view-play .money-pill,
  #view-play .money-pill.high{
    min-width:0 !important;
    height:26px !important;
    padding:0 6px !important;
    border-radius:10px !important;
    font-size:clamp(9px,2.65vw,11px) !important;
    line-height:1 !important;
    letter-spacing:0 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:clip !important;
  }
  #view-play .money-pill.gone::after{
    right:5px !important;
    top:4px !important;
    font-size:11px !important;
  }
  #view-play .stage-head{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    overflow:visible !important;
  }
  #view-play .stage-head-right{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:7px !important;
    overflow:visible !important;
    padding-bottom:0 !important;
    width:100% !important;
  }
  #view-play .stage-head .title-badge{
    grid-column:1 / -1 !important;
    width:100% !important;
    max-width:100% !important;
    justify-content:center !important;
    min-width:0 !important;
  }
  #view-play .stage-switches{
    grid-column:1 / -1 !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:7px !important;
    width:100% !important;
  }
  #view-play .stage-offer-btn,
  #view-play .stage-item-btn,
  #view-play .mini-switch{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:38px !important;
    min-height:38px !important;
    padding:0 6px !important;
    justify-content:center !important;
    font-size:12px !important;
    letter-spacing:0 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:clip !important;
  }
  #view-play #backSetupBtn{
    font-weight:1000 !important;
  }
  .auth-dropdown{
    width:var(--auth-menu-width,min(220px,calc(100vw - 24px))) !important;
    min-width:136px !important;
    max-width:calc(100vw - 24px) !important;
  }
  .auth-dropdown button{
    min-height:40px !important;
    font-size:14px !important;
  }
  .offer-amount,
  #resultAmount{
    max-width:100% !important;
    font-size:clamp(30px,10vw,42px) !important;
    line-height:1.08 !important;
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
    text-align:center !important;
  }
  .case-stage .case-btn.opened .case-label > .case-amount-box,
  .case-stage .case-btn.peeked .case-label > .case-amount-box{
    min-height:28px !important;
    padding:0 1px !important;
  }
  .case-stage .case-amount-box .neutral-case-amount,
  .case-stage .case-amount-box .neutral-case-amount.compact,
  .case-stage .case-amount-box .neutral-case-amount.tiny{
    font-size:var(--case-amount-size,14px) !important;
    transform:translate(-50%,-50%) scaleX(var(--case-amount-scale,.78)) !important;
  }
  .poster-modal-card{
    max-height:calc(100dvh - 20px) !important;
    overflow:auto !important;
  }
  .poster-preview-wrap{
    width:min(92vw,390px) !important;
    max-width:100% !important;
    max-height:none !important;
    overflow:visible !important;
    padding:8px !important;
  }
  .poster-preview-wrap img,
  #posterPreview{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    object-fit:contain !important;
  }
}

@media (max-width:380px){
  #view-play .stage-switches{
    grid-template-columns:1fr !important;
  }
  #view-play .stage-offer-btn,
  #view-play .stage-item-btn{
    grid-column:1 / -1 !important;
  }
  #view-play .money-list{
    grid-template-columns:1fr !important;
  }
}

/* === mobile hotfix v3.0.9: readable values and visible exit === */
@media (max-width:980px), (pointer:coarse){
  #view-play .stage-head{
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
  }
  #view-play .stage-head-right,
  #view-play .stage-switches{
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
  }
  #view-play .stage-switches{
    grid-template-columns:1fr !important;
  }
  #view-play .stage-offer-btn,
  #view-play .stage-item-btn{
    grid-column:1 / -1 !important;
    width:100% !important;
    min-height:44px !important;
    height:44px !important;
    font-size:14px !important;
    border-radius:14px !important;
  }
  #view-play #backSetupBtn{
    grid-column:1 / -1 !important;
    width:100% !important;
    min-height:44px !important;
    height:44px !important;
    font-size:14px !important;
    border-radius:14px !important;
  }
  #view-play .money-list{
    gap:8px !important;
  }
  #view-play .money-pill,
  #view-play .money-pill.high{
    height:34px !important;
    padding:0 8px !important;
    border-radius:12px !important;
    font-size:0 !important;
  }
  #view-play .money-pill-text{
    font-size:clamp(14px,var(--money-font-size,16px),17px) !important;
    transform:scaleX(var(--money-scale,.92)) !important;
  }
  #view-play .money-pill.gone .money-pill-text{
    max-width:calc(100% - 16px) !important;
  }
  #view-play .money-pill.gone::after{
    right:6px !important;
    top:8px !important;
    font-size:12px !important;
  }
  #view-play .case-stage .case-btn.opened .case-label > .case-amount-box,
  #view-play .case-stage .case-btn.peeked .case-label > .case-amount-box{
    min-height:30px !important;
    padding:0 2px !important;
  }
  #view-play .case-stage .case-amount-box .neutral-case-amount,
  #view-play .case-stage .case-amount-box .neutral-case-amount.compact,
  #view-play .case-stage .case-amount-box .neutral-case-amount.tiny{
    font-size:clamp(11px,var(--case-amount-size,14px),15px) !important;
    transform:translate(-50%,-50%) scaleX(var(--case-amount-scale,.72)) !important;
  }
  body:not([data-run-state="banker_offer"]) #view-play .control-deck,
  #view-play .item-deck,
  #view-play .offer-return-dock{
    display:none !important;
  }
  body[data-run-state="banker_offer"] #view-play .control-deck{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
  }
  body[data-run-state="banker_offer"] #view-play .control-deck .btn,
  body[data-run-state="banker_offer"] #view-play .control-deck .banker-offer-panel{
    width:100% !important;
  }
  #view-play .money-pill.gone,
  #view-play .money-pill.gone.high{
    justify-content:center !important;
  }
  #view-play .money-pill.gone .money-pill-text{
    max-width:calc(100% - 20px) !important;
    text-align:center !important;
  }
  #view-play .money-pill.gone .money-pill-text{
    max-width:100% !important;
  }
  #view-play .money-pill.gone::before,
  #view-play .money-pill.gone.high::before{
    left:8px !important;
    right:8px !important;
  }
  #view-play .money-pill.gone::after,
  #view-play .money-pill.gone.high::after{
    content:none !important;
    display:none !important;
  }
  #view-play .money-pill.gone::before,
  #view-play .money-pill.gone.high::before{
    content:"" !important;
    position:absolute !important;
    inset:5px 8px !important;
    width:auto !important;
    height:auto !important;
    border-radius:inherit !important;
    background:linear-gradient(to top right,transparent calc(50% - 1.2px),rgba(255,240,205,.92) calc(50% - 1.2px),rgba(255,128,128,.98) 50%,rgba(255,240,205,.92) calc(50% + 1.2px),transparent calc(50% + 1.2px)) !important;
    box-shadow:none !important;
    opacity:.96 !important;
    transform:none !important;
  }
  #view-play .money-pill.gone::before,
  #view-play .money-pill.gone.high::before,
  #view-play .money-pill.gone::after,
  #view-play .money-pill.gone.high::after{
    content:none !important;
    display:none !important;
    background:none !important;
    box-shadow:none !important;
  }
  #view-play .money-pill.gone .money-pill-text{
    max-width:100% !important;
    text-decoration-line:line-through !important;
    text-decoration-thickness:2.3px !important;
    text-decoration-color:rgba(255,238,205,.96) !important;
    text-decoration-skip-ink:none !important;
  }
  #view-play .money-pill.gone .money-pill-text{
    position:relative !important;
    text-decoration:none !important;
  }
  #view-play .money-pill.gone .money-pill-text::after{
    content:"" !important;
    position:absolute !important;
    left:50% !important;
    right:auto !important;
    top:50% !important;
    width:calc(100% + 9px) !important;
    height:2px !important;
    border-radius:999px !important;
    background:rgba(255,232,197,.94) !important;
    box-shadow:0 1px 0 rgba(0,0,0,.55) !important;
    transform:translate(-50%,-50%) rotate(3deg) !important;
    transform-origin:center !important;
    pointer-events:none !important;
  }
}

/* === mobile v3.1.8: compact item/history actions === */
@media (max-width:980px), (pointer:coarse){
  #view-play .stage-head-right{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  #view-play .stage-offer-btn{
    grid-column:1 / -1 !important;
  }
  #view-play .stage-item-btn,
  #view-play .stage-history-btn{
    grid-column:auto !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    min-height:36px !important;
    height:36px !important;
    padding:0 7px !important;
    justify-content:center !important;
    gap:5px !important;
    border-radius:12px !important;
    font-size:12px !important;
    letter-spacing:0 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:clip !important;
  }
  #view-play .stage-history-btn .ico,
  #view-play .stage-item-btn .ico{
    width:14px !important;
    min-width:14px !important;
    font-size:11px !important;
  }
  #view-play .stage-switches,
  #view-play #backSetupBtn{
    grid-column:1 / -1 !important;
  }
  body[data-run-state="finished"] #view-play .stage-history-btn{
    grid-column:1 / -1 !important;
  }
  body[data-run-mode="banker"] #view-play .stage-item-btn.hidden + .stage-history-btn:not(.hidden){
    grid-column:1 / -1 !important;
    width:100% !important;
    max-width:100% !important;
  }
  .case-history-modal-card{
    width:calc(100vw - 22px) !important;
    max-height:calc(100dvh - 22px) !important;
    overflow:auto !important;
    padding:20px 14px 14px !important;
  }
  .case-history-list{
    max-height:58dvh !important;
  }
  .case-history-row{
    grid-template-columns:42px minmax(0,1fr) minmax(82px,auto) !important;
    gap:8px !important;
    padding:10px 9px !important;
  }
  .case-history-row span{
    width:32px !important;
    height:24px !important;
    font-size:11px !important;
  }
  .case-history-row strong,
  .case-history-row b{
    font-size:13px !important;
  }
}

@media (max-width:380px){
  #view-play .stage-item-btn,
  #view-play .stage-history-btn{
    font-size:11px !important;
    padding:0 5px !important;
  }
}

/* === mobile v3.1.9: result actions order === */
@media (max-width:980px), (pointer:coarse){
  #resultModal .result-modal-card{
    width:calc(100vw - 22px) !important;
    max-height:calc(100dvh - 22px) !important;
    overflow:auto !important;
    padding:17px 12px 13px !important;
  }
  #resultModal .modal-title{
    font-size:24px !important;
    line-height:1.1 !important;
    padding-inline:28px !important;
  }
  #resultModal .offer-amount{
    font-size:36px !important;
    line-height:1.05 !important;
    margin:7px 0 8px !important;
  }
  #resultModal .result-list{
    gap:7px !important;
    margin:8px 0 7px !important;
    max-height:none !important;
    overflow:visible !important;
  }
  #resultModal .result-summary-list{
    gap:7px !important;
  }
  #resultModal .result-row{
    min-height:38px !important;
    padding:8px 10px !important;
    border-radius:12px !important;
    gap:10px !important;
  }
  #resultModal .result-row span{
    font-size:12px !important;
    line-height:1.25 !important;
  }
  #resultModal .result-row b{
    font-size:13px !important;
    line-height:1.25 !important;
  }
  #resultModal .result-details{
    margin-top:7px !important;
    border-radius:13px !important;
  }
  #resultModal .result-details summary{
    min-height:38px !important;
    padding:0 10px !important;
    font-size:13px !important;
  }
  #resultModal .result-detail-list{
    max-height:210px !important;
    padding:0 6px 6px !important;
  }
  #resultModal .result-detail-list .result-row{
    min-height:34px !important;
    padding:7px 8px !important;
  }
  #resultModal .modal-copy{
    font-size:12px !important;
    line-height:1.45 !important;
    margin:5px auto 7px !important;
    -webkit-line-clamp:2 !important;
  }
  #resultModal .result-actions{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:9px !important;
  }
  #resultModal #resultViewBoardBtn{
    grid-column:1 / -1 !important;
    order:1 !important;
  }
  #resultModal #resultShareBtn{
    grid-column:1 / -1 !important;
    order:2 !important;
  }
  #resultModal #againBtn{
    grid-column:1 !important;
    order:3 !important;
  }
  #resultModal #backHomeBtn{
    grid-column:2 !important;
    order:4 !important;
  }
  #resultModal .result-actions .btn{
    width:100% !important;
    min-width:0 !important;
    height:42px !important;
    min-height:42px !important;
    padding:0 8px !important;
    justify-content:center !important;
    font-size:13px !important;
    white-space:nowrap !important;
  }
  #resultModal #resultViewBoardBtn{
    border-color:rgba(255,214,145,.38) !important;
    background:linear-gradient(180deg,rgba(108,77,44,.98),rgba(48,33,22,.98) 58%,rgba(18,12,9,.99) 100%) !important;
    color:#fff0cf !important;
  }
  #resultModal #resultShareBtn{
    border-color:rgba(177,198,255,.42) !important;
    background:linear-gradient(180deg,rgba(76,88,130,.96),rgba(26,31,55,.98)) !important;
    color:#eef4ff !important;
  }
}

@media (max-width:380px){
  #resultModal #againBtn,
  #resultModal #backHomeBtn{
    font-size:12px !important;
    padding:0 5px !important;
  }
}

/* === mobile v3.5.6: case reveal foreground fireworks === */
@media (max-width:980px), (pointer:coarse){
  .firework-layer.mobile-fireworks,
  .firework-layer.mobile-fireworks.grand{
    z-index:1550 !important;
    mix-blend-mode:screen;
  }
  .firework-layer.mobile-fireworks span{
    width:6px !important;
    height:6px !important;
    box-shadow:0 0 14px var(--c),0 0 30px var(--c) !important;
    animation-duration:2.85s !important;
  }
  .firework-layer.mobile-fireworks i{
    width:5px !important;
    height:9px !important;
    opacity:.95;
    animation-duration:4.4s !important;
  }
  #caseRevealModal .case-reveal-stage{
    isolation:isolate;
  }
  #caseRevealModal .case-reveal-modal-card.winner .case-reveal-particles.mobile-win{
    z-index:7 !important;
    mix-blend-mode:screen;
  }
  #caseRevealModal .case-reveal-modal-card.winner .case-reveal-particles.mobile-win span{
    box-shadow:0 0 12px var(--c),0 0 28px var(--c) !important;
    animation-duration:2.85s !important;
  }
  #caseRevealModal .case-reveal-modal-card.winner .case-reveal-crate{
    z-index:3 !important;
  }
  #caseRevealModal .case-reveal-modal-card.winner .case-reveal-amount{
    box-shadow:0 0 24px rgba(255,209,102,.30),inset 0 1px 0 rgba(255,248,230,.12) !important;
  }
}

/* === mobile skin/table actions aligned with shop cards === */
@media (max-width:980px), (pointer:coarse){
  #view-shop #skinShopGrid,
  #view-shop #tableShopGrid{
    grid-template-columns:1fr !important;
    grid-auto-rows:max-content !important;
    gap:9px !important;
    align-content:start !important;
    align-items:start !important;
  }
  #view-shop #skinShopGrid .shop-item,
  #view-shop #tableShopGrid .shop-item{
    height:auto !important;
    align-self:start !important;
    padding:10px !important;
    gap:8px !important;
    border-radius:15px !important;
  }
  #view-shop #skinShopGrid .theme-thumb,
  #view-shop #tableShopGrid .theme-thumb{
    height:80px !important;
    border-radius:12px !important;
  }
  #view-shop #skinShopGrid .shop-meta-row,
  #view-shop #tableShopGrid .shop-meta-row{
    gap:6px !important;
  }
  #view-shop #skinShopGrid h4,
  #view-shop #tableShopGrid h4{
    font-size:16px !important;
  }
  #view-shop #skinShopGrid .shop-item-actions,
  #view-shop #tableShopGrid .shop-item-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:7px !important;
    align-items:stretch !important;
  }
  #view-shop #skinShopGrid .shop-item-actions .btn,
  #view-shop #tableShopGrid .shop-item-actions .btn{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    min-height:40px !important;
    height:auto !important;
    padding:7px 9px !important;
    border-radius:12px !important;
    font-size:12.5px !important;
  }
  #view-shop #skinShopGrid .shop-item-actions .shop-buy-btn,
  #view-shop #tableShopGrid .shop-item-actions .shop-buy-btn{
    display:grid !important;
    grid-template-columns:auto auto minmax(0,1fr) !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
  }
  #view-shop #skinShopGrid .shop-item-actions .shop-buy-btn .shop-btn-price,
  #view-shop #tableShopGrid .shop-item-actions .shop-buy-btn .shop-btn-price{
    min-width:0 !important;
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    font-size:11.5px !important;
  }
}

/* === mobile v3.6.0: setup cards keep natural height and tappable actions === */
@media (max-width:980px), (pointer:coarse){
  #view-setup:not(.setup-battle-pvp){
    --setup-rooms-card-h:auto !important;
    --setup-mode-card-h:auto !important;
    --setup-total-h:auto !important;
  }
  #view-setup:not(.setup-battle-pvp) .setup-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
    align-items:start !important;
  }
  #view-setup:not(.setup-battle-pvp) .setup-side,
  #view-setup:not(.setup-battle-pvp) .mode-stack,
  #view-setup:not(.setup-battle-pvp) .rooms-grid,
  #view-setup:not(.setup-battle-pvp) .rooms-grid:not(.pvp-entry-grid){
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:none !important;
    grid-auto-rows:auto !important;
    gap:12px !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    align-content:start !important;
    align-items:start !important;
    transform:none !important;
  }
  #view-setup:not(.setup-battle-pvp) .mode-card,
  #view-setup:not(.setup-battle-pvp) .room-card{
    position:relative !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }
  #view-setup:not(.setup-battle-pvp) .mode-card::before,
  #view-setup:not(.setup-battle-pvp) .mode-card::after,
  #view-setup:not(.setup-battle-pvp) .room-card::before,
  #view-setup:not(.setup-battle-pvp) .room-card::after{
    pointer-events:none !important;
  }
  #view-setup:not(.setup-battle-pvp) .mode-card .card-pad,
  #view-setup:not(.setup-battle-pvp) .room-card .card-pad{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:none !important;
    gap:10px !important;
    padding:15px !important;
    align-content:start !important;
  }
  #view-setup:not(.setup-battle-pvp) .room-card .room-badge,
  #view-setup:not(.setup-battle-pvp) .room-card h3,
  #view-setup:not(.setup-battle-pvp) .room-card p,
  #view-setup:not(.setup-battle-pvp) .room-card .room-meta,
  #view-setup:not(.setup-battle-pvp) .room-card .room-start-btn{
    grid-column:1 !important;
    grid-row:auto !important;
  }
  #view-setup:not(.setup-battle-pvp) .room-card .room-badge{
    width:max-content !important;
    max-width:100% !important;
    min-height:30px !important;
  }
  #view-setup:not(.setup-battle-pvp) .room-card h3{
    font-size:22px !important;
    line-height:1.18 !important;
    margin:0 !important;
  }
  #view-setup:not(.setup-battle-pvp) .room-card p{
    min-height:0 !important;
    margin:0 !important;
    overflow:visible !important;
    display:block !important;
    -webkit-line-clamp:unset !important;
    -webkit-box-orient:initial !important;
    font-size:13px !important;
    line-height:1.55 !important;
  }
  #view-setup:not(.setup-battle-pvp) .room-card .room-meta{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:7px !important;
    margin:0 !important;
  }
  #view-setup:not(.setup-battle-pvp) .room-card .room-line{
    min-height:36px !important;
    padding:7px 10px !important;
    border-radius:12px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
  }
  #view-setup:not(.setup-battle-pvp) .room-card .room-line label{
    font-size:11.5px !important;
  }
  #view-setup:not(.setup-battle-pvp) .room-card .room-line strong{
    font-size:13px !important;
  }
  #view-setup:not(.setup-battle-pvp) .room-card .room-start-btn{
    position:relative !important;
    z-index:2 !important;
    width:100% !important;
    min-height:46px !important;
    height:auto !important;
    margin:0 !important;
    padding:10px 12px !important;
    pointer-events:auto !important;
    touch-action:manipulation !important;
  }
  #view-setup:not(.setup-battle-pvp) .mode-foot{
    flex-wrap:wrap !important;
    gap:8px !important;
  }
}

/* === mobile v3.6.0: shop item quantity controls are finger sized === */
@media (max-width:980px), (pointer:coarse){
  #view-shop #itemShopGrid .shop-quantity-row{
    grid-template-columns:42px minmax(64px,1fr) 42px !important;
    gap:8px !important;
    margin:4px 0 10px !important;
  }
  #view-shop #itemShopGrid .shop-qty-btn,
  #view-shop #itemShopGrid .shop-qty-input{
    width:100% !important;
    min-width:0 !important;
    height:42px !important;
    min-height:42px !important;
    border-radius:12px !important;
  }
  #view-shop #itemShopGrid .shop-qty-btn{
    font-size:18px !important;
    touch-action:manipulation !important;
  }
  #view-shop #itemShopGrid .shop-qty-input{
    padding:0 8px !important;
    font-size:15px !important;
  }
}

/* === mobile v3.6.1: records list layout isolation === */
@media (max-width:980px), (pointer:coarse){
  #view-records{
    overflow:auto !important;
    padding-bottom:96px !important;
  }
  #view-records .record-battle-tabs{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
    max-width:none !important;
    width:100% !important;
    margin:0 0 12px !important;
  }
  #view-records .records-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    align-items:start !important;
    width:100% !important;
    min-width:0 !important;
  }
  #view-records .record-panel,
  #view-records .record-panel .card-pad{
    width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
  }
  #view-records .record-panel .card-pad{
    display:grid !important;
    grid-template-rows:auto auto auto !important;
    gap:12px !important;
    padding:14px !important;
  }
  #view-records .record-head{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    min-width:0 !important;
  }
  #view-records .record-stats{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }
  #view-records .history-list{
    display:grid !important;
    grid-auto-flow:row !important;
    grid-auto-rows:auto !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    align-content:start !important;
    max-height:none !important;
    min-height:0 !important;
    overflow:visible !important;
    padding:0 !important;
  }
  #view-records .history-item{
    position:relative !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:8px !important;
    width:100% !important;
    min-width:0 !important;
    height:auto !important;
    min-height:0 !important;
    padding:13px 14px !important;
    overflow:visible !important;
  }
  #view-records .history-title,
  #view-records .history-sub,
  #view-records .history-value,
  #view-records .history-net{
    min-width:0 !important;
    max-width:100% !important;
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
  }
  #view-records .history-value{
    text-align:left !important;
    font-size:18px !important;
    line-height:1.2 !important;
  }
  #view-records .history-load-more{
    width:100% !important;
    min-height:44px !important;
  }
}
