/* Trà Chanh Quán v0.10.2.1 — Mobile Density & Real Item Visuals
   Loaded AFTER tcq-player-revamp.css. Keep this layer scoped to player screens.
   Mobile invariant: item/recipe list owns the leftover height and scrolls independently. */

/* Reusable native sprite frame for workshop and every later item-granting UI. */
.tcq-player-v2 .workshop-item-art{
  display:grid;place-items:center;position:relative;flex-shrink:0;
  width:76px;height:76px;overflow:hidden;border-radius:13px;
  border:1px solid #c4d9ac;background:linear-gradient(155deg,#eff7e4,#d4e7c7);
  box-shadow:inset 0 1px 2px #fff9;
}
.tcq-player-v2 .workshop-item-art canvas{display:block;width:100%;height:100%;object-fit:contain;image-rendering:pixelated}
.tcq-player-v2 .workshop-recipe-item.result .workshop-item-art{border-color:#add79e;background:#e3f4d5}
.tcq-player-v2 .workshop-recipe-item{flex-direction:row;align-items:center;justify-content:flex-start;gap:9px;padding:8px;min-width:0}
.tcq-player-v2 .workshop-recipe-item-copy{display:grid;min-width:0;gap:4px;align-content:center}
.tcq-player-v2 .workshop-recipe-item b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.tcq-player-v2 .workshop-gift .workshop-gift-image{display:grid;place-items:center;min-width:140px;min-height:140px;width:140px;height:140px;font-size:initial}
.tcq-player-v2 .workshop-gift .workshop-item-art.is-gift{width:116px;height:116px;border:2px solid #ffd39b;border-radius:20px;background:linear-gradient(#fff4d9,#ffe9c4)}
.tcq-player-v2 .workshop-gift-sparkle{position:absolute;top:3px;right:6px;font-size:23px;color:#e9a446}
.tcq-player-v2 .workshop-list{scrollbar-width:thin;scrollbar-color:#d5a887 transparent}
.tcq-player-v2 .workshop-list::-webkit-scrollbar{width:6px}
.tcq-player-v2 .workshop-list::-webkit-scrollbar-thumb{border-radius:10px;background:#d5a887}

@media (max-width:760px){
  /* Compact shell. No excessively small labels: most content 11-13px, controls 34px+. */
  #shopModal.shop-v2{
    inset:3px!important;width:auto!important;height:calc(100% - 6px)!important;
    gap:4px!important;padding:6px!important;
    grid-template-rows:36px 39px 36px minmax(0,1fr) auto!important;
    overflow:hidden!important;
  }
  #shopModal.shop-v2 .shop-head{height:36px!important;min-height:0!important;padding:1px 5px!important;gap:5px!important}
  #shopModal.shop-v2 .shop-kicker,#shopModal.shop-v2 .shop-head small{display:none!important}
  #shopModal.shop-v2 .shop-head strong{font-size:18px!important;line-height:1!important}
  #shopModal.shop-v2 .shop-head>button{width:34px!important;height:34px!important;flex-basis:34px!important;font-size:23px!important}
  #shopModal.shop-v2 .shop-wallet-row{height:39px!important;min-height:0!important;overflow:hidden!important}
  #shopModal.shop-v2 .shop-wallet,#shopModal.shop-v2 .shop-wallet-currencies{min-height:0!important;height:100%!important;margin:0!important}
  #shopModal.shop-v2 .wallet-chip{height:38px!important;min-height:0!important;padding:3px 6px!important;gap:4px!important;border-radius:10px!important}
  #shopModal.shop-v2 .wallet-chip .wallet-icon{width:24px!important;height:24px!important;font-size:13px!important}
  #shopModal.shop-v2 .wallet-chip b{font-size:11px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  #shopModal.shop-v2 .wallet-chip small{font-size:8px!important;line-height:1.1!important}
  #shopModal.shop-v2 .shop-primary-nav{height:36px!important;min-height:0!important;gap:5px!important}
  #shopModal.shop-v2 .shop-primary-nav button{height:35px!important;min-height:35px!important;padding:3px 5px!important;border-radius:10px!important;font-size:11px!important}
  #shopModal.shop-v2 .shop-tab-icon{font-size:13px!important}
  #shopModal.shop-v2 .shop-content-layout{
    min-height:0!important;grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:112px minmax(0,1fr)!important;gap:6px!important;
  }
  #shopModal.shop-v2 .shop-detail{
    display:grid!important;min-height:0!important;max-height:112px!important;
    grid-template-columns:88px minmax(0,1fr)!important;
    grid-template-rows:minmax(0,1fr) 31px!important;
    gap:3px 7px!important;padding:5px!important;border-radius:13px!important;overflow:hidden!important;
  }
  #shopModal.shop-v2 .shop-detail-preview{
    grid-column:1!important;grid-row:1/3!important;
    width:88px!important;min-height:0!important;height:100%!important;padding:5px 4px!important;border-radius:10px!important;
  }
  #shopModal.shop-v2 .shop-detail-preview-frame{width:100%!important;min-height:0!important}
  #shopModal.shop-v2 .shop-detail-preview canvas{width:78px!important;height:78px!important;max-height:100%!important}
  #shopModal.shop-v2 .shop-detail-preview::after{display:none!important}
  #shopModal.shop-v2 .shop-preview-caption{position:static!important;font-size:8px!important;padding:2px 5px!important;margin-top:2px!important}
  #shopModal.shop-v2 .shop-detail-copy{grid-column:2!important;grid-row:1!important;overflow:hidden!important;min-height:0!important;max-height:66px!important}
  #shopModal.shop-v2 .shop-selected-summary{grid-template-columns:31px minmax(0,1fr)!important;gap:5px!important}
  #shopModal.shop-v2 .shop-selected-icon{width:31px!important;height:31px!important;border-radius:8px!important}
  #shopModal.shop-v2 .shop-selected-icon canvas{width:28px!important;height:28px!important}
  #shopModal.shop-v2 .shop-detail-eyebrow{font-size:8px!important;line-height:1.15!important}
  #shopModal.shop-v2 .shop-detail-copy h3{font-size:13px!important;line-height:1.13!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #shopModal.shop-v2 .shop-detail-id{font-size:8px!important}
  #shopModal.shop-v2 .shop-detail-meta{margin:2px 0!important;gap:3px!important}
  #shopModal.shop-v2 .shop-badge{min-height:0!important;font-size:8px!important;padding:2px 4px!important}
  #shopModal.shop-v2 .shop-detail-copy p.shop-selected-desc,#shopModal.shop-v2 .shop-source-lock,#shopModal.shop-v2 .shop-missing{display:none!important}
  #shopModal.shop-v2 .shop-detail-price{font-size:14px!important;margin:2px 0 0!important;line-height:1.1!important}
  #shopModal.shop-v2 .shop-detail-actions{grid-column:2!important;grid-row:2!important;display:flex!important;align-items:end!important;gap:5px!important;min-height:0!important}
  #shopModal.shop-v2 .shop-detail-actions button{min-height:30px!important;height:30px!important;padding:3px 4px!important;font-size:10px!important;border-radius:9px!important;line-height:1.1!important;box-shadow:none!important}
  #shopModal.shop-v2 .wardrobe-equipped-head{display:none!important}
  #shopModal.shop-v2 .wardrobe-equipped-list{display:flex!important;gap:4px!important;flex-wrap:nowrap!important;max-height:35px!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none}
  #shopModal.shop-v2 .wardrobe-equipped-row{flex:0 0 auto!important;min-width:95px!important;max-width:160px!important;padding:3px!important;font-size:9px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #shopModal.shop-v2 .wardrobe-selected-line{display:none!important}
  #shopModal.shop-v2 .shop-browser{
    min-height:0!important;display:grid!important;
    grid-template-rows:22px auto minmax(0,1fr)!important;
    gap:4px!important;
  }
  #shopModal.shop-v2 .shop-collection-heading{height:22px!important;min-height:0!important;padding:0 4px!important;align-items:center!important}
  #shopModal.shop-v2 .shop-collection-kicker{display:none!important}
  #shopModal.shop-v2 .shop-collection-heading h3{font-size:13px!important;margin:0!important;line-height:1.1!important}
  #shopModal.shop-v2 .shop-collection-heading>strong{font-size:10px!important;padding:3px 8px!important}
  #shopModal.shop-v2 .shop-toolbar{min-height:0!important;gap:3px!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:32px 32px 37px!important;overflow:hidden!important}
  #shopModal.shop-v2 .shop-filters,#shopModal.shop-v2 .shop-state-filters{height:32px!important;min-height:0!important;display:flex!important;flex-wrap:nowrap!important;white-space:nowrap!important;gap:4px!important;overflow-x:auto!important;overflow-y:hidden!important;padding:1px 2px!important;scrollbar-width:none}
  #shopModal.shop-v2 .shop-filters::-webkit-scrollbar,#shopModal.shop-v2 .shop-state-filters::-webkit-scrollbar{display:none}
  #shopModal.shop-v2 .shop-filters button,#shopModal.shop-v2 .shop-state-filters button{flex:0 0 auto!important;min-height:30px!important;height:30px!important;padding:4px 9px!important;font-size:10px!important}
  #shopModal.shop-v2 .shop-filter-icon{font-size:12px!important}
  #shopModal.shop-v2 .shop-query{height:37px!important;grid-template-columns:minmax(0,1fr) 100px!important;gap:6px!important}
  #shopModal.shop-v2 .shop-search-wrap,#shopModal.shop-v2 .shop-query select{min-height:36px!important;height:36px!important;border-radius:10px!important}
  #shopModal.shop-v2 .shop-query input{height:34px!important;min-height:34px!important;font-size:12px!important}
  #shopModal.shop-v2 .shop-query select{font-size:11px!important}
  #shopModal.shop-v2 .shop-list-pane{min-height:0!important;overflow:hidden!important;grid-template-rows:minmax(0,1fr) 34px!important;gap:3px!important}
  #shopModal.shop-v2 .shop-grid{
    min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-rows:145px!important;gap:6px!important;padding:1px 2px 6px!important;
  }
  #shopModal.shop-v2 .shop-card{min-height:0!important;height:145px!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:60px minmax(0,1fr) 27px!important;gap:3px!important;padding:4px!important}
  #shopModal.shop-v2 .shop-thumb{width:100%!important;height:60px!important;padding:2px!important;border-radius:9px!important}
  #shopModal.shop-v2 .shop-thumb canvas{width:100%!important;height:100%!important}
  #shopModal.shop-v2 .shop-card-state{font-size:8px!important;padding:3px 5px!important;max-width:80px!important}
  #shopModal.shop-v2 .fashion-item-copy{min-height:0!important;gap:0!important}
  #shopModal.shop-v2 .shop-card-type{font-size:8px!important}
  #shopModal.shop-v2 .fashion-item-copy>strong{font-size:11px!important;line-height:1.15!important;min-height:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #shopModal.shop-v2 .shop-card-source{display:none!important}
  #shopModal.shop-v2 .web-price{font-size:10px!important;line-height:1.1!important}
  #shopModal.shop-v2 .shop-card-action{grid-column:1!important;grid-row:3!important;min-height:29px!important;height:29px!important;font-size:10px!important}
  #shopModal.shop-v2 .shop-pager{min-height:34px!important;height:34px!important;padding:0!important}
  #shopModal.shop-v2 .shop-pager button{width:34px!important;height:32px!important}
  #shopModal.shop-v2 #shopWorkshopLink{min-height:27px!important;height:27px!important;margin:0 3px!important;padding:4px 10px!important;font-size:10px!important;justify-self:start!important}

  /* Xưởng: all remaining vertical space belongs to scrolling recipe list. */
  .tcq-player-v2.workshop-sheet{padding:5px!important;align-items:stretch!important;justify-items:stretch!important;overflow:hidden!important}
  .tcq-player-v2 .workshop-panel{
    display:flex!important;flex-direction:column!important;
    width:100%!important;height:100%!important;max-height:100%!important;min-height:0!important;
    padding:10px!important;gap:5px!important;border-radius:17px!important;overflow:hidden!important;
  }
  .tcq-player-v2 .tcq-panel-head{flex:0 0 auto!important;min-height:32px!important;margin:0!important}
  .tcq-player-v2 .tcq-panel-head small{display:none!important}
  .tcq-player-v2 .tcq-panel-head h2{font-size:18px!important;line-height:1.1!important}
  .tcq-player-v2 .tcq-close{width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important}
  .tcq-player-v2 #workshopBody{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;min-height:0!important;overflow:hidden!important;padding:0!important;gap:5px!important}
  .tcq-player-v2 .workshop-tabs{flex:0 0 auto!important;margin:0 0 3px!important;gap:5px!important}
  .tcq-player-v2 .workshop-tabs button{min-height:36px!important;height:36px!important;padding:4px 6px!important;font-size:11px!important;border-radius:11px!important}
  .tcq-player-v2 .workshop-summary{flex:0 0 auto!important;gap:5px!important;margin:0!important}
  .tcq-player-v2 .workshop-summary>div{padding:6px!important;gap:2px!important;border-radius:10px!important}
  .tcq-player-v2 .workshop-summary span{font-size:9px!important;letter-spacing:0!important}
  .tcq-player-v2 .workshop-summary b{font-size:12px!important}
  .tcq-player-v2 .workshop-list-toolbar{flex:0 0 auto!important;margin:0!important;gap:5px!important}
  .tcq-player-v2 .workshop-search-label{min-height:36px!important;grid-template-columns:28px minmax(0,1fr)!important;border-radius:10px!important}
  .tcq-player-v2 .workshop-search-label input{height:35px!important;font-size:12px!important}
  .tcq-player-v2 #workshopReadyFilter{min-height:36px!important;padding:4px 9px!important;font-size:11px!important;border-radius:10px!important}
  .tcq-player-v2 .workshop-list-heading{flex:0 0 auto!important;margin:0!important;font-size:13px!important}
  .tcq-player-v2 .workshop-list-heading small{font-size:10px!important}
  .tcq-player-v2 .workshop-list{display:grid!important;grid-template-columns:minmax(0,1fr)!important;flex:1 1 auto!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;align-content:start!important;gap:7px!important;padding:1px 2px 12px!important}
  .tcq-player-v2 .workshop-recipe{gap:6px!important;padding:8px!important;border-radius:13px!important}
  .tcq-player-v2 .workshop-recipe-top{min-height:19px!important}
  .tcq-player-v2 .workshop-recipe-caption{font-size:9px!important}
  .tcq-player-v2 .workshop-recipe-tag{font-size:9px!important;padding:3px 6px!important}
  .tcq-player-v2 .workshop-recipe-flow{grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr)!important;gap:3px!important}
  .tcq-player-v2 .workshop-recipe-item{min-height:75px!important;display:flex!important;flex-direction:row!important;align-items:center!important;gap:5px!important;padding:5px!important;border-radius:10px!important}
  .tcq-player-v2 .workshop-item-art{width:55px;height:60px;flex-basis:55px;border-radius:9px!important}
  .tcq-player-v2 .workshop-recipe-item-copy{gap:3px!important}
  .tcq-player-v2 .workshop-recipe-item-type{font-size:8px!important;letter-spacing:0!important}
  .tcq-player-v2 .workshop-recipe-item b{font-size:11px!important;line-height:1.15!important}
  .tcq-player-v2 .workshop-recipe-item small{font-size:9px!important;line-height:1.15!important}
  .tcq-player-v2 .workshop-arrow{font-size:16px!important}
  .tcq-player-v2 .workshop-resources{margin:0!important;font-size:10px!important;flex-wrap:wrap!important;gap:4px!important}
  .tcq-player-v2 .workshop-recipe button{min-height:34px!important;height:34px!important;font-size:11px!important;border-radius:10px!important}
  .tcq-player-v2 .workshop-recipe button:disabled{opacity:1!important}

  /* Reward item artwork is real source sprite, never generic present emoji. */
  .tcq-player-v2 .workshop-gift{width:100%!important;max-width:none!important;min-height:0!important;margin:0!important;padding:12px!important;gap:12px!important;display:flex!important;flex-direction:row!important;align-items:center!important;text-align:left!important}
  .tcq-player-v2 .workshop-gift .workshop-gift-image{min-width:125px!important;min-height:125px!important;width:125px!important;height:125px!important;border-radius:16px!important}
  .tcq-player-v2 .workshop-gift .workshop-item-art.is-gift{width:110px!important;height:110px!important}
  .tcq-player-v2 .workshop-gift-content{justify-items:stretch!important;min-width:0!important;flex:1;gap:6px!important}
  .tcq-player-v2 .workshop-gift-content h3{font-size:18px!important;line-height:1.16!important;overflow-wrap:anywhere!important}
  .tcq-player-v2 .workshop-gift-content p{font-size:11px!important;line-height:1.4!important;margin:0!important}
  .tcq-player-v2 .workshop-gift-content button{min-height:39px!important;padding:6px 8px!important;font-size:11px!important;box-shadow:none!important}
  .tcq-player-v2 .workshop-gift-footnote{font-size:11px!important;margin:5px 0!important}
}
@media (max-width:360px){
  #shopModal.shop-v2 .shop-content-layout{grid-template-rows:105px minmax(0,1fr)!important}
  #shopModal.shop-v2 .shop-detail{max-height:105px!important;grid-template-columns:78px minmax(0,1fr)!important}
  #shopModal.shop-v2 .shop-detail-preview{width:78px!important;padding:5px 4px!important}
  #shopModal.shop-v2 .shop-grid{grid-auto-rows:138px!important}
  #shopModal.shop-v2 .shop-card{height:138px!important;grid-template-rows:63px minmax(0,1fr) 27px!important}
  #shopModal.shop-v2 .shop-thumb{height:63px!important}
  .tcq-player-v2 .workshop-item-art{width:47px!important;flex-basis:47px!important;height:54px!important}
  .tcq-player-v2 .workshop-gift .workshop-gift-image{min-width:104px!important;width:104px!important;min-height:112px!important;height:112px!important}
  .tcq-player-v2 .workshop-gift .workshop-item-art.is-gift{width:94px!important;height:94px!important}
}
@media (max-width:760px) and (max-height:640px){
  #shopModal.shop-v2 .shop-content-layout{grid-template-rows:94px minmax(0,1fr)!important}
  #shopModal.shop-v2 .shop-detail{max-height:94px!important}
  #shopModal.shop-v2 .shop-collection-heading{display:none!important}
  #shopModal.shop-v2 .shop-browser{grid-template-rows:auto minmax(0,1fr)!important}
}

