/* CB_MAKER_WORKFLOW_V4_WIDE_SCENE */
html, body{
  background:#ffffff !important;
  color:#0f172a !important;
  overflow-x:hidden !important;
}
body{ background-image:none !important; }

[data-cb-lobby-root]{
  width:calc(100vw - 16px) !important;
  max-width:none !important;
  min-height:calc(100vh - 86px) !important;
  margin:12px auto 0 auto !important;
  padding:14px !important;
  border-radius:30px !important;
  background:linear-gradient(180deg,#fbfdff 0%, #f8fbff 100%) !important;
  box-shadow:0 26px 80px rgba(15,23,42,.08) !important;
  position:relative !important;
}

[data-cbmw-v4-legacy="1"]{
  display:none !important;
  visibility:hidden !important;
  width:0 !important;
  height:0 !important;
  overflow:hidden !important;
}

[data-cb-lobby-root] > :not([data-cbmw-v4-legacy="1"]):not([data-cbmw-v4-shell="1"]){
  display:none !important;
}

.cbmwApp{
  width:100%;
  display:flex;
  flex-direction:column;
  gap:16px;
  box-sizing:border-box;
}

.cbmwTabs{
  display:grid;
  grid-template-columns:repeat(6, minmax(0,1fr));
  gap:10px;
}
.cbmwTab{
  appearance:none;
  border:1px solid rgba(148,163,184,.26);
  background:linear-gradient(180deg,#0b1326 0%, #101a34 100%);
  color:#f8fafc;
  border-radius:18px;
  padding:14px 12px;
  font-size:13px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  box-shadow:0 14px 34px rgba(15,23,42,.14);
  transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease, opacity .14s ease;
}
.cbmwTab:hover{
  transform:translateY(-1px);
  box-shadow:0 18px 38px rgba(15,23,42,.18);
}
.cbmwTab.is-active{
  background:linear-gradient(180deg,#6c83ff,#4f70ff);
  border-color:rgba(99,102,241,.44);
}

.cbmwLayout{
  display:grid;
  grid-template-columns:300px minmax(0,1fr) 300px;
  gap:18px;
  align-items:start;
  width:100%;
  box-sizing:border-box;
}
.cbmwCol{ min-width:0; }

.cbmwStack{
  display:flex;
  flex-direction:column;
  gap:14px;
  min-height:100%;
}

.cbmwCard{
  padding:16px;
  border-radius:22px;
  background:#ffffff;
  border:1px solid rgba(226,232,240,.95);
  box-shadow:0 16px 38px rgba(15,23,42,.08);
  color:#0f172a;
  box-sizing:border-box;
}
.cbmwCardDark{
  padding:18px;
  border-radius:24px;
  background:linear-gradient(180deg,#0b1326 0%, #101a34 100%);
  border:1px solid rgba(99,102,241,.18);
  color:#f8fafc;
  box-shadow:0 18px 42px rgba(15,23,42,.18);
  box-sizing:border-box;
}

.cbmwEyebrow{
  font-size:11px;
  font-weight:900;
  line-height:1;
  letter-spacing:.08em;
  opacity:.86;
}
.cbmwTitle{
  margin-top:8px;
  font-size:26px;
  font-weight:900;
  line-height:1.12;
}
.cbmwText{
  margin-top:8px;
  font-size:13px;
  line-height:1.72;
  color:#64748b;
}
.cbmwCardDark .cbmwText{ color:rgba(241,245,249,.84); }

.cbmwFieldGrid{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}
.cbmwField{
  padding:12px 14px;
  border-radius:18px;
  background:#f8fafc;
  border:1px solid rgba(226,232,240,.95);
}
.cbmwField label{
  display:block;
  margin-bottom:6px;
  font-size:11px;
  font-weight:900;
  color:#64748b;
}
.cbmwField strong,
.cbmwField span{
  display:block;
  font-size:13px;
  font-weight:900;
  line-height:1.45;
  color:#0f172a;
  word-break:break-word;
}

.cbmwStageCard{
  display:flex;
  flex-direction:column;
  gap:16px;
  min-height:860px;
}

.cbmwHeroScene{
  position:relative;
  overflow:hidden;
  border-radius:26px;
  min-height:230px;
  background-size:cover;
  background-position:center center;
  box-shadow:0 18px 42px rgba(15,23,42,.18);
}
.cbmwHeroScene::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(8,14,28,.18) 0%, rgba(8,14,28,.48) 58%, rgba(8,14,28,.68) 100%);
}
.cbmwHeroSceneInner{
  position:relative;
  z-index:1;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:20px;
  color:#f8fafc;
}
.cbmwBadges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
}
.cbmwBadge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:10px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(226,232,240,.95);
  color:#0f172a;
  font-size:12px;
  font-weight:900;
  line-height:1;
  box-shadow:0 10px 24px rgba(15,23,42,.10);
}

