/* Optional V70 wardrobe styling for the real services DOM. No controls or
   business state are created here; the preview, filters and buttons are the
   original game elements. Load after ui-skin.css. */
#cc-game .g-dialog:has(.sv-character-layout){
  width:min(1040px,calc(100vw - 32px));
  max-width:calc(100vw - 32px);
  max-height:calc(100dvh - 32px);
  overflow:auto;
  border:2px solid #b48c5d;
  border-radius:15px;
  background:linear-gradient(145deg,#fff8e9,#f7ecd5 60%,#e9d5b2);
  box-shadow:inset 0 0 0 3px #fffaf0,0 20px 48px #2f211c68;
}
#cc-game .g-dialog:has(.sv-character-layout) .g-dialoghead{
  border-bottom:1px solid #cfb993;
  background:linear-gradient(#fff6e5,#f2e2c6);
}
#cc-game .sv-root .sv-character-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 222px;
  gap:20px;
  align-items:start;
}
#cc-game .sv-root .sv-character-parts{
  grid-column:1;
  grid-row:1;
  min-width:0;
}
#cc-game .sv-root .sv-character-preview{
  grid-column:2;
  grid-row:1;
  position:sticky;
  top:66px;
  min-width:0;
  padding:13px;
  border:2px dashed #af9069;
  border-radius:12px;
  background:linear-gradient(#f8eed8,#e8d8b8);
  text-align:center;
  box-shadow:inset 0 0 0 3px #fff8e9,0 3px 10px #4c39201a;
}
#cc-game .sv-root .sv-character-preview canvas[data-appearance-preview]{
  display:block;
  width:194px;
  height:auto;
  max-width:100%;
  margin:0 auto 8px;
  background:transparent;
  image-rendering:auto;
}
#cc-game .sv-root .sv-character-preview h3{
  margin:4px 0;
  font-size:16px;
  color:#5b422f;
}
#cc-game .sv-root .sv-character-preview .sv-note{
  margin:4px auto 0;
  color:#806b52;
  font-size:11px;
}
#cc-game .sv-root .sv-character-parts>.sv-tabs{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:5px;
  margin:2px 0 12px;
  padding-bottom:12px;
  border-bottom:1px solid #cfb993;
}
#cc-game .sv-root .sv-character-parts>.sv-tabs .sv-tab,
#cc-game .sv-root .sv-owned-filter .sv-tab{
  min-width:0;
  min-height:42px;
  padding:7px 6px;
  border:1px solid #c6ac82;
  border-bottom-width:2px;
  border-radius:8px;
  background:linear-gradient(#fff9eb,#efe1c6);
  color:#634c35;
  font-size:12px;
  font-weight:650;
  line-height:1.35;
  white-space:normal;
  overflow-wrap:anywhere;
}
#cc-game .sv-root .sv-character-parts>.sv-tabs .sv-tab[aria-pressed="true"],
#cc-game .sv-root .sv-owned-filter .sv-tab[aria-pressed="true"]{
  border-color:#78936d;
  background:linear-gradient(#edf4e5,#d9e7ce);
  color:#395840;
  box-shadow:inset 0 1px #fffdf2;
}
#cc-game .sv-root .sv-owned-filter .sv-tabs{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  max-width:350px;
  margin:0 0 13px;
  border:0;
}
#cc-game .sv-root .sv-character-parts>.sv-section-title{
  margin:12px 0 8px;
  color:#59412b;
  font-size:16px;
}
#cc-game .sv-root .sv-part-options{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:12px 0 16px;
}
#cc-game .sv-root .sv-part-option{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  min-width:0;
  min-height:132px;
  padding:11px;
  gap:5px;
  border:1px solid #c9a879;
  border-bottom-width:2px;
  border-radius:11px;
  background:linear-gradient(#fffaf0,#f8edd9);
  color:#533e2b;
  text-align:left;
  box-shadow:inset 0 1px #fffef8,0 2px 5px #4e342015;
}
#cc-game .sv-root .sv-part-option:hover:not(:disabled){
  border-color:#7c9a72;
  background:linear-gradient(#fffef4,#edf1e2);
}
#cc-game .sv-root .sv-part-option[aria-pressed="true"]{
  border-color:#68865c;
  background:linear-gradient(#f1f7e9,#dfead5);
  color:#37533d;
  box-shadow:inset 0 0 0 1px #8aa77d,0 2px 5px #4e342018;
}
#cc-game .sv-root .sv-part-option:disabled{
  opacity:1;
  border-color:#c5b8a6;
  background:#eee7dc;
  color:#70675c;
  box-shadow:none;
}
#cc-game .sv-root .sv-part-option .sv-part-index,
#cc-game .sv-root .sv-part-option .sv-part-swatch{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:34px;
  height:34px;
  margin-bottom:3px;
  border:1px solid #bea781;
  border-radius:50%;
  background:#f5ead3;
  color:#826a4f;
  font:700 16px/1 ui-monospace,monospace;
}
#cc-game .sv-root .sv-part-option .sv-part-swatch{
  border-radius:9px;
  box-shadow:inset 0 0 0 2px #fffcf5;
}
#cc-game .sv-root .sv-part-option strong{
  width:100%;
  font-size:13px;
  line-height:1.35;
  font-weight:700;
  overflow-wrap:anywhere;
}
#cc-game .sv-root .sv-part-option .sv-owned-status{
  margin-top:auto;
  color:#755f48;
  font-size:11px;
  line-height:1.35;
}
#cc-game .sv-root .sv-part-option:disabled .sv-owned-status{color:#6f6058}
#cc-game .sv-root .sv-part-option .sv-equipped{
  margin-top:2px;
  padding:3px 8px;
  border:1px solid #96ad8a;
  border-radius:99px;
  background:#e6f0df;
  color:#3e6045;
  font-size:10px;
  font-weight:700;
}
#cc-game .sv-root .sv-appearance-confirm{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  margin-top:18px;
  padding:17px 16px 15px;
  border:1px solid #cdb18a;
  border-radius:12px;
  background:linear-gradient(#fff9ec,#f0e2c9);
}
#cc-game .sv-root .sv-appearance-confirm>div:first-child{min-width:0;flex:1}
#cc-game .sv-root .sv-appearance-confirm h3{color:#5d472d;font-size:15px}
#cc-game .sv-root .sv-appearance-confirm>.sv-choices{
  display:flex;
  flex:0 1 350px;
  gap:8px;
  margin:0;
}
#cc-game .sv-root .sv-appearance-confirm .sv-button{
  min-height:44px;
  min-width:0;
  padding:8px 12px;
  white-space:normal;
}
#cc-game .sv-root .sv-appearance-confirm .sv-appearance-total strong{color:#426344}
#cc-game .sv-root :is(.sv-character-parts,.sv-appearance-confirm) button:focus-visible{
  outline:3px solid #a36d2d;
  outline-offset:2px;
}
@media(max-width:720px){
  #cc-game .sv-root .sv-character-layout{grid-template-columns:minmax(0,1fr) 182px;gap:13px}
  #cc-game .sv-root .sv-character-preview canvas[data-appearance-preview]{width:155px}
  #cc-game .sv-root .sv-part-options{grid-template-columns:repeat(2,minmax(0,1fr))}
  #cc-game .sv-root .sv-character-parts>.sv-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:520px){
  #cc-game .g-dialog:has(.sv-character-layout){width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:12px}
  #cc-game .sv-root .sv-character-layout{display:flex;flex-direction:column;gap:12px}
  #cc-game .sv-root .sv-character-preview{
    position:static;
    display:grid;
    grid-template-columns:91px minmax(0,1fr);
    align-items:center;
    gap:4px 10px;
    width:100%;
    padding:8px 10px;
    text-align:left;
  }
  #cc-game .sv-root .sv-character-preview canvas[data-appearance-preview]{
    grid-row:1 / span 2;
    width:91px;
    height:auto;
    margin:0;
  }
  #cc-game .sv-root .sv-character-preview h3{align-self:end;margin:0}
  #cc-game .sv-root .sv-character-preview .sv-note{display:block;align-self:start;margin:0;font-size:10px}
  #cc-game .sv-root .sv-character-parts{width:100%}
  #cc-game .sv-root .sv-character-parts>.sv-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  #cc-game .sv-root .sv-part-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  #cc-game .sv-root .sv-part-option{min-height:124px;padding:9px}
  #cc-game .sv-root .sv-appearance-confirm{display:block;padding:12px}
  #cc-game .sv-root .sv-appearance-confirm>.sv-choices{margin-top:12px}
  #cc-game .sv-root .sv-appearance-confirm .sv-button{flex:1 1 0}
}
@media(max-height:500px){
  #cc-game .sv-root .sv-character-preview{position:static}
}

/* V128: shared clothing-only thumbnails inside player wardrobe option cards. */
#cc-game .sv-root .sv-part-option .sv-clothing-thumbnail{
  display:block;
  flex:0 0 80px;
  width:100%;
  height:80px;
  object-fit:contain;
  overflow:hidden;
  pointer-events:none;
}