/* No large blank panel when only today's single reward is available. */
@media(max-width:760px){
  .tcq-player-v2.workshop-sheet.showing-gift{align-items:center!important;justify-items:center!important}
  .tcq-player-v2.workshop-sheet.showing-gift .workshop-panel{height:auto!important;max-height:calc(100% - 12px)!important;max-width:450px!important;padding:13px!important}
  .tcq-player-v2.workshop-sheet.showing-gift #workshopBody{flex:0 0 auto!important;overflow:visible!important}
}

/* v0.10.2.2 — compact, source-connected workshop families and 7-day preview. */
.tcq-player-v2 .workshop-chain-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;
  gap:8px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
}
.tcq-player-v2 .workshop-chain-card{
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
  min-width:0;min-height:0;gap:5px;padding:8px 6px;
  color:#654437;background:#fffaf2;border:1px solid #ead0b2;
  border-radius:13px;text-align:center;cursor:pointer;font:inherit;
}
.tcq-player-v2 .workshop-chain-card.ready{border-color:#9dc789;background:#f3f9ec}
.tcq-player-v2 .workshop-chain-card:focus-visible,
.tcq-player-v2 .workshop-day:focus-visible,
.tcq-player-v2 .workshop-chain-heading button:focus-visible,
.tcq-player-v2 .workshop-chain-progress button:focus-visible{outline:3px solid #df5694;outline-offset:2px}
.tcq-player-v2 .workshop-chain-art{display:grid;place-items:center;width:100%;height:67px;min-width:0}
.tcq-player-v2 .workshop-chain-art .workshop-item-art{width:70px;height:67px}
.tcq-player-v2 .workshop-chain-copy{display:grid;gap:3px;width:100%;min-width:0;justify-items:center}
.tcq-player-v2 .workshop-chain-copy b{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;font-size:12px;line-height:1.22;min-height:28px}
.tcq-player-v2 .workshop-chain-copy small{font-size:10px;color:#97745e}
.tcq-player-v2 .workshop-chain-copy em{font-size:10px;font-style:normal;font-weight:700;color:#629253}
.tcq-player-v2 .workshop-chain-chevron{display:none}
.tcq-player-v2 .workshop-chain-heading{display:flex;align-items:center;gap:10px;flex:0 0 auto;min-width:0;padding:4px 2px}
.tcq-player-v2 .workshop-chain-heading>button{flex:0 0 auto;border:1px solid #e9c5a9;border-radius:10px;background:#fffaf1;color:#82533b;font-size:11px;font-weight:800;padding:8px 9px;min-height:36px;cursor:pointer}
.tcq-player-v2 .workshop-chain-heading>div{min-width:0;display:grid;gap:1px}
.tcq-player-v2 .workshop-chain-heading strong{font-size:14px;line-height:1.2;overflow-wrap:anywhere}
.tcq-player-v2 .workshop-chain-heading small{font-size:10px;color:#967761}
.tcq-player-v2 .workshop-chain-progress{flex:0 0 auto;display:flex;gap:5px;overflow-x:auto;overflow-y:hidden;padding:1px 1px 5px;scrollbar-width:thin}
.tcq-player-v2 .workshop-chain-progress button{flex:0 0 34px;min-height:34px;border:1px solid #ead1b8;border-radius:9px;background:#fff7ec;color:#875b42;font-weight:800;font-size:11px;cursor:pointer}
.tcq-player-v2 .workshop-chain-progress button.ready{background:#e5f4d7;border-color:#99c47f;color:#527a3e}
.tcq-player-v2 .workshop-chain-progress button.owned{background:#f9e7ef;border-color:#e9a8c1;color:#a84b75}
.tcq-player-v2 .workshop-chain-detail{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.tcq-player-v2 .workshop-chain-detail .workshop-recipe{max-width:none}
.tcq-player-v2 .workshop-calendar-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:3px 8px;padding:0 2px}
.tcq-player-v2 .workshop-calendar-heading strong{font-size:14px;color:#79503c}
.tcq-player-v2 .workshop-calendar-heading small{font-size:10px;color:#9a7866}
.tcq-player-v2 .workshop-gift-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;min-width:0}
.tcq-player-v2 .workshop-day{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:2px;min-width:0;min-height:80px;padding:5px 2px;border:1px solid #e8cfb8;border-radius:10px;background:#fffcf6;color:#79523d;font:inherit;cursor:pointer}
.tcq-player-v2 .workshop-day.selected{border:2px solid #eb6299;background:#ffe9f0;padding:4px 1px}
.tcq-player-v2 .workshop-day.is-today:not(.selected){border-color:#a6c78f;background:#f1f7e9}
.tcq-player-v2 .workshop-day>b{font-size:10px;line-height:1.1;white-space:nowrap}
.tcq-player-v2 .workshop-day>small{font-size:8px;line-height:1.1;color:#94745f;white-space:nowrap}
.tcq-player-v2 .workshop-day .workshop-item-art.is-gift-mini{width:32px;height:32px;border-radius:6px;min-width:0;flex:0 0 auto}
.tcq-player-v2 .workshop-day-unknown{display:grid;place-items:center;flex:0 0 32px;width:32px;border:1px dashed #e3c4ab;border-radius:6px;color:#c7a790;font-weight:800}
.tcq-player-v2 .workshop-gift-unavailable{font-size:42px;font-weight:800;color:#d2b49a}
.tcq-player-v2 .workshop-gift-footnote{padding:0 3px;color:#977961;line-height:1.35}

@media (max-width:760px){
  /* Maximize the actual sprite gallery rather than the wallet and avatar. */
  #shopModal.shop-v2{gap:3px!important;padding:5px!important;grid-template-rows:33px 34px 34px minmax(0,1fr) auto!important}
  #shopModal.shop-v2 .shop-head{height:33px!important}
  #shopModal.shop-v2 .shop-head strong{font-size:16px!important}
  #shopModal.shop-v2 .shop-wallet-row{height:34px!important}
  #shopModal.shop-v2 .wallet-chip{height:33px!important;padding:2px 5px!important}
  #shopModal.shop-v2 .wallet-chip .wallet-icon{width:21px!important;height:21px!important;font-size:12px!important}
  #shopModal.shop-v2 .wallet-chip b{font-size:10px!important}
  #shopModal.shop-v2 .shop-primary-nav{height:34px!important}
  #shopModal.shop-v2 .shop-primary-nav button{height:33px!important;min-height:33px!important}
  #shopModal.shop-v2 .shop-content-layout{grid-template-rows:88px minmax(0,1fr)!important;gap:4px!important}
  #shopModal.shop-v2 .shop-detail{max-height:88px!important;grid-template-columns:74px minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr) 28px!important;padding:4px!important;gap:2px 5px!important}
  #shopModal.shop-v2 .shop-detail-preview{width:74px!important;padding:4px 3px!important}
  #shopModal.shop-v2 .shop-detail-preview canvas{width:68px!important;height:68px!important}
  #shopModal.shop-v2 .shop-detail-copy{max-height:55px!important}
  #shopModal.shop-v2 .shop-detail-actions button{min-height:28px!important;height:28px!important}
  #shopModal.shop-v2 .shop-browser{gap:3px!important}
  #shopModal.shop-v2 .shop-toolbar{gap:3px!important;grid-template-rows:29px 29px 34px!important}
  #shopModal.shop-v2 .shop-filters,#shopModal.shop-v2 .shop-state-filters{height:29px!important}
  #shopModal.shop-v2 .shop-filters button,#shopModal.shop-v2 .shop-state-filters button{height:28px!important;min-height:28px!important;padding:3px 7px!important}
  #shopModal.shop-v2 .shop-query{height:34px!important;grid-template-columns:minmax(0,1fr) 83px!important;gap:4px!important}
  #shopModal.shop-v2 .shop-search-wrap,#shopModal.shop-v2 .shop-query select{height:33px!important;min-height:33px!important}
  #shopModal.shop-v2 .shop-query input{height:32px!important;min-height:32px!important}
  #shopModal.shop-v2 .shop-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-rows:134px!important;gap:5px!important;-webkit-overflow-scrolling:touch!important}
  #shopModal.shop-v2 .shop-card{height:134px!important;min-width:0!important;grid-template-rows:65px minmax(0,1fr) 28px!important;gap:2px!important;padding:4px!important}
  #shopModal.shop-v2 .shop-thumb{height:65px!important;min-width:0!important;padding:1px!important}
  #shopModal.shop-v2 .shop-thumb canvas{width:100%!important;height:100%!important;object-fit:contain!important}
  #shopModal.shop-v2 .shop-card-type{display:none!important}
  #shopModal.shop-v2 .fashion-item-copy{gap:1px!important;overflow:hidden!important}
  #shopModal.shop-v2 .fashion-item-copy>strong{white-space:normal!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;line-height:1.13!important;font-size:10px!important;overflow:hidden!important}
  #shopModal.shop-v2 .web-price{font-size:9px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  #shopModal.shop-v2 .shop-card-action{height:28px!important;min-height:28px!important;font-size:10px!important;padding:2px 3px!important}
  #shopModal.shop-v2 .shop-card-state{max-width:calc(100% - 3px)!important;font-size:7px!important;padding:2px 3px!important}
  #shopModal.shop-v2 .shop-pager{min-height:31px!important;height:31px!important}
  .tcq-player-v2 .workshop-chain-grid{gap:6px}
  .tcq-player-v2 .workshop-chain-card{padding:7px 5px;min-height:117px}
  .tcq-player-v2 .workshop-chain-art{height:57px}
  .tcq-player-v2 .workshop-chain-art .workshop-item-art{height:57px;width:60px}
  .tcq-player-v2 .workshop-gift-calendar{gap:3px}
  .tcq-player-v2 .workshop-day{min-height:76px;padding:4px 1px;border-radius:8px}
  .tcq-player-v2 .workshop-day.selected{padding:3px 0}
  .tcq-player-v2 .workshop-day .workshop-item-art.is-gift-mini{width:30px;height:30px}
  .tcq-player-v2.workshop-sheet.showing-gift{align-items:center!important;justify-items:center!important}
  .tcq-player-v2.workshop-sheet.showing-gift .workshop-panel{height:auto!important;max-height:calc(100% - 12px)!important;max-width:450px!important}
  .tcq-player-v2.workshop-sheet.showing-gift #workshopBody{flex:0 1 auto!important;max-height:calc(100% - 40px)!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important}
  .tcq-player-v2 .workshop-gift{gap:7px!important;padding:9px!important}
  .tcq-player-v2 .workshop-gift .workshop-gift-image{min-width:92px!important;width:92px!important;min-height:96px!important;height:96px!important}
  .tcq-player-v2 .workshop-gift .workshop-item-art.is-gift{width:83px!important;height:83px!important}
  .tcq-player-v2 .workshop-gift-content h3{font-size:15px!important}
  .tcq-player-v2 .workshop-gift-content button{min-height:36px!important;font-size:10px!important}
  .tcq-player-v2 .workshop-gift-footnote{font-size:10px!important}
}
@media (max-width:355px){
  #shopModal.shop-v2 .shop-grid{gap:3px!important}
  #shopModal.shop-v2 .shop-card{padding:3px!important}
  .tcq-player-v2 .workshop-day>b{font-size:9px}
  .tcq-player-v2 .workshop-day>small{font-size:7px}
}
/* Keep family gallery at two columns despite legacy !important list selector. */
.tcq-player-v2 .workshop-list.workshop-chain-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media(max-width:360px){
  .tcq-player-v2 .workshop-chain-art .workshop-item-art{width:55px!important;height:55px!important;flex-basis:55px!important}
  .tcq-player-v2 .workshop-day .workshop-item-art.is-gift-mini{width:27px!important;height:27px!important;flex-basis:27px!important}
}
/* Preserve two lines of item names and one price line inside all 3 columns. */
@media (max-width:760px){
  #shopModal.shop-v2 .shop-grid{grid-auto-rows:140px!important}
  #shopModal.shop-v2 .shop-card{height:140px!important;grid-template-rows:63px minmax(0,1fr) 27px!important}
  #shopModal.shop-v2 .shop-thumb{height:63px!important}
  #shopModal.shop-v2 .shop-card-action{height:27px!important;min-height:27px!important}
}

/* v0.10.2.3 — genuine whole-sprite thumbnails. The 3-column layout stays intact.
   A canvas has a square backing bitmap. Stretching it to the rectangular thumb,
   or inheriting legacy absolute/zoom rules, makes a catalog icon look cropped. */
#shopModal.shop-v2 .shop-thumb{
  display:flex!important;align-items:center!important;justify-content:center!important;
  position:relative!important;isolation:isolate!important;overflow:hidden!important;
}
#shopModal.shop-v2 .shop-thumb > canvas[data-part-preview]{
  display:block!important;position:relative!important;inset:auto!important;
  left:auto!important;top:auto!important;right:auto!important;bottom:auto!important;
  transform:none!important;translate:none!important;scale:1!important;
  flex:0 0 auto!important;min-width:0!important;min-height:0!important;
  width:auto!important;height:calc(100% - 3px)!important;max-height:100%!important;
  max-width:100%!important;aspect-ratio:1 / 1!important;object-fit:contain!important;
  object-position:center!important;margin:auto!important;image-rendering:pixelated!important;
  clip-path:none!important;filter:none!important;
}
#shopModal.shop-v2 .shop-thumb .shop-card-state{
  position:absolute!important;left:3px!important;top:3px!important;z-index:2!important;
}
#shopModal.shop-v2 .shop-card-action.is-unlock-guide{
  background:#e5f2da!important;color:#527443!important;border-color:#a1bf91!important;
}
/* Source-backed way-to-obtain guide; no client-side granting. */
.tcq-player-v2 .workshop-unlock-guide{min-width:0;display:grid;gap:10px;align-content:start;overflow-y:auto;overscroll-behavior:contain;padding:4px 1px 10px}
.tcq-player-v2 .workshop-unlock-card{display:flex;align-items:center;gap:10px;background:#fff9ef;border:1px solid #ebceb5;border-radius:13px;padding:11px;min-width:0}
.tcq-player-v2 .workshop-unlock-card .workshop-item-art{width:70px;height:70px;flex:0 0 70px}
.tcq-player-v2 .workshop-unlock-copy{display:grid;gap:3px;min-width:0}
.tcq-player-v2 .workshop-unlock-copy strong{font-size:14px;line-height:1.3;overflow-wrap:anywhere;color:#734b38}
.tcq-player-v2 .workshop-unlock-copy small{color:#987862;font-size:11px}
.tcq-player-v2 .workshop-unlock-path{background:#f4f7eb;border:1px solid #cedebe;border-radius:12px;padding:10px;display:grid;gap:6px;font-size:12px;color:#6b563f}
.tcq-player-v2 .workshop-unlock-path strong{color:#577448;font-size:13px}
.tcq-player-v2 .workshop-unlock-path button{min-height:35px;border-radius:9px;border:0;background:#e95a94;color:white;font-weight:800;cursor:pointer}
.tcq-player-v2 .workshop-unlock-warning{background:#fff4e4;border:1px solid #eed3ad;color:#946c49;border-radius:11px;padding:11px;font-size:12px;line-height:1.45}
.tcq-player-v2 .workshop-unlock-search{display:flex;align-items:center;gap:6px}
.tcq-player-v2 .workshop-unlock-search input{min-width:0;flex:1;border-radius:10px;border:1px solid #e7cab4;background:#fff;padding:9px;font-size:12px;color:#714939}
.tcq-player-v2 .workshop-unlock-search button{border:1px solid #e7cab4;border-radius:10px;background:#fff7eb;color:#7d513a;font-size:11px;font-weight:800;padding:9px;min-height:35px}
@media(max-width:760px){
  #shopModal.shop-v2 .shop-thumb > canvas[data-part-preview]{height:calc(100% - 2px)!important}
  .tcq-player-v2 .workshop-unlock-card .workshop-item-art{width:56px;height:56px;flex-basis:56px}
}
.tcq-player-v2 #workshopBody > .workshop-unlock-guide{flex:1 1 auto;min-height:0}
@media(max-width:760px){
  .tcq-player-v2 .workshop-tabs button{min-width:0!important;flex:1 1 0!important;padding:4px 2px!important;font-size:10px!important}
}

/* v0.10.3.0: source-eligible, deterministic lifestyle item unlock missions. */
.tcq-player-v2 .workshop-mission-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
.tcq-player-v2 .workshop-mission-heading strong{font-size:15px;color:#754b3d}
.tcq-player-v2 .workshop-mission-heading small{font-size:11px;color:#668550}
.tcq-player-v2 .workshop-mission-note{margin:3px 0 2px;font-size:11px;color:#906f60;line-height:1.35}
.tcq-player-v2 .workshop-mission-search{display:flex;align-items:center;gap:5px;border:1px solid #e4c5a9;background:#fffaf5;padding:4px 10px;border-radius:11px;min-height:36px;color:#bd927c}
.tcq-player-v2 .workshop-mission-search input{background:transparent;border:0;outline:0;min-width:0;width:100%;font-size:12px;color:#715443}
.tcq-player-v2 .workshop-mission-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-height:0;overflow-y:auto;align-content:start;flex:1 1 auto}
.tcq-player-v2 .workshop-mission-card{min-width:0;display:grid;grid-template-columns:58px minmax(0,1fr);grid-template-rows:1fr auto;gap:5px;padding:8px;border:1px solid #e6cfb9;border-radius:13px;background:#fffbf5}
.tcq-player-v2 .workshop-mission-card.ready{border-color:#a1c68e;background:#f7fcee}
.tcq-player-v2 .workshop-mission-card .workshop-item-art{width:55px;height:55px;grid-column:1;grid-row:1}
.tcq-player-v2 .workshop-mission-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.tcq-player-v2 .workshop-mission-copy b{font-size:11px;line-height:1.16;color:#654536;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.tcq-player-v2 .workshop-mission-copy small{font-size:9px;color:#8f7567}
.tcq-player-v2 .workshop-mission-meter{height:5px;border-radius:8px;background:#e8dbc7;overflow:hidden}
.tcq-player-v2 .workshop-mission-meter span{display:block;height:100%;background:#79aa6a;border-radius:8px}
.tcq-player-v2 .workshop-mission-card button{grid-column:1/3;min-height:30px;padding:5px 7px;border:1px solid #d95e8b;border-radius:9px;background:#ee6398;color:#fff;font-size:10px;font-weight:800}
.tcq-player-v2 .workshop-mission-card button:disabled{border-color:#e3d6c7;background:#f3e9db;color:#9c8a77}
.tcq-player-v2 .workshop-mission-card[hidden]{display:none!important}
@media(max-width:760px){
 .tcq-player-v2 .workshop-tabs{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px!important}
 .tcq-player-v2 .workshop-tabs button{font-size:9px!important;min-width:0!important;padding:3px 2px!important;min-height:35px!important}
 .tcq-player-v2 .workshop-mission-card{grid-template-columns:49px minmax(0,1fr);padding:6px;gap:4px}
 .tcq-player-v2 .workshop-mission-card .workshop-item-art{width:46px;height:49px}
 .tcq-player-v2 .workshop-mission-copy small{font-size:9px}
}
@media(max-width:370px){.tcq-player-v2 .workshop-mission-list{grid-template-columns:1fr!important}}

@media(max-width:760px) and (min-width:371px){.tcq-player-v2 .workshop-list.workshop-mission-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* v0.10.3.1 — Safari/mobile preview: no caption may cover avatar pixels.
   Status lives in the selected item summary, never inside the canvas viewport. */
#shopModal.shop-v2 .shop-detail-preview .shop-preview-caption {display:none!important}
#shopModal.shop-v2 .shop-detail-preview::after {content:none!important;display:none!important}
#shopModal.shop-v2 .shop-detail-preview-frame {
  display:grid!important;place-items:center!important;
  width:100%!important;min-width:0!important;min-height:0!important;
  flex:1 1 auto!important;
}
#shopModal.shop-v2 .wardrobe-preview-state{
  display:block;color:#c35e81;font-weight:900;font-size:10px;
  letter-spacing:.03em;line-height:1.2;margin:0 0 3px 0;
}
@media (max-width:760px){
  #shopModal.shop-v2 .shop-detail-preview{
    display:flex!important;align-items:center!important;justify-content:center!important;
    min-height:0!important;max-height:100%!important;gap:0!important;
    padding:3px!important;overflow:hidden!important;
  }
  #shopModal.shop-v2 .shop-detail-preview-frame{height:100%!important;max-height:100%!important}
  #shopModal.shop-v2 .shop-detail-preview canvas{
    display:block!important;position:static!important;
    width:min(100%,80px)!important;height:auto!important;
    max-width:100%!important;max-height:100%!important;
    object-fit:contain!important;image-rendering:pixelated!important;
  }
  #shopModal.shop-v2 .wardrobe-preview-state{font-size:9px;margin:0 0 2px 0}
  #shopModal.shop-v2 .wardrobe-equipped-list{max-height:32px!important}
}