.cbmwBenchCard{
  display:flex;
  flex-direction:column;
  gap:14px;
  flex:1 1 auto;
  padding:18px;
  border-radius:28px;
  background:#ffffff;
  border:1px solid rgba(226,232,240,.95);
  box-shadow:0 22px 50px rgba(15,23,42,.10);
  box-sizing:border-box;
}
.cbmwBenchHead{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.cbmwBenchHead strong{
  font-size:18px;
  line-height:1.15;
  color:#0f172a;
}
.cbmwBenchHead span{
  display:block;
  margin-top:6px;
  font-size:12px;
  line-height:1.7;
  color:#64748b;
}

.cbmwActionRow{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.cbmwBtn{
  appearance:none;
  border:1px solid rgba(148,163,184,.34);
  background:#ffffff;
  color:#0f172a;
  border-radius:14px;
  padding:11px 14px;
  font-size:13px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  box-shadow:0 10px 22px rgba(15,23,42,.08);
  transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease, background .14s ease;
}
.cbmwBtn:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 30px rgba(15,23,42,.12);
  border-color:rgba(79,112,255,.34);
}
.cbmwBtnPrimary{
  background:linear-gradient(180deg,#4f70ff,#3e5ce7);
  color:#ffffff;
  border-color:rgba(79,112,255,.55);
}
.cbmwBtnSoft{
  background:#eff6ff;
  color:#1d4ed8;
  border-color:rgba(147,197,253,.55);
}
.cbmwBtnDark{
  background:#0f172a;
  color:#ffffff;
  border-color:#0f172a;
}

.cbmwTokens{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.cbmwToken{
  display:inline-flex;
  align-items:center;
  padding:8px 10px;
  border-radius:999px;
  background:#eef2ff;
  color:#1e3a8a;
  border:1px solid rgba(99,102,241,.16);
  font-size:12px;
  font-weight:900;
  line-height:1;
}
.cbmwTokenMaterial{
  background:#eff6ff;
  color:#1d4ed8;
  border-color:rgba(147,197,253,.55);
}

.cbmwBenchCanvas{
  position:relative;
  min-height:540px;
  border-radius:24px;
  overflow:hidden;
  border:1px solid rgba(226,232,240,.95);
  background:
    linear-gradient(to right, rgba(15,23,42,.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(15,23,42,.05) 1px, transparent 1px),
    linear-gradient(180deg,#ffffff 0%, #f8fafc 100%);
  background-size:24px 24px, 24px 24px, auto;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.cbmwRuler{
  position:absolute;
  left:20px;
  top:18px;
  width:260px;
  height:16px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.35);
  background:
    repeating-linear-gradient(to right, rgba(15,23,42,.22) 0 1px, transparent 1px 18px),
    #ffffff;
  box-shadow:0 10px 24px rgba(15,23,42,.08);
}
.cbmwSheet{
  position:absolute;
  left:50%;
  top:50%;
  width:min(640px, calc(100% - 120px));
  height:min(400px, calc(100% - 150px));
  transform:translate(-50%, -50%);
  border-radius:26px;
  border:1px solid rgba(203,213,225,.95);
  background:
    linear-gradient(to right, rgba(15,23,42,.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(15,23,42,.04) 1px, transparent 1px),
    linear-gradient(180deg,#ffffff 0%, #f8fafc 100%);
  background-size:20px 20px, 20px 20px, auto;
  box-shadow:0 18px 40px rgba(15,23,42,.10);
}
.cbmwArtwork{
  position:absolute;
  inset:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.cbmwArtwork img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  filter:drop-shadow(0 14px 28px rgba(15,23,42,.14));
}
.cbmwPlaceholder{
  color:#94a3b8;
  font-size:14px;
  line-height:1.8;
  font-weight:900;
}
.cbmwCutline{
  position:absolute;
  inset:24px;
  pointer-events:none;
  display:flex;
  align-items:center;
  justify-content:center;
}
.cbmwCutline svg{
  width:min(72%, 420px);
  height:auto;
}
.cbmwBenchBadge{
  position:absolute;
  left:18px;
  bottom:18px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(226,232,240,.95);
  box-shadow:0 10px 24px rgba(15,23,42,.10);
  font-size:12px;
  font-weight:900;
  color:#0f172a;
}

.cbmwChoiceGrid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:14px;
}
.cbmwChoiceCard{
  padding:15px;
  border-radius:20px;
  background:#ffffff;
  border:1px solid rgba(226,232,240,.95);
  box-shadow:0 14px 30px rgba(15,23,42,.08);
  display:flex;
  flex-direction:column;
  gap:10px;
}
.cbmwChoiceCard.is-active{
  border-color:rgba(79,112,255,.45);
  background:#eef2ff;
  box-shadow:0 16px 36px rgba(79,112,255,.12);
}
.cbmwChoiceCard strong{
  font-size:15px;
  line-height:1.2;
  color:#0f172a;
}
.cbmwChoiceCard span{
  font-size:12px;
  line-height:1.65;
  color:#64748b;
}
.cbmwChoiceMeta{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.cbmwChoiceTag{
  display:inline-flex;
  align-items:center;
  padding:7px 9px;
  border-radius:999px;
  background:#f8fafc;
  border:1px solid rgba(226,232,240,.95);
  color:#0f172a;
  font-size:11px;
  font-weight:900;
  line-height:1;
}

.cbmwDrawerGrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.cbmwDrawerGroup{
  padding:14px;
  border-radius:22px;
  background:#ffffff;
  border:1px solid rgba(226,232,240,.95);
  box-shadow:0 16px 38px rgba(15,23,42,.08);
}
.cbmwDrawerGroup h4{
  margin:0 0 10px 0;
  font-size:15px;
  line-height:1.2;
  color:#0f172a;
}
.cbmwDrawerList{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.cbmwDrawerItem{
  padding:12px;
  border-radius:16px;
  background:#f8fafc;
  border:1px solid rgba(226,232,240,.95);
}
.cbmwDrawerItem strong{
  display:block;
  font-size:13px;
  line-height:1.3;
  color:#0f172a;
}
.cbmwDrawerItem span{
  display:block;
  margin-top:4px;
  font-size:11px;
  line-height:1.55;
  color:#64748b;
}
.cbmwEmpty{
  padding:16px;
  border-radius:18px;
  background:#f8fafc;
  border:1px dashed rgba(148,163,184,.36);
  color:#64748b;
  font-size:12px;
  line-height:1.7;
  font-weight:900;
}

.cbmwEditorOverlay{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(14px);
}
.cbmwEditorOverlay.is-open{ display:flex; }

.cbmwEditorShell{
  width:min(1780px, calc(100vw - 18px));
  height:min(calc(100vh - 18px), 980px);
  margin:auto;
  display:grid;
  grid-template-columns:340px minmax(860px,1fr) 360px;
  gap:18px;
  padding:18px;
  border-radius:32px;
  background:linear-gradient(180deg,#f8fafc 0%, #ffffff 100%);
  border:1px solid rgba(226,232,240,.95);
  box-shadow:0 28px 90px rgba(15,23,42,.20);
}
.cbmwEditorCol{
  min-height:0;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.cbmwEditorPanel{
  padding:16px;
  border-radius:22px;
  background:#ffffff;
  border:1px solid rgba(226,232,240,.95);
  box-shadow:0 14px 32px rgba(15,23,42,.08);
}
.cbmwEditorTitle{
  font-size:22px;
  line-height:1.2;
  font-weight:900;
  color:#0f172a;
}
.cbmwEditorMeta{
  margin-top:6px;
  font-size:12px;
  line-height:1.6;
  color:#64748b;
}
.cbmwSegment{
  display:inline-flex;
  gap:4px;
  padding:4px;
  border-radius:999px;
  background:#eef2ff;
  border:1px solid rgba(99,102,241,.12);
}
.cbmwSegment button{
  appearance:none;
  border:0;
  background:transparent;
  padding:10px 14px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  color:#334155;
  cursor:pointer;
}
.cbmwSegment button.is-active{
  background:#ffffff;
  color:#0f172a;
  box-shadow:0 8px 20px rgba(15,23,42,.10);
}
.cbmwEditorCanvasWrap{
  min-height:0;
  flex:1 1 auto;
  border-radius:28px;
  border:1px solid rgba(226,232,240,.95);
  overflow:hidden;
  background:#ffffff;
  box-shadow:0 16px 40px rgba(15,23,42,.08);
}
.cbmwEditorCanvasHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  border-bottom:1px solid rgba(226,232,240,.95);
  background:rgba(255,255,255,.86);
}
.cbmwEditorCanvas{
  position:relative;
  min-height:640px;
  height:calc(100% - 61px);
  background:
    linear-gradient(to right, rgba(15,23,42,.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(15,23,42,.04) 1px, transparent 1px),
    linear-gradient(180deg,#ffffff 0%, #f8fafc 100%);
  background-size:24px 24px, 24px 24px, auto;
}
.cbmwRulerTop{
  position:absolute;
  left:48px;
  right:0;
  top:0;
  height:28px;
  background:
    repeating-linear-gradient(to right, rgba(15,23,42,.20) 0 1px, transparent 1px 24px),
    #f8fafc;
  border-bottom:1px solid rgba(226,232,240,.95);
}
.cbmwRulerLeft{
  position:absolute;
  top:28px;
  left:0;
  bottom:0;
  width:48px;
  background:
    repeating-linear-gradient(to bottom, rgba(15,23,42,.20) 0 1px, transparent 1px 24px),
    #f8fafc;
  border-right:1px solid rgba(226,232,240,.95);
}
.cbmwBoard{
  position:absolute;
  left:64px;
  right:20px;
  top:44px;
  bottom:20px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.cbmwBoardInner{
  position:relative;
  width:min(920px,100%);
  height:min(600px,100%);
  border-radius:26px;
  border:1px solid rgba(226,232,240,.95);
  background:
    linear-gradient(to right, rgba(15,23,42,.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(15,23,42,.05) 1px, transparent 1px),
    #ffffff;
  background-size:20px 20px;
  box-shadow:0 18px 40px rgba(15,23,42,.08);
  overflow:hidden;
}
.cbmwArtworkBox{
  position:absolute;
  inset:24px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.cbmwArtworkBox img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  filter:drop-shadow(0 14px 28px rgba(15,23,42,.14));
}
.cbmwArtworkPlaceholder{
  color:#94a3b8;
  font-size:14px;
  line-height:1.75;
  font-weight:900;
  text-align:center;
}
.cbmwCutlineBox{
  position:absolute;
  inset:24px;
  pointer-events:none;
  display:flex;
  align-items:center;
  justify-content:center;
}
.cbmwCutlineBox svg{
  width:min(72%,420px);
  height:auto;
}
.cbmwSizeBadge{
  position:absolute;
  left:16px;
  bottom:16px;
  z-index:3;
  display:inline-flex;
  gap:8px;
  align-items:center;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(226,232,240,.95);
  box-shadow:0 10px 24px rgba(15,23,42,.10);
  color:#0f172a;
  font-size:12px;
  font-weight:900;
}
.cbmwEditorForm{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.cbmwEditorField label{
  display:block;
  margin-bottom:6px;
  font-size:11px;
  font-weight:900;
  color:#64748b;
}
.cbmwEditorField input{
  width:100%;
  box-sizing:border-box;
  appearance:none;
  border:1px solid rgba(203,213,225,.95);
  background:#ffffff;
  color:#0f172a;
  border-radius:14px;
  padding:11px 12px;
  font-size:13px;
  font-weight:800;
  outline:none;
}
.cbmwEditorField input:focus{
  border-color:#4f70ff;
  box-shadow:0 0 0 4px rgba(79,112,255,.12);
}
.cbmwEditorNote{
  padding:12px 14px;
  border-radius:16px;
  background:#eef2ff;
  border:1px solid rgba(99,102,241,.14);
  color:#1e3a8a;
  font-size:12px;
  line-height:1.65;
  font-weight:900;
}
.cbmwEditorActions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.cbmwEditorClose{
  appearance:none;
  border:1px solid rgba(148,163,184,.35);
  background:#ffffff;
  color:#0f172a;
  width:42px;
  height:42px;
  border-radius:999px;
  font-size:18px;
  font-weight:900;
  cursor:pointer;
}
.cbmwHidden{ display:none !important; }

.cbmwToast{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:10001;
  min-width:220px;
  max-width:420px;
  padding:12px 14px;
  border-radius:16px;
  background:#0f172a;
  color:#ffffff;
  font-size:13px;
  font-weight:900;
  line-height:1.45;
  box-shadow:0 18px 42px rgba(15,23,42,.22);
  opacity:0;
  transform:translateY(10px);
  transition:opacity .18s ease, transform .18s ease;
}
.cbmwToast.is-on{
  opacity:1;
  transform:translateY(0);
}

@media (max-width:1800px){
  .cbmwLayout{ grid-template-columns:280px minmax(0,1fr) 280px; }
}
@media (max-width:1520px){
  .cbmwChoiceGrid, .cbmwDrawerGrid{ grid-template-columns:1fr; }
}
@media (max-width:1280px){
  .cbmwTabs{ grid-template-columns:repeat(3, minmax(0,1fr)); }
  .cbmwLayout{ grid-template-columns:1fr; }
}
@media (max-width:1180px){
  [data-cb-lobby-root]{
    width:calc(100vw - 10px) !important;
    padding:10px !important;
  }
  .cbmwEditorShell{
    width:calc(100vw - 12px);
    height:calc(100vh - 12px);
    grid-template-columns:1fr;
    overflow:auto;
  }
  .cbmwEditorCanvas{ min-height:520px; }
  .cbmwEditorForm, .cbmwEditorActions{ grid-template-columns:1fr; }
}