:root {
  --bg: #ffffff;
  --paper: #ffffff;
  --ink: #222;
  --sub: #666;
  --line: #ddd6c8;
  --accent: #1f4f46;
  --accent-light: #e8f0ed;
  --gold: #b79b5b;
}

.nstudio-page,
.nstudio-page * {
  box-sizing: border-box;
}

.nstudio-page {
  margin: 0;
  font-family: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;
  color: var(--ink);
  background: transparent;
  line-height: 1.8;
  display: block;
  width: 100%;
  min-height: 0;
  height: auto;
  overflow-x: hidden;
  overflow-y: visible;
}


/*
 * Semantic UIはアイコンフォントだけ利用する。
 * icon.cssが持つ汎用的な余白・幅・行高をNUNO STUDIO内では基準化し、
 * ボタンごとの配置は下にあるNUNO STUDIO固有ルールへ任せる。
 */
.nstudio-page i.icon {
  position: static;
  display: inline-block;
  width: 1em;
  height: 1em;
  margin: 0;
  padding: 0;
  line-height: 1;
  vertical-align: middle;
  text-align: center;
  flex: 0 0 auto;
}

.nstudio-page i.icon::before {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  line-height: 1;
}


.nstudio-page main {
  display: block;
  min-height: 0;
  height: auto;
}

/* 固定ページ内への干渉を避けるため、このブロック内だけに効かせる */
.nstudio-page a {
  color: inherit;
}

.nstudio-page .wrap {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 20px;
}

.nstudio-page .hero {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 42px 0;
  position: relative;
  overflow: hidden;
  background: #fff;
  color: var(--ink);
  border-top: 1px solid rgba(31,79,70,.14);
  border-bottom: 1px solid rgba(31,79,70,.24);
  box-shadow: none;
}

.nstudio-page .hero-inner {
  position: relative;
  max-width: 980px;
  display: block;
}

.nstudio-page .hero-image {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 1672 / 941;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid rgba(31,79,70,.18);
  background: #f8f8f5;
  box-shadow: 0 18px 42px rgba(0,0,0,.08);
}

.nstudio-page .hero-image::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 48%;
  background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(22,28,25,.18) 45%, rgba(22,28,25,.38) 100%);
  pointer-events: none;
}

.nstudio-page .hero-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.nstudio-page .hero-copy {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 24px 28px 22px;
  background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(18,24,22,.18) 18%, rgba(18,24,22,.58) 100%);
  z-index: 2;
}

.nstudio-page .hero-desc {
  margin-top: 18px;
  padding: 0 4px;
}

.nstudio-page .label {
  display: none;
}

.nstudio-page .hero h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(26px, 3.6vw, 42px);
  line-height: 1.15;
  letter-spacing: .04em;
  text-shadow: 0 2px 10px rgba(0,0,0,.28);
}

.nstudio-page .hero h1::after {
  content: "";
  display: block;
  width: 76px;
  height: 3px;
  margin-top: 16px;
  background: rgba(255,255,255,.96);
  border-radius: 0;
}

.nstudio-page .hero-copy-sub {
  margin-top: 10px;
  color: #fff;
  font-size: clamp(20px, 2.5vw, 30px);
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: .04em;
  text-shadow: 0 2px 10px rgba(0,0,0,.22);
}

.nstudio-page .hero p {
  max-width: none;
  margin: 0;
  color: var(--sub);
  font-size: 15px;
  line-height: 1.8;
}

@media (max-width: 760px) {
  .nstudio-page .hero {
    padding: 28px 0 34px;
  }

  .nstudio-page .hero-inner {
    max-width: 100%;
  }

  .nstudio-page .hero-image {
    width: 100%;
    max-width: 100%;
    margin: 0;
    border-radius: 20px;
  }

  .nstudio-page .hero-copy {
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    padding: 16px 16px 14px;
  }

  .nstudio-page .hero-desc {
    margin-top: 16px;
    padding: 0;
  }

  .nstudio-page .hero h1 {
    font-size: clamp(22px, 6.4vw, 32px);
  }

  .nstudio-page .hero-copy-sub {
    font-size: clamp(17px, 4.8vw, 24px);
  }

  .nstudio-page .hero p {
    font-size: 14px;
    line-height: 1.7;
  }
}

.section {
  padding: 46px 0;
}

.section-title {
  text-align: center;
  margin-bottom: 26px;
}

.section-title h2 {
  position: relative;
  display: inline-block;
  margin: 0 0 12px;
  padding: 0 18px 10px;
  font-size: clamp(24px, 3vw, 36px);
  letter-spacing: .04em;
}

.section-title h2::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 72px;
  height: 2px;
  transform: translateX(-50%);
  background: rgba(31,79,70,.32);
  border-radius: 999px;
}

.section-title p {
  margin: 0;
  color: var(--sub);
}

.notice-box {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 28px;
  box-shadow: 0 12px 36px rgba(0,0,0,.05);
}

.notice-box strong {
  color: var(--accent);
}

.grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.card {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 24px;
  box-shadow: 0 8px 26px rgba(0,0,0,.04);
}

.card h3 {
  margin: 0 0 10px;
  font-size: 20px;
}

.card p {
  margin: 0;
  color: var(--sub);
  font-size: 14px;
}

.order-layout {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 28px;
  align-items: start;
}

.panel {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 24px;
  box-shadow: 0 12px 36px rgba(0,0,0,.05);
}

.form-block {
  margin-bottom: 24px;
}

.form-block h3 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  padding: 3px 10px 4px;
  border-radius: 999px;
  background: rgba(31,79,70,.07);
  color: var(--accent);
  font-size: 15px;
  line-height: 1.5;
}

.option-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.option {
  position: relative;
}

.option input {
  display: none;
}

.option span {
  display: block;
  padding: 12px 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  font-size: 14px;
  text-align: center;
  cursor: pointer;
  transition: .2s;
}

.option input:checked + span {
  border-color: var(--accent);
  background: var(--accent-light);
  color: var(--accent);
  font-weight: 700;
}

select,
input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  font: inherit;
  background: #fff;
}

textarea {
  min-height: 120px;
  resize: vertical;
}

.size-custom {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 10px;
}


.preview-panel {
  position: relative;
  top: auto;
}

.preview-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 18px;
}

.preview-head h3 {
  margin: 0;
  font-size: 20px;
}

.preview-size {
  font-size: 13px;
  color: var(--sub);
}

.canvas-area {
  min-height: 520px;
  display: flex;
  justify-content: center;
  align-items: center;
  background:
    linear-gradient(45deg, #eee 25%, transparent 25%),
    linear-gradient(-45deg, #eee 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, #eee 75%),
    linear-gradient(-45deg, transparent 75%, #eee 75%);
  background-size: 22px 22px;
  background-position: 0 0, 0 11px, 11px -11px, -11px 0;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 24px;
  overflow: auto;
}

.nobori-canvas {
  position: relative;
  min-width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.canvas-container {
  margin: 0 auto;
}

.upload-placeholder {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  pointer-events: none;
  color: #888;
  text-align: center;
  font-size: 13px;
  padding: 16px 18px;
  background: rgba(255,255,255,.85);
  border-radius: 12px;
  box-shadow: 0 6px 20px rgba(0,0,0,.06);
}

.preview-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px;
  margin-top: 18px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #f7f7f5;
}

.tool-group {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.tool-upload,
.tool-btn {
  appearance: none;
  border: 1px solid #cfc7b8;
  background: #fff;
  color: #222;
  border-radius: 10px;
  padding: 9px 12px;
  font: inherit;
  font-size: 13px;
  line-height: 1.2;
  cursor: pointer;
  box-shadow: 0 1px 0 rgba(255,255,255,.9) inset;
}

.tool-btn.is-active,
.tool-upload:hover,
.tool-btn:hover {
  border-color: #1f4f46;
  background: #eef4f2;
  color: #1f4f46;
}

.tool-upload input[type="file"] {
  display: none;
}

.zoom-indicator {
  display: inline-flex;
  align-items: center;
  min-width: 66px;
  justify-content: center;
  padding: 8px 10px;
  border: 1px solid #cfc7b8;
  border-radius: 10px;
  background: #fff;
  font-size: 13px;
  color: #444;
}

.summary {
  margin-top: 18px;
  padding: 18px;
  border-radius: 16px;
  background: #faf8f3;
  border: 1px solid var(--line);
  font-size: 14px;
}

.summary dl {
  margin: 0;
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 6px 12px;
}

.summary dt {
  color: var(--sub);
}

.summary dd {
  margin: 0;
  font-weight: 700;
}

.submit-area {
  margin-top: 32px;
  text-align: center;
}

.btn {
  display: inline-block;
  width: 100%;
  padding: 16px 24px;
  border: none;
  border-radius: 999px;
  background: var(--accent);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .04em;
  cursor: pointer;
}

.note {
  margin-top: 10px;
  color: var(--sub);
  font-size: 13px;
}

.flow {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.flow-item {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 22px;
}

.flow-num {
  color: var(--gold);
  font-size: 13px;
  letter-spacing: .12em;
  font-weight: 700;
}

.flow-item h3 {
  margin: 8px 0;
  font-size: 18px;
}

.flow-item p {
  margin: 0;
  color: var(--sub);
  font-size: 14px;
}

.footer-note {
  background: #222;
  color: #fff;
  padding: 36px 0;
  font-size: 13px;
  margin: 0;
}

.nstudio-page > *:last-child {
  margin-bottom: 0 !important;
}

.footer-note p {
  margin: 0;
  color: rgba(255,255,255,.72);
}

@media (max-width: 900px) {
  .grid-3,
  .order-layout,
  .flow {
    grid-template-columns: 1fr;
  }

  .preview-panel {
    position: static;
  }

  .canvas-area {
    min-height: 420px;
    justify-content: flex-start;
  }
}


/* ===== simple artboard editor v3 ===== */
.preview-panel {
  min-height: 0;
}

.preview-head {
  margin-bottom: 12px;
}

.editor-mode-switch {
  display: inline-flex;
  gap: 8px;
  margin: 0 0 12px;
  padding: 6px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #f7f7f5;
}

.mode-btn {
  appearance: none;
  border: 1px solid transparent;
  background: transparent;
  color: #555;
  border-radius: 999px;
  padding: 8px 14px;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.mode-btn i.icon {
  margin-right: 6px !important;
}

.mode-btn.is-active {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}

.mode-panel {
  display: none;
}

.mode-panel.is-active {
  display: block;
}

.design-shell {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 12px;
  height: min(72vh, 760px);
  min-height: 560px;
}

.side-toolbar {
  display: flex;
  flex-direction: column;
  gap: 7px;
  align-self: stretch;
  padding: 8px 6px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #f7f7f5;
}

.icon-tool {
  appearance: none;
  width: 44px;
  min-height: 48px;
  padding: 6px 4px;
  border: 1px solid #d7d1c5;
  border-radius: 12px;
  background: #fff;
  color: #333;
  font: inherit;
  font-size: 10px;
  line-height: 1.1;
  cursor: pointer;
  text-align: center;
}

.icon-tool i.icon {
  display: block;
  width: auto;
  height: auto;
  margin: 0 auto 3px !important;
  font-size: 16px;
}

.icon-tool span {
  display: block;
  transform: scale(.94);
  transform-origin: center;
  white-space: nowrap;
}

.icon-tool:hover,
.icon-tool.is-active {
  border-color: var(--accent);
  background: var(--accent-light);
  color: var(--accent);
  font-weight: 700;
}

.icon-tool.danger:hover {
  border-color: #9b2c2c;
  background: #fff1f1;
  color: #9b2c2c;
}

.canvas-area {
  position: relative;
  min-height: 0;
  height: 100%;
  display: block;
  background: repeating-linear-gradient(135deg, #ebebeb 0, #ebebeb 12px, #e4e4e4 12px, #e4e4e4 24px);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 0;
  overflow: hidden;
}

.nobori-canvas {
  position: relative;
  width: 100%;
  height: 100%;
  min-width: 0;
  display: block;
}

.nobori-canvas canvas {
  display: block;
}

.canvas-container {
  margin: 0 !important;
}

.upload-placeholder {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  pointer-events: none;
  color: #777;
  text-align: center;
  font-size: 13px;
  line-height: 1.7;
  padding: 16px 18px;
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  box-shadow: 0 8px 26px rgba(0,0,0,.08);
}

.upload-placeholder i.icon {
  margin: 0 0 4px !important;
  font-size: 22px;
  color: #999;
}

.preview-toolbar {
  display: none;
}

.preview-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 12px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #f7f7f5;
}

.main-upload,
.action-btn,
.zoom-indicator {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-height: 38px;
  border: 1px solid #cfc7b8;
  border-radius: 10px;
  background: #fff;
  color: #222;
  padding: 8px 11px;
  font: inherit;
  font-size: 13px;
  line-height: 1.2;
  cursor: pointer;
}

.main-upload {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
  font-weight: 700;
}

.main-upload input[type="file"] {
  display: none;
}

.action-btn:hover {
  border-color: var(--accent);
  background: var(--accent-light);
  color: var(--accent);
}

.action-btn.danger:hover {
  border-color: #9b2c2c;
  background: #fff1f1;
  color: #9b2c2c;
}

.zoom-indicator {
  margin-left: auto;
  min-width: 68px;
  cursor: default;
  color: #444;
}

.image-size-panel {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 10px 12px;
  margin-top: 12px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fcfbf8;
}

.image-size-field {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.image-size-field label,
.image-size-lock {
  color: #555;
  font-size: 12px;
}

.image-size-label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}

.fit-cloth-btn {
  appearance: none;
  border: 1px solid #cfc7b8;
  border-radius: 999px;
  background: #fff;
  color: #1f4f46;
  padding: 2px 7px;
  font: inherit;
  font-size: 11px;
  line-height: 1.35;
  cursor: pointer;
  white-space: nowrap;
}

.fit-cloth-btn:hover {
  border-color: #1f4f46;
  background: #eef4f2;
}

.image-size-input-wrap {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0 10px;
  min-height: 38px;
  border: 1px solid #cfc7b8;
  border-radius: 10px;
  background: #fff;
}

.image-size-input-wrap input {
  width: 86px;
  border: 0;
  background: transparent;
  padding: 8px 0;
  font: inherit;
  text-align: right;
  outline: none;
}

.image-size-unit {
  color: #777;
  font-size: 12px;
}

.image-size-lock {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 38px;
  padding: 0 2px;
}

.image-size-note {
  color: #888;
  font-size: 12px;
}

.preview-display-shell {
  display: flex;
  flex-direction: column;
  height: min(72vh, 760px);
  min-height: 560px;
  border: 1px solid var(--line);
  border-radius: 18px;
  overflow: hidden;
  background: linear-gradient(180deg, #f8f8f8 0%, #efefef 100%);
}

.preview-display-stage {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  padding: 18px 18px 16px;
  background: linear-gradient(180deg, #fafafa 0%, #f0f0f0 100%);
  overflow: hidden;
}

.preview-rig {
  position: relative;
  width: min(350px, 88%);
  height: 100%;
  min-height: 0;
  margin: 0 auto;
}

.preview-pole-vertical,
.preview-pole-horizontal {
  position: absolute;
  background: rgba(255,255,255,.98);
  box-shadow: none;
}

.preview-pole-vertical {
  width: 7px;
  border-radius: 999px;
  background: linear-gradient(180deg, #8a5a34, #6b4325);
  z-index: 2;
}

.preview-pole-horizontal {
  height: 3px;
  border-radius: 0;
  z-index: 1;
}

.preview-cloth-wrap {
  position: absolute;
  z-index: 3;
}

.preview-top-ties,
.preview-left-ties {
  position: absolute;
  pointer-events: none;
  z-index: 6;
}

.preview-top-ties {
  left: 0;
  top: 0;
  width: 100%;
  height: 0;
}

.preview-left-ties {
  left: 0;
  top: 0;
  width: 0;
  height: 100%;
}

.preview-tie {
  position: absolute;
  background: rgba(255,255,255,.98);
  box-shadow: 0 0 0 1px rgba(0,0,0,.04);
}

.preview-tie.top {
  transform-origin: top center;
}

.preview-tie.left {
  transform-origin: center left;
}

.preview-cloth {
  position: relative;
  width: 100%;
  height: 100%;
  aspect-ratio: 45 / 180;
  background: transparent;
  border: 0;
  box-shadow: 0 14px 30px rgba(0,0,0,.10);
  overflow: hidden;
  z-index: 2;
}

.preview-cloth-image,
.preview-cloth.is-piece-shape { background: transparent; border-color: transparent; box-shadow: none; }

.preview-cloth-empty {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.preview-cloth-image {
  object-fit: fill;
  display: none;
  left: 0 !important;
  top: 0 !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
}

.preview-cloth-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 18px;
  color: #888;
  font-size: 13px;
  line-height: 1.7;
  background: linear-gradient(180deg, rgba(255,255,255,.75), rgba(248,248,248,.92));
}

.preview-display-note {
  margin: 0;
  padding: 14px 16px;
  border-top: 1px solid var(--line);
  color: var(--sub);
  font-size: 13px;
  background: #fcfbf8;
}

@media (max-width: 900px) {
  .preview-panel {
    min-height: auto;
  }
  .design-shell {
    grid-template-columns: 50px minmax(0, 1fr);
    min-height: 440px;
    height: 62vh;
  }
  .side-toolbar {
    padding: 6px 4px;
  }
  .icon-tool {
    width: 40px;
    min-height: 44px;
  }
  .preview-display-shell {
    min-height: 440px;
    height: 62vh;
  }
  .preview-display-stage {
    min-height: 0;
  }
  .preview-rig {
    width: min(280px, 90%);
    min-height: 0;
  }
}

.canvas-loading-overlay {
  position: absolute;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.76);
  z-index: 12;
  backdrop-filter: blur(1px);
}
.canvas-loading-overlay.is-active {
  display: flex;
}
.canvas-loading-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 16px 18px;
  border-radius: 14px;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(31,79,70,.18);
  box-shadow: 0 10px 28px rgba(0,0,0,.08);
  color: #355a53;
  font-size: 13px;
  font-weight: 700;
}
.canvas-loading-spinner {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 3px solid rgba(31,79,70,.16);
  border-top-color: var(--accent);
  animation: nstudioSpin .8s linear infinite;
}
@keyframes nstudioSpin { to { transform: rotate(360deg); } }

.ai-history-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(118px, 1fr));
  gap: 10px;
}
.ai-history-card {
  border: 1px solid #ddd6c8;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}
.ai-history-thumb {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  background: #f4f4f1;
}
.ai-history-body {
  padding: 8px;
}
.ai-history-meta {
  margin: 0 0 6px;
  font-size: 11px;
  color: #666;
  line-height: 1.45;
  max-height: 4.2em;
  overflow: hidden;
}
.ai-history-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.ai-history-btn {
  appearance: none;
  border: 1px solid #cfc7b8;
  background: #fff;
  color: #1f4f46;
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.ai-history-btn:hover {
  background: #eef4f2;
  border-color: #1f4f46;
}
.ai-history-empty {
  color: #777;
  font-size: 12px;
}

.ai-admin-only { display: none; }
.nstudio-page.is-admin-user .ai-admin-only { display: block; }
.crop-toggle-active {
  border-color: #1f4f46 !important;
  background: #eef4f2 !important;
  color: #1f4f46 !important;
  font-weight: 700;
}

.ai-list-popup {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 22px;
  background: rgba(0,0,0,.42);
}
.ai-list-popup.is-active {
  display: flex;
}
.ai-list-popup-box {
  width: min(980px, 96vw);
  max-height: min(760px, 88vh);
  overflow: auto;
  border-radius: 18px;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 20px 60px rgba(0,0,0,.22);
  padding: 16px;
}
.ai-list-popup-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.ai-list-popup-head h4 {
  margin: 0;
  font-size: 18px;
  color: var(--accent);
}
.ai-list-popup-close {
  appearance: none;
  border: 1px solid #cfc7b8;
  background: #fff;
  border-radius: 999px;
  padding: 7px 12px;
  cursor: pointer;
}
.preview-actions.is-hidden,
.image-size-panel.is-hidden {
  display: none !important;
}

/* ===== compact simulator operation UI v20260609j ===== */


.preview-actions::before { content: "基本操作"; }
.image-size-panel::before { content: "選択画像の調整"; }

.preview-actions {
  justify-content: flex-start;
  gap: 8px;
}
.preview-actions .main-upload {
  flex: 1 1 160px;
  max-width: 220px;
}
.action-btn,
.main-upload,
.ai-history-btn,
.ai-list-popup-close {
  transition: background .15s, border-color .15s, color .15s, transform .12s;
}
.action-btn:hover,
.main-upload:hover,
.ai-history-btn:hover,
.ai-list-popup-close:hover {
  transform: none;
}
.image-size-panel {
  align-items: flex-end;
  gap: 10px;
}
.image-size-panel .action-btn {
  min-height: 38px;
}

.ai-history-card {
  box-shadow: 0 4px 14px rgba(0,0,0,.04);
}


.ai-list-popup-box .ai-history-grid {
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
}
@media (max-width: 760px) {
  .preview-actions .main-upload,.preview-actions .action-btn{
    flex: 1 1 100%;
    max-width: none;
  }
}


.template-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin-top: 12px;
}
.template-tabs {
  display: flex;
  gap: 8px;
  margin: 0 0 12px;
}
.template-tab-btn {
  appearance: none;
  border: 1px solid #cfc7b8;
  background: #fff;
  color: #1f4f46;
  border-radius: 999px;
  padding: 7px 14px;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.template-tab-btn.is-active {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}
.ai-history-btn[data-role="load-template"]{
  display: block;
  width: 100%;
  padding: 9px 10px;
  font-size: 13px;
  font-weight: 800;
  text-align: center;
}

.ai-list-popup .ai-history-btn {
  min-height: 36px;
  padding: 8px 13px;
  font-size: 13px;
  font-weight: 700;
}
#resetImage,
#clearImages {
  display: none !important;
}
.image-size-panel .crop-row {
  flex: 1 0 100%;
}


.nstudio-page .hero-copy-sub {
  color: rgba(255,255,255,.82);
  font-size: clamp(15px, 1.8vw, 22px);
  font-weight: 700;
}
.nstudio-page .preview-size {
  max-width: 58%;
  text-align: right;
  line-height: 1.45;
}

/* ===== section title top accent v20260609s ===== */
.section-title h2 {
  padding-top: 12px !important;
  padding-bottom: 0 !important;
}
.section-title h2::after {
  display: none !important;
}
.section-title h2::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: 72px;
  height: 2px;
  transform: translateX(-50%);
  background: rgba(31,79,70,.32);
  border-radius: 999px;
}
.preview-head .preview-size {
  white-space: pre-line;
  text-align: right;
}
.editor-file-actions {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
.editor-file-actions details {
  position: relative;
}
.editor-file-actions summary.action-btn {
  list-style: none;
  min-height: 34px;
  padding: 7px 10px;
  font-size: 12px;
}
.editor-file-actions summary.action-btn::-webkit-details-marker {
  display: none;
}
.editor-file-actions summary.action-btn::after {
  content: "▼";
  margin-left: 5px;
  font-size: 9px;
  opacity: .65;
}
.editor-file-menu {
  position: absolute;
  left: 0;
  top: calc(100% + 6px);
  z-index: 30;
  min-width: 150px;
  padding: 6px;
  border: 1px solid #d8d1c5;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(0,0,0,.10);
}
.editor-file-menu .action-btn {
  width: 100%;
  justify-content: flex-start;
  min-height: 32px;
  padding: 7px 9px;
  font-size: 12px;
  box-shadow: none;
}
.editor-file-menu .action-btn + .action-btn,
.editor-file-menu label.action-btn + .action-btn,
.editor-file-menu .action-btn + label.action-btn {
  margin-top: 4px;
}
.editor-file-actions input[type="file"] {
  display: none;
}

.nstudio-page .type-only-maku,
.nstudio-page .type-only-nobori,
.nstudio-page .type-only-noren {
  display: none;
}

.nstudio-page.is-type-nobori .type-only-nobori {
  display: block;
}

.nstudio-page.is-type-maku .type-only-maku {
  display: block;
}

.nstudio-page.is-type-noren .type-only-noren {
  display: block;
}


.nstudio-page .preview-rig {
  width: 100% !important;
  max-width: 100% !important;
}

.nstudio-page .preview-cloth-wrap {
  z-index: 3;
}

.nstudio-page .preview-cloth {
  box-shadow: 0 14px 34px rgba(0,0,0,.12);
}

.nstudio-page .product-type-top {
  margin: -12px auto 28px;
  max-width: 560px;
  padding: 16px 18px;
  border: 1px solid rgba(31,79,70,.22);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(0,0,0,.045);
  text-align: center;
}

.nstudio-page .product-type-top h3 {
  margin: 0 0 12px;
  color: var(--accent);
  font-size: 15px;
  letter-spacing: .06em;
}

.nstudio-page .product-type-top .option-grid {
  max-width: 650px;
  margin: 0 auto;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.nstudio-page .product-type-top .option span {
  padding: 15px 12px;
  border-width: 2px;
  border-radius: 999px;
  font-size: 15px;
}

.nstudio-page .zoom-indicator {
  display: none !important;
}

/* プレビュー表示：のぼりは器具あり、幕はアートボードのみ、のれんは上部棒のみ */
.nstudio-page.is-type-nobori .preview-pole-vertical,
.nstudio-page.is-type-nobori .preview-pole-horizontal,
.nstudio-page.is-type-nobori .preview-top-ties,
.nstudio-page.is-type-nobori .preview-left-ties {
  display: block !important;
}

.nstudio-page.is-type-maku .preview-pole-vertical,
.nstudio-page.is-type-maku .preview-pole-horizontal,
.nstudio-page.is-type-maku .preview-top-ties,
.nstudio-page.is-type-maku .preview-left-ties {
  display: none !important;
}

.nstudio-page.is-type-noren .preview-pole-horizontal,
.nstudio-page.is-type-noren .preview-top-ties {
  display: block !important;
}

.nstudio-page.is-type-noren .preview-pole-vertical,
.nstudio-page.is-type-noren .preview-left-ties {
  display: none !important;
}

.nstudio-page .preview-noren-splits,
.nstudio-page .preview-panel-splits {
  position: absolute;
  inset: 0;
  z-index: 12;
  pointer-events: none;
}

.nstudio-page .preview-noren-split-line,
.nstudio-page .preview-panel-split-line {
  position: absolute;
  width: 2px;
  background: #dedede;
  box-shadow: none;
}

/* ボタン色調整：通常ボタンは元の白系、ファイル選択とAI生成だけ強調 */
.nstudio-page .action-btn,
.nstudio-page .icon-tool,
.nstudio-page .template-btn,
.nstudio-page .asset-menu-btn,
.nstudio-page .fit-cloth-btn {
  background: #fff;
  border-color: #cfc7b8;
  color: #222;
}

.nstudio-page .action-btn:hover,
.nstudio-page .icon-tool:hover,
.nstudio-page .icon-tool.is-active,
.nstudio-page .template-btn:hover,
.nstudio-page .asset-menu-btn:hover,
.nstudio-page .fit-cloth-btn:hover {
  border-color: var(--accent);
  background: var(--accent-light);
  color: var(--accent);
}

/* 固定ページ側 #content h1 対策 */
#content .nstudio-page .hero h1,
.nstudio-page .hero h1 {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--ink) !important;
  font-size: clamp(30px, 4vw, 50px);
  line-height: 1.18;
  letter-spacing: .04em;
  text-shadow: none !important;
}

.nstudio-page .hero-copy {
  position: static !important;
  width: 100%;
  padding: 18px 4px 0 !important;
  background: transparent !important;
  color: var(--ink);
}

.nstudio-page .hero-kicker {
  margin: 0 0 8px;
  color: var(--sub);
  font-size: clamp(15px, 1.5vw, 18px);
  font-weight: 700;
  letter-spacing: .08em;
}

.nstudio-page .hero-copy-sub {
  margin-top: 10px;
  color: #8a6330 !important;
  font-size: clamp(16px, 1.8vw, 22px) !important;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: .04em;
  text-shadow: none !important;
}

@media (max-width: 760px) {
  .nstudio-page .wrap {
    padding-left: 10px;
    padding-right: 10px;
  }

  #content .nstudio-page .hero h1,
  .nstudio-page .hero h1 {
    font-size: clamp(26px, 7vw, 36px);
  }
}

.nstudio-page .template-tools {
  margin-top: 14px;
}

/* 前版の濃いグレー指定を最終上書き */
.nstudio-page .preview-actions .action-btn,
.nstudio-page .side-toolbar .icon-tool,
.nstudio-page .template-tools button:not(.main-upload),
.nstudio-page .asset-menu-btn,
.nstudio-page .fit-cloth-btn {
  background: #fff !important;
  color: #222 !important;
  border-color: #cfc7b8 !important;
}

/* ===== mobile/ui polish v20260609m ===== */
.nstudio-page select {
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  background-color: #fff;
  background-image:
    linear-gradient(45deg, transparent 50%, #444 50%),
    linear-gradient(135deg, #444 50%, transparent 50%);
  background-position:
    calc(100% - 18px) 50%,
    calc(100% - 12px) 50%;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  padding-right: 36px;
}
.nstudio-page #noboriSizeSelect,
.nstudio-page #makuSizeSelect {
  padding-left: 50px;
}
.nstudio-page .form-block.type-only-nobori,
.nstudio-page .form-block.type-only-maku {
  position: relative;
}
.nstudio-page .size-ratio-icon {
  position: absolute;
  left: 14px;
  bottom: 14px;
  width: 22px;
  height: 32px;
  border: 2px solid #555;
  border-radius: 3px;
  background: rgba(255,255,255,.92);
  pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.7);
}


.nstudio-page .icon-tool.is-active {
  background: #333 !important;
  border-color: #333 !important;
  color: #fff !important;
}
.nstudio-page .mode-btn,
.nstudio-page .mode-btn.is-active {
  /* プレビュー切替ボタンは従来色 */
}


.nstudio-page .order-layout > .panel,
.nstudio-page .product-type-top,
.nstudio-page .preview-actions,
.nstudio-page .image-size-panel,
.nstudio-page .side-toolbar,
.nstudio-page .canvas-area {
  box-shadow: none !important;
  border-color: #e8e2d8 !important;
}
.nstudio-page .panel {
  box-shadow: none;
}
.nstudio-page .form-block h3 {
  background: transparent;
  padding-left: 0;
  padding-right: 0;
}
.nstudio-page .option span {
  border-color: #e5ded4;
}
.nstudio-page .canvas-area,
.nstudio-page .nobori-canvas,
.nstudio-page .canvas-container,
.nstudio-page canvas {
  touch-action: none;
}
@media (max-width: 760px) {
  .nstudio-page .wrap {
    padding-left: 8px;
    padding-right: 8px;
  }
  .nstudio-page .section {
    padding: 34px 0;
  }
  .nstudio-page .section-title {
    margin-bottom: 18px;
  }
  .nstudio-page .hero {
    padding: 18px 0 26px;
  }
  .nstudio-page .hero-image {
    border-radius: 14px;
    aspect-ratio: 1672 / 941;
  }
  .nstudio-page .hero-image::after {
    display: none;
  }
  .nstudio-page .hero-copy {
    position: static;
    width: 100%;
    padding: 14px 2px 0;
    background: transparent;
  }
  .nstudio-page .hero h1,
  .nstudio-page .hero-copy-sub {
    color: var(--ink);
    text-shadow: none;
  }
  .nstudio-page .hero h1::after {
    background: var(--accent);
    margin-top: 12px;
  }
  .nstudio-page .hero-desc {
    margin-top: 12px;
  }
  .nstudio-page .panel {
    padding: 14px;
    border-radius: 18px;
  }
  .nstudio-page .order-layout {
    gap: 18px;
  }
  .nstudio-page .product-type-top {
    margin-bottom: 18px;
    padding: 12px;
  }
  .nstudio-page .design-shell {
    grid-template-columns: 46px minmax(0, 1fr);
    min-height: 430px;
    height: 64vh;
    gap: 8px;
  }
  .nstudio-page .canvas-area {
    min-width: 0;
  }
  .nstudio-page .preview-actions,.nstudio-page .image-size-panel{
    padding: 8px;
  }
}

/* mobile hero text separated from photo */
@media (max-width: 760px) {
  .nstudio-page .hero-image {
    aspect-ratio: auto;
    overflow: visible;
    border: 0;
    background: transparent;
    box-shadow: none;
  }
  .nstudio-page .hero-image img {
    height: auto;
    aspect-ratio: 1672 / 941;
    border-radius: 14px;
    border: 1px solid rgba(31,79,70,.18);
    box-shadow: 0 12px 28px rgba(0,0,0,.08);
  }
  .nstudio-page .hero-copy {
    display: block;
  }
}

/* final polish v20260609: hero / buttons / template spacing */
.nstudio-page .hero-copy {
  position: static !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100%;
  padding: 18px 4px 0 !important;
  background: transparent !important;
  color: var(--ink) !important;
  z-index: auto !important;
}

#content .nstudio-page .hero h1,
.nstudio-page .hero h1 {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--ink) !important;
  font-size: clamp(30px, 4vw, 50px) !important;
  line-height: 1.18 !important;
  letter-spacing: .04em;
  text-shadow: none !important;
}

.nstudio-page .hero-kicker {
  display: block !important;
  margin: 0 0 8px !important;
  color: var(--sub) !important;
  font-size: clamp(15px, 1.5vw, 18px) !important;
  font-weight: 700;
  letter-spacing: .08em;
}

.nstudio-page .hero-copy-sub {
  display: block !important;
  margin-top: 10px !important;
  color: #8a6330 !important;
  font-size: clamp(16px, 1.8vw, 22px) !important;
  line-height: 1.4 !important;
  font-weight: 700;
  letter-spacing: .04em;
  text-shadow: none !important;
}

/* ボタンは基本元の白系へ戻す */
.nstudio-page .action-btn,
.nstudio-page .icon-tool,
.nstudio-page .fit-cloth-btn,
.nstudio-page .template-tools .action-btn,
.nstudio-page .editor-file-menu .action-btn,
.nstudio-page .asset-menu-btn,
.nstudio-page .ai-history-btn,
.nstudio-page .template-btn {
  background: #fff !important;
  border-color: #cfc7b8 !important;
  color: #222 !important;
}

/* ファイル選択とAI生成だけ目立たせる */

/* サイズ選択の長方形アイコンは不要 */

/* テンプレートボタン群を上から少し離す */
.nstudio-page .template-tools {
  margin-top: 18px !important;
}

@media (max-width: 760px) {
  .nstudio-page .wrap {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  #content .nstudio-page .hero h1,
  .nstudio-page .hero h1 {
    font-size: clamp(26px, 7vw, 36px) !important;
  }

  .nstudio-page .hero-copy {
    padding: 14px 2px 0 !important;
  }
}


/* final polish v20260609-u2 */

/* 種類選択・テンプレート部の外枠を消す */
.nstudio-page .product-type-top {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 操作系は囲み枠でなく、上1本線で区切る */


/* 既存の疑似ラベルを消して、基本操作はHTML側ラベルを使う */


.nstudio-page .preview-actions-title {
  flex: 1 0 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 10px;
  color: var(--accent);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .04em;
}

.nstudio-page .preview-actions-title .editor-file-actions {
  margin-left: auto;
}

/* サイズ選択の左空白を詰める・長方形アイコンは完全不要 */

/* ボタンはグレー背景・グレーホバーをやめて白系に戻す */

/* activeだけは選択状態が分かるよう薄色 */
.nstudio-page .icon-tool.is-active,
.nstudio-page .template-tab-btn.is-active {
  background: var(--accent-light) !important;
  border-color: var(--accent) !important;
  color: var(--accent) !important;
}

/* ファイル選択とAI生成だけ目立つ色 */

/* final polish v20260609-v3 */
.nstudio-page .hero-copy {
  position: static !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100%;
  padding: 18px 4px 0 !important;
  background: transparent !important;
  color: var(--ink) !important;
}

#content .nstudio-page .hero h1,
.nstudio-page .hero h1 {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--ink) !important;
  font-size: clamp(30px, 4vw, 50px) !important;
  line-height: 1.18 !important;
  letter-spacing: .04em;
  text-shadow: none !important;
}

#content .nstudio-page .hero h1::before,
#content .nstudio-page .hero h1::after,
.nstudio-page .hero h1::before,
.nstudio-page .hero h1::after {
  display: none !important;
  content: none !important;
}

.nstudio-page .hero-kicker {
  margin: 0 0 8px !important;
  color: var(--sub) !important;
  font-size: clamp(15px, 1.5vw, 18px) !important;
  font-weight: 700;
  letter-spacing: .08em;
}

.nstudio-page .hero-copy-sub {
  margin-top: 10px !important;
  color: #8a6330 !important;
  font-size: clamp(16px, 1.8vw, 22px) !important;
  line-height: 1.4 !important;
  font-weight: 700;
  letter-spacing: .04em;
  text-shadow: none !important;
}

.nstudio-page .hero-image::after {
  display: none !important;
}

/* 開く/保存メニューを見やすく */
.nstudio-page .editor-file-menu {
  min-width: 190px !important;
}

/* 画像調整タイトル */

/* 生成画像一覧を品質選択の右に寄せる */

/* 前回指定継続：通常ボタンは白系、ファイル選択とAI生成のみ強調 */
.nstudio-page .action-btn,
.nstudio-page .icon-tool,
.nstudio-page .fit-cloth-btn,
.nstudio-page .template-tools .action-btn,
.nstudio-page .editor-file-menu .action-btn,
.nstudio-page .asset-menu-btn,
.nstudio-page .ai-history-btn,
.nstudio-page .template-btn,
.nstudio-page .ai-list-popup-close {
  background: #fff !important;
  border-color: #cfc7b8 !important;
  color: #222 !important;
}

.nstudio-page .action-btn:hover,
.nstudio-page .icon-tool:hover,
.nstudio-page .fit-cloth-btn:hover,
.nstudio-page .template-tools .action-btn:hover,
.nstudio-page .editor-file-menu .action-btn:hover,
.nstudio-page .asset-menu-btn:hover,
.nstudio-page .ai-history-btn:hover,
.nstudio-page .template-btn:hover,
.nstudio-page .ai-list-popup-close:hover {
  background: #fff !important;
  border-color: var(--accent) !important;
  color: var(--accent) !important;
}

/* テンプレート周り余白は維持 */
.nstudio-page .template-tools {
  margin-top: 26px !important;
}

/* サイズ比率アイコンは不要 */
.nstudio-page .size-ratio-icon,
.nstudio-page .size-select-icon,
.nstudio-page .select-ratio-icon {
  display: none !important;
}


/* final polish v20260609-w5 */
.nstudio-page .custom-size-panel {
  grid-template-columns: 1fr 1fr !important;
  gap: 10px 12px !important;
  margin-top: 10px !important;
}

.nstudio-page .custom-size-panel .image-size-input-wrap {
  min-height: 40px;
}

.nstudio-page .custom-size-panel input[type="number"] {
  border: 0 !important;
  background: transparent !important;
  padding: 8px 0 !important;
  text-align: right;
  outline: none;
}

.nstudio-page .image-size-title {
  flex: 1 0 100%;
  color: var(--accent);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .04em;
  margin: 0 0 2px;
}

/* 開く/保存メニュー：右切れ防止、線を少なめ */
.nstudio-page .preview-actions-title {
  position: relative;
}

.nstudio-page .editor-file-actions details {
  position: relative;
}

.nstudio-page .editor-file-menu {
  left: auto !important;
  right: 0 !important;
  min-width: 190px !important;
  padding: 6px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.16) !important;
}

.nstudio-page .editor-file-menu .action-btn {
  border: 0 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  justify-content: flex-start;
}

.nstudio-page .editor-file-menu .action-btn:hover {
  background: var(--accent-light) !important;
  color: var(--accent) !important;
}

.nstudio-page .image-size-panel {
  order: 1;
}
.nstudio-page .preview-actions {
  order: 2;
}


/* フォーム見出しの改行を自然に */
.nstudio-page .section-title p br {
  display: block;
}

@media (max-width: 760px) {
  
  .nstudio-page .editor-file-menu {
    right: 0 !important;
    max-width: calc(100vw - 36px);
  }
}

/* ファイル選択・AI生成・開く保存は太字にしない */


.nstudio-page .custom-size-range-label {
  color: #777;
  font-size: 11px;
  font-weight: 400;
}

.nstudio-page .custom-size-panel input::placeholder {
  color: transparent !important;
}

/* spec guide popup v20260610g */
.spec-guide-link {
  appearance: none;
  margin-left: 8px;
  padding: 2px 8px;
  border: 1px solid rgba(31,79,70,.22);
  border-radius: 999px;
  background: #fff;
  color: var(--accent);
  font: inherit;
  font-size: 11px;
  line-height: 1.4;
  cursor: pointer;
  vertical-align: middle;
}
.spec-guide-link:hover { background: var(--accent-light); }
.spec-guide-popup {
  position: fixed; inset: 0; display: none; align-items: center; justify-content: center;
  padding: 18px; background: rgba(0,0,0,.42); z-index: 100000;
}
.spec-guide-popup.is-active { display: flex; }
.spec-guide-box {
  width: min(860px, 100%); max-height: min(86vh, 760px); overflow: auto;
  background: #fff; border-radius: 20px; box-shadow: 0 20px 56px rgba(0,0,0,.24); padding: 20px;
}
.spec-guide-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.spec-guide-head h3 { margin: 0; padding: 0; font-size: 20px; color: var(--ink); }
.spec-guide-close {
  appearance: none; border: 1px solid #cfc7b8; border-radius: 999px; background: #fff;
  color: #222; padding: 7px 13px; font: inherit; font-size: 13px; cursor: pointer;
}
.spec-guide-tabs { display: flex; justify-content: center; gap: 10px; margin: 0 0 18px; }
.spec-guide-tab {
  appearance: none; min-width: 110px; border: 1px solid rgba(31,79,70,.2); border-radius: 999px;
  background: #f8f6f0; color: #333; padding: 9px 18px; font: inherit; font-size: 14px; cursor: pointer;
}
.spec-guide-tab.is-active { background: var(--accent); border-color: var(--accent); color: #fff; }
.spec-guide-list { display: grid; gap: 14px; }
.spec-guide-card {
  display: grid; grid-template-columns: minmax(160px, 240px) 1fr; gap: 16px; align-items: start;
  padding: 14px; border-top: 1px solid rgba(31,79,70,.14);
}
.spec-guide-card:first-child { border-top: 0; }
.spec-guide-image { border-radius: 14px; overflow: hidden; background: #f6f4ef; aspect-ratio: 4 / 3; }
.spec-guide-image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.spec-guide-text h4 { margin: 0 0 8px; color: var(--accent); font-size: 17px; }
.spec-guide-text p { margin: 0; color: #444; font-size: 14px; line-height: 1.85; }
@media (max-width: 700px) {
  .spec-guide-box { padding: 16px; }
  .spec-guide-card { grid-template-columns: 1fr; }
  .spec-guide-tabs { justify-content: stretch; }
  .spec-guide-tab { flex: 1 1 0; min-width: 0; }
}

.spec-guide-tabs {
  display: none !important;
}

.nstudio-page .preview-actions-title {
  display: none !important;
}

.nstudio-page .preview-actions {
  align-items: center !important;
}

.nstudio-page #resetAllEditor,
.nstudio-page .editor-file-actions summary.action-btn {
  min-height: 34px !important;
  padding: 7px 10px !important;
  font-size: 12px !important;
  font-weight: 400 !important;
}

.nstudio-page #resetAllEditor i.icon,
.nstudio-page .editor-file-actions summary.action-btn i.icon {
  font-size: 12px !important;
}

.nstudio-page .editor-file-actions {
  order: 20;
  margin-left: 0 !important;
}

.nstudio-page .editor-file-menu {
  right: auto !important;
  left: 0 !important;
}

/* final UI polish v20260611k */
.nstudio-page .preview-actions-title {
  display: flex !important;
  flex: 1 0 100%;
  align-items: center;
  margin: 0 0 4px !important;
  color: #6f4b18 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .04em;
}

.nstudio-page .image-size-panel {
  border-top-color: #7aa197 !important;
  background: #f4faf8 !important;
}

.nstudio-page .preview-actions {
  border-top-color: #b98b45 !important;
  background: #fbf7ef !important;
}

.nstudio-page .image-size-title {
  color: #2f6f62 !important;
}

.nstudio-page .editor-file-actions {
  order: 20;
}

.nstudio-page #resetAllEditor {
  order: 19;
}

/* final fixes v20260611l */

/* final fixes v20260612o */
.nstudio-page #toggleCropFit.crop-toggle-active,
.nstudio-page .crop-toggle-active {
  border-color: #1f4f46 !important;
  background: #1f4f46 !important;
  color: #fff !important;
  font-weight: 800 !important;
  box-shadow: 0 0 0 2px rgba(31,79,70,.16) !important;
}

.nstudio-page #toggleCropFit:not(.crop-toggle-active) {
  background: #fff !important;
  border-color: #cfc7b8 !important;
  color: #333 !important;
}

.nstudio-page .template-delete-btn {
  border-color: #b9b9b9 !important;
  color: #666 !important;
}


/* final wording/layout fixes v20260612p */
.nstudio-page .product-type-top .option span {
  font-size: 16.5px !important;
}

.nstudio-page .sidebar-spec-title {
  margin: 0 0 14px;
  padding: 0 0 10px;
  border-bottom: 1px solid rgba(31,79,70,.16);
  color: var(--accent);
  font-size: 17px;
  font-weight: 800;
  letter-spacing: .04em;
}

.nstudio-page #toggleCropFit.crop-toggle-active,
.nstudio-page .crop-toggle-active {
  font-weight: 400 !important;
}

.nstudio-page #toggleCropFit.crop-toggle-active span,
.nstudio-page #toggleCropFit span {
  font-weight: 400 !important;
}


/* final sidebar / pole color UI v20260612q */
.nstudio-page {
  margin-top: 50px !important;
}

.nstudio-page .order-layout > aside.panel {
  background: #fff !important;
  border-color: #e3ded4 !important;
  box-shadow: none !important;
  padding: 22px 20px !important;
}

.nstudio-page .sidebar-spec-title {
  color: #222 !important;
  border-bottom-color: #e5e0d8 !important;
  font-size: 16px !important;
  letter-spacing: .02em !important;
}

.nstudio-page .order-layout > aside.panel .form-block {
  margin: 0 0 18px !important;
  padding: 0 0 16px !important;
  border-bottom: 1px solid #eee8dd !important;
}

.nstudio-page .order-layout > aside.panel .form-block:last-of-type {
  border-bottom: 0 !important;
}

.nstudio-page .order-layout > aside.panel .form-block h3 {
  margin-bottom: 8px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .03em !important;
}

.nstudio-page .order-layout > aside.panel .option-grid {
  gap: 7px !important;
}

.nstudio-page .order-layout > aside.panel .option span {
  border-radius: 8px !important;
  padding: 10px 9px !important;
  background: #fff !important;
  border-color: #d8d2c8 !important;
  color: #333 !important;
}

.nstudio-page .order-layout > aside.panel .option input:checked + span {
  background: #f1f5f3 !important;
  border-color: #78948e !important;
  color: #222 !important;
  box-shadow: inset 3px 0 0 #1f4f46 !important;
}

.nstudio-page .order-layout > aside.panel .option small {
  color: #777 !important;
}

.nstudio-page .order-layout > aside.panel .summary {
  background: #faf9f6 !important;
  border-color: #e5e0d8 !important;
  border-radius: 8px !important;
}

.nstudio-page .order-layout > aside.panel .summary dt {
  color: #666 !important;
}

.nstudio-page .order-layout > aside.panel .summary dd {
  color: #222 !important;
}

.nstudio-page .spec-guide-link {
  color: #555 !important;
  border-color: #ddd6c8 !important;
  background: #fff !important;
}

.nstudio-page .preview-pole-horizontal {
  background: linear-gradient(180deg, #8a5a34, #6b4325);
}


/* final revert sidebar design v20260612r */
.nstudio-page .order-layout > aside.panel {
  background: #fff !important;
  border: 1px solid rgba(31,79,70,.22) !important;
  border-radius: 20px !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.045) !important;
  padding: 24px !important;
}

.nstudio-page .sidebar-spec-title {
  color: var(--accent) !important;
  border-bottom: 1px solid rgba(31,79,70,.16) !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
  margin: 0 0 14px !important;
  padding: 0 0 10px !important;
}

.nstudio-page .order-layout > aside.panel .form-block {
  margin-bottom: 18px !important;
  padding: 0 !important;
  border-bottom: 0 !important;
}

.nstudio-page .order-layout > aside.panel .form-block h3 {
  position: relative;
  margin: 0 0 10px !important;
  padding-left: 10px !important;
  color: #222 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: .03em !important;
}

.nstudio-page .order-layout > aside.panel .form-block h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: .35em;
  width: 3px;
  height: 1.15em;
  background: var(--accent);
  border-radius: 999px;
}

.nstudio-page .order-layout > aside.panel .form-block h3 *:not(.spec-guide-link) {
  color: #222 !important;
}

.nstudio-page .order-layout > aside.panel .option-grid {
  gap: 8px !important;
}

.nstudio-page .order-layout > aside.panel .option span {
  border-radius: 12px !important;
  padding: 12px 10px !important;
  background: #fff !important;
  border: 1px solid var(--line) !important;
  color: #333 !important;
  box-shadow: none !important;
}

.nstudio-page .order-layout > aside.panel .option input:checked + span {
  background: var(--accent-light) !important;
  border-color: var(--accent) !important;
  color: var(--accent) !important;
  box-shadow: none !important;
}

.nstudio-page .order-layout > aside.panel .summary {
  background: #f7f6f2 !important;
  border: 1px solid var(--line) !important;
  border-radius: 14px !important;
}

.nstudio-page .order-layout > aside.panel .summary dt {
  color: var(--sub) !important;
}

.nstudio-page .order-layout > aside.panel .summary dd {
  color: var(--ink) !important;
}


.nstudio-page .preview-pole-horizontal,
.nstudio-page .preview-tie {
  background: rgba(255,255,255,.98) !important;
}


/* updates v20260613a */
.nstudio-page .hero-desc-links {
  margin-top: 12px;
  font-size: 14px;
  color: #555;
}
.nstudio-page .hero-desc-links a {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.nstudio-page .editor-file-sep {
  height: 1px;
  margin: 6px 0;
  background: #e5dfd4;
}

.nstudio-page .spec-guide-apply {
  margin-top: 10px;
  appearance: none;
  border: 1px solid var(--accent);
  background: #fff;
  color: var(--accent);
  border-radius: 999px;
  padding: 8px 14px;
  font: inherit;
  font-size: 13px;
  cursor: pointer;
}
.nstudio-page .spec-guide-apply:hover {
  background: var(--accent-light);
}

.nstudio-page .luminous-trigger { cursor: zoom-in; }

/* final fixes v20260613b */
.nstudio-page .upload-placeholder {
  min-width: min(360px, calc(100% - 32px)) !important;
  max-width: min(460px, calc(100% - 32px)) !important;
  padding: 16px 24px !important;
  white-space: nowrap !important;
  line-height: 1.7 !important;
}

.nstudio-page .editor-file-menu {
  min-width: 260px !important;
}

.nstudio-page .editor-file-menu .action-btn,
.nstudio-page .editor-file-menu label.action-btn {
  white-space: nowrap !important;
  word-break: keep-all !important;
}

.quantity-stepper {
  display: grid !important;
  grid-template-columns: 38px minmax(58px, 1fr) 38px !important;
  align-items: stretch !important;
  max-width: 170px !important;
}

.quantity-stepper input[type="number"] {
  border-radius: 0 !important;
  text-align: center !important;
  padding-left: 8px !important;
  padding-right: 8px !important;
  min-height: 38px !important;
  -moz-appearance: textfield;
}

.quantity-stepper input[type="number"]::-webkit-outer-spin-button,
.quantity-stepper input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.quantity-step-btn {
  appearance: none;
  border: 1px solid var(--line);
  background: #fff;
  color: #222;
  font: inherit;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  min-height: 38px;
}

.quantity-step-btn:first-child {
  border-radius: 12px 0 0 12px;
  border-right: 0;
}

.quantity-step-btn:last-child {
  border-radius: 0 12px 12px 0;
  border-left: 0;
}

.quantity-step-btn:hover {
  background: var(--accent-light);
  color: var(--accent);
}

.lum-lightbox,
.lum-lightbox-inner,
.lum-lightbox-loader,
.lum-lightbox-image-wrapper,
.lum-lightbox-position-helper {
  z-index: 300000 !important;
}

.nstudio-page:not(.is-admin-user) .ai-admin-only {
  display: none !important;
}


/* final fixes v20260613c */
.nstudio-page .crop-fit-toggle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  min-height: 34px !important;
  padding: 7px 11px !important;
  border-radius: 8px !important;
  background: #fff !important;
  border: 1px solid #cfc7b8 !important;
  color: #333 !important;
  font-weight: 400 !important;
}

.nstudio-page .crop-fit-toggle .crop-fit-box {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  border: 1px solid #bdb6aa;
  border-radius: 3px;
  background: #fff;
  position: relative;
}

.nstudio-page .crop-fit-toggle.crop-toggle-active {
  background: #fff !important;
  border-color: #cfc7b8 !important;
  color: #333 !important;
  box-shadow: none !important;
  font-weight: 400 !important;
}

.nstudio-page .crop-fit-toggle.crop-toggle-active .crop-fit-box {
  background: var(--accent);
  border-color: var(--accent);
}

.nstudio-page .crop-fit-toggle.crop-toggle-active .crop-fit-box::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 1px;
  width: 5px;
  height: 9px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.nstudio-page select {
  -webkit-appearance: menulist !important;
  appearance: menulist !important;
  background-color: #fff !important;
  padding-right: 32px !important;
}

.quantity-step-btn {
  border: 0 !important;
  background: #f5f3ef !important;
}

.quantity-step-btn:first-child,
.quantity-step-btn:last-child {
  border: 0 !important;
}

.quantity-stepper input[type="number"] {
  border-left: 1px solid var(--line) !important;
  border-right: 1px solid var(--line) !important;
}

.lum-lightbox,
.lum-lightbox-inner,
.lum-lightbox-loader,
.lum-lightbox-image-wrapper,
.lum-lightbox-position-helper {
  z-index: 500000 !important;
}


/* final fixes v20260613d */

/* final fixes v20260613e */


.nstudio-page #noboriSizeSelect,
.nstudio-page #makuSizeSelect {
  padding-left: 14px !important;
}

.nstudio-page [data-spec-field][style*="display: none"] {
  display: none !important;
}

.nstudio-page .finish-hidden-block {
  display: none !important;
}


/* final fixes v20260613h */
.nstudio-page .order-layout > aside.panel .form-block {
  margin-bottom: 22px !important;
  padding-bottom: 2px !important;
}

.nstudio-page .order-layout > aside.panel .form-block h3 {
  margin-bottom: 10px !important;
}

.nstudio-page .custom-size-note {
  grid-column: 1 / -1;
  margin: 3px 0 0 !important;
  color: #888 !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
}


/* final fixes v20260613i */
.nstudio-page .custom-size-panel {
  margin-bottom: 20px !important;
}

.nstudio-page .preview-download-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
  justify-content: flex-end !important;
  margin: 0 !important;
  padding: 12px 14px !important;
}

.nstudio-page .preview-download-actions .action-btn {
  min-height: 34px !important;
  font-size: 12.5px !important;
}


/* final tweaks v20260613k */
.nstudio-page .crop-row {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

.nstudio-page .crop-bleed-check {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 12.5px !important;
  color: #555 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}

.nstudio-page .crop-bleed-check input[type="checkbox"] {
  margin: 0 !important;
}

/* final tweaks v20260613o */
.nstudio-page #cropBleedCheckWrap {
  display: none;
  margin-left: 0 !important;
}

.nstudio-page .crop-row .crop-fit-toggle {
  order: 1;
}

.nstudio-page .crop-row .crop-bleed-check {
  order: 2;
}


/* responsive width relax v20260613p */
@media (max-width: 1100px) {
  .nstudio-page .wrap {
    max-width: none !important;
    width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .nstudio-page .order-layout {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .nstudio-page .order-layout > aside.panel,
  .nstudio-page .order-layout > .panel,
  .nstudio-page .preview-panel {
    width: 100% !important;
    max-width: none !important;
  }
}

@media (max-width: 900px) {
  .nstudio-page .wrap {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .nstudio-page .panel,
  .nstudio-page .order-layout > aside.panel {
    padding: 12px !important;
    border-radius: 14px !important;
  }

  .nstudio-page .product-type-top {
    padding: 10px !important;
    margin-bottom: 14px !important;
  }

  .nstudio-page .design-shell {
    grid-template-columns: 42px minmax(0, 1fr) !important;
    gap: 6px !important;
    min-height: 460px !important;
    height: 68vh !important;
  }

  .nstudio-page .side-toolbar {
    padding: 5px 3px !important;
    gap: 5px !important;
    border-radius: 10px !important;
  }

  .nstudio-page .icon-tool {
    width: 36px !important;
    min-height: 42px !important;
    padding: 5px 2px !important;
    border-radius: 9px !important;
    font-size: 9px !important;
  }

  .nstudio-page .canvas-area {
    border-radius: 12px !important;
  }

  .nstudio-page .preview-actions,.nstudio-page .image-size-panel{
    padding: 10px 8px !important;
    margin-top: 12px !important;
  }
}

@media (max-width: 760px) {
  .nstudio-page .wrap {
    padding-left: 4px !important;
    padding-right: 4px !important;
  }

  .nstudio-page .section {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .nstudio-page .panel,.nstudio-page .order-layout > aside.panel,.nstudio-page .preview-panel,.nstudio-page .product-type-top,.nstudio-page .preview-actions,.nstudio-page .image-size-panel,.nstudio-page .side-toolbar,.nstudio-page .canvas-area{
    border-left: 0 !important;
    border-right: 0 !important;
    box-shadow: none !important;
  }

  .nstudio-page .panel,
  .nstudio-page .order-layout > aside.panel {
    padding: 10px 6px !important;
    border-radius: 10px !important;
  }

  .nstudio-page .design-shell {
    grid-template-columns: 38px minmax(0, 1fr) !important;
    gap: 4px !important;
    min-height: 450px !important;
    height: 70vh !important;
  }

  .nstudio-page .side-toolbar {
    padding: 4px 2px !important;
    background: transparent !important;
    border-radius: 0 !important;
  }

  .nstudio-page .canvas-area {
    border-radius: 8px !important;
  }

  .nstudio-page .preview-actions,.nstudio-page .image-size-panel{
    border-radius: 8px !important;
    padding: 9px 6px !important;
  }
}


/* final fixes v20260614b */
#content .nstudio-page .hero h1,
.nstudio-page .hero h1 {
  font-size: clamp(25px, 3.2vw, 42px) !important;
  line-height: 1.16 !important;
}

.nstudio-page .product-type-top .option span {
  white-space: nowrap !important;
  word-break: keep-all !important;
  line-break: strict !important;
}

@media (max-width: 760px) {
  #content .nstudio-page .hero h1,
  .nstudio-page .hero h1 {
    font-size: clamp(23px, 6vw, 32px) !important;
  }

  .nstudio-page .product-type-top .option span {
    font-size: 13.5px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}


/* final fixes v20260614c */
.nstudio-page .hero-desc-links {
  margin-top: 20px !important;
  padding-top: 4px !important;
}

.nstudio-page .canvas-area .canvas-container {
  /* no-op cache bump */
}

/* AI template tabs/categories v20260614f */

.nstudio-page .ai-template-main {
  font-size: 15px !important;
  font-weight: 800 !important;
  color: #222 !important;
}

.nstudio-page .ai-template-desc {
  font-size: 12px !important;
  color: #555 !important;
  line-height: 1.45 !important;
}

.nstudio-page .ai-template-insert {
  display: inline-flex !important;
  margin-top: 2px !important;
  padding: 2px 7px !important;
  border-radius: 999px !important;
  background: #f2eee6 !important;
  color: #6d4b1f !important;
  font-size: 11.5px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}

/* final AI template display tweaks v20260614g */
.nstudio-page .ai-history-btn {
  border-radius: 0 !important;
}

.nstudio-page .ai-template-insert{
  display: none !important;
}


/* final tweaks v20260614h */

.nstudio-page .ai-top-action-row {
  flex: 1 0 100%;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
  width: 100%;
  margin: 0 0 2px;
}

.nstudio-page .ai-top-action-row .ai-top-action-btn,
.nstudio-page .ai-top-action-row .action-btn {
  width: 100% !important;
  min-height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  border: 1px solid #cfc7b8 !important;
  background: #fff !important;
  color: #1f4f46 !important;
  border-radius: 0 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

.nstudio-page .ai-top-action-row .ai-admin-only {
  display: none !important;
}

.nstudio-page.is-admin-user .ai-top-action-row .ai-admin-only {
  display: inline-flex !important;
}

@media (max-width: 760px) {
  .nstudio-page .ai-top-action-row {
    grid-template-columns: 1fr;
  }
}


.nstudio-page .ai-top-action-row {
  gap: 10px !important;
  margin: 4px 0 14px !important;
}

.nstudio-page .ai-top-action-row .ai-top-action-btn,
.nstudio-page .ai-top-action-row .action-btn {
  min-height: 42px !important;
  border: 1px solid #d8d8d8 !important;
  background: #f7f7f7 !important;
  color: #333 !important;
  box-shadow: none !important;
  letter-spacing: .01em !important;
}

.nstudio-page .ai-top-action-row .ai-top-action-btn:hover,
.nstudio-page .ai-top-action-row .action-btn:hover {
  border-color: #bdbdbd !important;
  background: #eeeeee !important;
  color: #222 !important;
}

.nstudio-page .ai-top-action-row .ai-top-action-btn i.icon,
.nstudio-page .ai-top-action-row .action-btn i.icon {
  color: #666 !important;
}

/* final titles tune v20260614n */
.nstudio-page .preview-actions-title,
.nstudio-page .image-size-title {
  font-size: 18px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
  letter-spacing: .03em !important;
}

.nstudio-page #openTemplateListBtn {
  display: none !important;
}

.nstudio-page.is-admin-user #openTemplateListBtn {
  display: inline-flex !important;
}


/* final crop/grommet polish v20260615b */
.nstudio-page .image-size-panel {
  gap: 16px 12px !important;
}

.nstudio-page .image-size-panel .crop-row {
  flex: 1 0 100%;
  margin: 0 0 12px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid #e5dfd5 !important;
}

.nstudio-page .image-size-panel .image-size-field {
  margin-top: 4px !important;
}

.nstudio-page #toggleCropFit {
  position: relative !important;
  min-height: 44px !important;
  padding: 9px 48px 9px 14px !important;
  border-width: 2px !important;
  border-style: solid !important;
  border-color: #b9b9b9 !important;
  background: #fff !important;
  color: #555 !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.7) !important;
}

.nstudio-page #toggleCropFit::after {
  content: "OFF";
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  min-width: 32px;
  padding: 2px 6px;
  border-radius: 999px;
  background: #e6e6e6;
  color: #555;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.35;
  text-align: center;
}

.nstudio-page #toggleCropFit.crop-toggle-active::after {
  content: "ON";
  background: #8a6d35;
  color: #fff;
}

.nstudio-page .preview-grommets {
  position: absolute;
  inset: 0;
  z-index: 8;
  pointer-events: none;
}

.nstudio-page .preview-grommet {
  position: absolute;
  display: block;
  border-radius: 50%;
  background: radial-gradient(circle at center, #ffffff 0 35%, #f3f3f3 36% 58%, #8f877d 59% 72%, rgba(255,255,255,.94) 73% 100%);
  border: 1px solid rgba(60,52,45,.35);
  box-shadow: 0 1px 2px rgba(0,0,0,.18), inset 0 0 0 1px rgba(255,255,255,.7);
}


/* final natural crop active + inset grommets v20260615c */
.nstudio-page #toggleCropFit.crop-toggle-active {
  border-color: #b79b5b !important;
  background: #fbf6ea !important;
  color: #4c3a20 !important;
  box-shadow: 0 0 0 3px rgba(183,155,91,.16), inset 0 1px 0 rgba(255,255,255,.9) !important;
}

.nstudio-page #toggleCropFit.crop-toggle-active::after {
  content: "ON" !important;
  background: #8a6d35 !important;
  color: #fff !important;
}

.nstudio-page #toggleCropFit.crop-toggle-active i.icon,
.nstudio-page #toggleCropFit.crop-toggle-active span {
  color: #4c3a20 !important;
}


/* inline preview from existing preview DOM v20260615e */
.nstudio-page #previewModePanel.is-capture-active {
  display: block !important;
  position: fixed !important;
  left: -10000px !important;
  top: 0 !important;
  width: 640px !important;
  max-width: 640px !important;
  visibility: hidden !important;
  pointer-events: none !important;
  z-index: -1 !important;
}

.nstudio-page .inline-mockup-preview {
  margin-top: 18px;
  padding-top: 12px;
  border-top: 1px solid rgba(31,79,70,.16);
}

.nstudio-page .inline-mockup-preview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 10px;
  color: #333;
  font-size: 13px;
  font-weight: 700;
}

.nstudio-page .inline-mockup-preview-head span {
  color: #8a867c;
  font-size: 11px;
  font-weight: 600;
}

.nstudio-page .inline-mockup-preview-body {
  width: 100%;
  max-width: 240px;
  border: 1px solid #ddd6c9;
  border-radius: 14px;
  background: #f6f4ee;
  padding: 8px;
}

.nstudio-page .inline-mockup-preview-body img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
}


/* final preview/bg/button/lightbox tweaks v20260615f */
.nstudio-page .preview-display-shell {
  background: #dadada !important;
}

.nstudio-page .preview-display-stage {
  background: #dedede !important;
}

.nstudio-page #previewModePanel.is-capture-active .preview-display-shell,
.nstudio-page #previewModePanel.is-capture-active .preview-display-stage {
  background: #dedede !important;
}

.nstudio-page .inline-mockup-preview-head {
  justify-content: flex-start !important;
}

.nstudio-page .inline-mockup-preview-head span {
  display: none !important;
}

.nstudio-page .inline-mockup-preview-body {
  display: block;
  border: 1px solid #d0c8bb !important;
  cursor: zoom-in;
  text-align: left;
  text-decoration: none;
}

.nstudio-page .inline-mockup-preview-body:hover {
  border-color: #9f9586 !important;
  background: #eee9df !important;
}

.nstudio-page .inline-mockup-preview-option-note {
  max-width: 240px;
  margin-top: 6px;
  color: #777;
  font-size: 11px;
  line-height: 1.45;
  text-align: right;
}

/* final luminous + button colors v20260615g */
.nstudio-page .main-upload {
  background: #6f4b18 !important;
  border-color: #6f4b18 !important;
  color: #fff !important;
}

.nstudio-page .main-upload:hover {
  background: #5f3f14 !important;
  border-color: #5f3f14 !important;
  color: #fff !important;
}

.nstudio-page .inline-mockup-preview-body {
  background: #f6f4ee;
}

.nstudio-page .inline-mockup-preview-body img {
  pointer-events: none;
}


/* final mini preview layout v20260615h */
.nstudio-page .inline-mockup-preview {
  text-align: center !important;
}

.nstudio-page .inline-mockup-preview-head {
  justify-content: center !important;
  text-align: center !important;
}

.nstudio-page .inline-mockup-preview-body {
  margin-left: auto !important;
  margin-right: auto !important;
}

.nstudio-page .inline-mockup-preview-option-note {
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

@media (max-width: 760px) {
  .nstudio-page .inline-mockup-preview {
    display: none !important;
  }
}

/* editor toolbar layout v20260615m */
.nstudio-page .editor-mode-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin: 0 0 12px;
}

.nstudio-page .editor-mode-row .editor-mode-switch {
  margin: 0 !important;
}

.nstudio-page .editor-mode-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
  margin-left: auto;
}

.nstudio-page .upload-main-row {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 0 14px;
}

.nstudio-page .main-upload-prominent {
  width: min(100%, 380px);
  min-height: 50px !important;
  border-radius: 14px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  box-shadow: 0 8px 20px rgba(111,75,24,.18) !important;
}

.nstudio-page .preview-actions {
  display: none !important;
}

@media (max-width: 760px) {
  .nstudio-page .editor-mode-row {
    align-items: stretch;
  }
  .nstudio-page .editor-mode-row .editor-mode-switch,
  .nstudio-page .editor-mode-actions {
    width: 100%;
    justify-content: center;
    margin-left: 0;
  }
  .nstudio-page .editor-mode-actions .action-btn,
  .nstudio-page .editor-mode-actions .editor-file-actions,
  .nstudio-page .editor-mode-actions .editor-file-actions details {
    flex: 1 1 auto;
  }
  .nstudio-page .editor-mode-actions summary.action-btn {
    width: 100%;
  }
}


/* upload button lower + normal weight v20260615n */
.nstudio-page .upload-main-row {
  margin: 14px 0 14px !important;
}

.nstudio-page .main-upload-prominent {
  font-weight: 400 !important;
  box-shadow: 0 5px 14px rgba(111,75,24,.12) !important;
}

.nstudio-page .upload-main-row {
  flex-direction: column;
  gap: 8px;
}

.nstudio-page .upload-main-row #resetView {
  order: -1;
}

.nstudio-page .preview-sewing-guides {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 4;
}

.nstudio-page .preview-sewing-guide-line {
  position: absolute;
  left: 0;
  width: 100%;
  border-top: 2px dashed rgba(140,140,140,.72);
}

/* noren admin fixes v20260615b */
.nstudio-page .product-type-top {
  max-width: 780px !important;
}
.nstudio-page .product-type-top .option-grid {
  grid-template-columns: repeat(auto-fit, minmax(185px, 1fr)) !important;
}
.nstudio-page .product-type-top .option span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 54px !important;
  padding-left: 10px !important;
  padding-right: 10px !important;
  font-size: 14.5px !important;
  line-height: 1.35 !important;
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}
.nstudio-page.is-type-noren .preview-pole-horizontal {
  background: linear-gradient(180deg, #8a5a34, #5b351d) !important;
}
@media (max-width: 760px) {
  .nstudio-page .product-type-top .option-grid {
    grid-template-columns: 1fr !important;
  }
  .nstudio-page .product-type-top .option span {
    min-height: 46px !important;
    font-size: 14px !important;
  }
}


/* noren fixes v20260615d */
.nstudio-page .preview-noren-splits,
.nstudio-page .preview-panel-splits {
  display: block !important;
  z-index: 12 !important;
}

.nstudio-page .preview-noren-split-line,
.nstudio-page .preview-panel-split-line {
  display: block !important;
  width: 2px !important;
  transform: translateX(-1px);
  background: rgba(95,95,95,.72) !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,.28) !important;
}

.nstudio-page select,
.nstudio-page .order-layout > aside.panel select,
.nstudio-page #noboriSizeSelect,
.nstudio-page #makuSizeSelect,
.nstudio-page #norenSizeSelect {
  -webkit-appearance: none !important;
  appearance: none !important;
  background-color: #fff !important;
  background-image:
    linear-gradient(45deg, transparent 50%, #444 50%),
    linear-gradient(135deg, #444 50%, transparent 50%) !important;
  background-position:
    calc(100% - 24px) 50%,
    calc(100% - 18px) 50% !important;
  background-size: 6px 6px, 6px 6px !important;
  background-repeat: no-repeat !important;
  padding-right: 44px !important;
}

.nstudio-page #noboriSizeSelect,
.nstudio-page #makuSizeSelect,
.nstudio-page #norenSizeSelect {
  padding-left: 14px !important;
}

.ai-list-popup-box {
  width: 96vw;
  max-width: 980px;
  max-height: 88vh;
}

.spec-guide-box {
  width: 100%;
  max-width: 860px;
  max-height: 86vh;
}

/* 古いSafariで display:none の file input を label クリックしても反応しない場合の回避 */
.tool-upload input[type="file"],
.main-upload input[type="file"],
.editor-file-actions input[type="file"] {
  display: block !important;
  position: absolute !important;
  left: -9999px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  overflow: hidden !important;
}

/* final refinements v20260616b */
.nstudio-page .editor-file-menu {
  right: 0 !important;
  left: auto !important;
  min-width: 210px !important;
  max-width: calc(100vw - 32px) !important;
}

@media (max-width: 760px) {
  .nstudio-page .editor-file-actions details {
    position: static !important;
  }
  .nstudio-page .editor-file-menu {
    position: fixed !important;
    left: 12px !important;
    right: 12px !important;
    top: auto !important;
    margin-top: 6px !important;
    width: auto !important;
    max-width: none !important;
  }
}

.nstudio-page .upload-main-row {
  gap: 10px !important;
}

.nstudio-page .upload-main-row #resetView {
  margin-bottom: 8px !important;
}

.nstudio-page .preview-sewing-guide-line {
  border-top: 1px dashed rgba(145,145,145,.34) !important;
}

.nstudio-page .preview-noren-split-line,
.nstudio-page .preview-panel-split-line {
  width: 2px !important;
  transform: translateX(-1px);
  background: #dedede !important;
  box-shadow: none !important;
}


/* preview seam fix v20260616g */
.nstudio-page .preview-cloth-image {
  left: -1px !important;
  top: -1px !important;
  width: calc(100% + 2px) !important;
  height: calc(100% + 2px) !important;
  max-width: none !important;
  max-height: none !important;
}


/* mobile spacing refinements v20260616i */
.nstudio-page .upload-main-row {
  margin-top: 24px !important;
  margin-bottom: 26px !important;
  gap: 14px !important;
}

.nstudio-page .main-upload-prominent {
  min-height: 58px !important;
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}

@media (max-width: 760px) {
  .nstudio-page .order-layout {
    gap: 38px !important;
  }

  .nstudio-page .preview-panel {
    margin-top: 12px !important;
    padding-top: 16px !important;
    padding-bottom: 18px !important;
  }

  .nstudio-page .preview-head {
    margin-top: 4px !important;
    margin-bottom: 18px !important;
  }

  .nstudio-page .editor-mode-row {
    margin-top: 12px !important;
    margin-bottom: 18px !important;
    row-gap: 12px !important;
  }

  .nstudio-page .design-shell {
    margin-top: 14px !important;
    margin-bottom: 18px !important;
  }

  .nstudio-page .upload-main-row {
    margin-top: 26px !important;
    margin-bottom: 28px !important;
    gap: 14px !important;
  }

  .nstudio-page .main-upload-prominent {
    min-height: 60px !important;
    padding-top: 17px !important;
    padding-bottom: 17px !important;
  }

  .nstudio-page .image-size-panel,.nstudio-page .inline-mockup-preview{
    margin-top: 18px !important;
    margin-bottom: 18px !important;
  }

  .nstudio-page .preview-download-actions {
    margin-top: 14px !important;
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }
}


/* final mobile file dropdown + ai history visibility v20260616k */
@media (max-width: 760px) {
  .nstudio-page .editor-file-actions,
  .nstudio-page .editor-file-actions details {
    position: relative !important;
    overflow: visible !important;
  }
  .nstudio-page .editor-file-menu {
    position: absolute !important;
    left: auto !important;
    right: 0 !important;
    top: calc(100% + 8px) !important;
    bottom: auto !important;
    z-index: 9999 !important;
    width: min(82vw, 260px) !important;
    min-width: 220px !important;
    max-width: calc(100vw - 24px) !important;
    margin-top: 0 !important;
  }
}


/* canvas touch upload / bleed note / nobori pole fix v20260616n */
.nstudio-page .canvas-bleed-note {
  margin: 10px auto 0;
  max-width: 520px;
  text-align: center;
  color: #777;
  font-size: 12px;
  line-height: 1.6;
}

.nstudio-page.is-type-nobori .preview-pole-horizontal {
  height: 3px !important;
  border-radius: 0 !important;
}

@media (max-width: 760px) {
  .nstudio-page .canvas-bleed-note {
    margin-top: 12px;
    margin-bottom: 4px;
    font-size: 12px;
  }
}


.nstudio-page .nstudio-image-adjust-section {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid #d7e3e8;
}
.nstudio-page .nstudio-image-adjust-section.is-hidden { display: none; }
.nstudio-page .nstudio-image-adjust-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 700;
  color: #39515b;
}
.nstudio-page .nstudio-image-adjust-note {
  margin: 0 0 8px;
  font-size: 11px;
  line-height: 1.55;
  color: #5e7077;
}
.nstudio-page .nstudio-image-adjust-note.is-error { color: #9c3b3b; }
.nstudio-page .nstudio-svg-color-grid {
  display: grid;
  gap: 8px;
}


.nstudio-page .nstudio-svg-color-input{
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.nstudio-page .nstudio-svg-color-input code{
  display: inline-block;
  min-width: 64px;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 11px;
  color: #4f626a;
}
.nstudio-page .nstudio-svg-color-input input[type="color"] {
  width: 44px;
  min-width: 44px;
  height: 30px;
  padding: 0;
  border: 1px solid #cfdce2;
  border-radius: 6px;
  background: #fff;
}
.nstudio-page .nstudio-bgremove-toggle {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  font-weight: 700;
  color: #415961;
}
.nstudio-page .nstudio-bgremove-fields {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}
.nstudio-page .nstudio-bgremove-fields.is-hidden { display: none; }
.nstudio-page .nstudio-bgremove-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.nstudio-page .nstudio-bgremove-field {
  display: grid;
  gap: 5px;
}
.nstudio-page .nstudio-bgremove-field label,
.nstudio-page .nstudio-bgremove-subactions label {
  font-size: 11px;
  font-weight: 700;
  color: #4f626a;
}
.nstudio-page .nstudio-bgremove-field input[type="number"] {
  width: 100%;
  min-height: 34px;
  padding: 6px 8px;
  border: 1px solid #cfdce2;
  border-radius: 7px;
  background: #fff;
}
.nstudio-page .nstudio-bgremove-field input[type="color"] {
  width: 54px;
  height: 34px;
  padding: 0;
  border: 1px solid #cfdce2;
  border-radius: 7px;
  background: #fff;
}
.nstudio-page .nstudio-bgremove-subactions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
.nstudio-page .nstudio-bgremove-subactions .action-btn {
  padding: 8px 10px;
}
.nstudio-page .nstudio-adjust-status {
  margin-top: 8px;
  font-size: 11px;
  line-height: 1.55;
  color: #5e7077;
}
.nstudio-page .nstudio-adjust-status.is-error { color: #9c3b3b; }


.nstudio-page .nstudio-image-adjust-subpanel { margin-top: 10px; }
.nstudio-page .nstudio-image-adjust-subpanel.is-hidden { display: none !important; }
.nstudio-page .nstudio-adjust-kind {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 8px;
  border: 1px solid #cbd9df;
  border-radius: 999px;
  background: #fff;
  color: #52666f;
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
}


/* ===== NUNO STUDIO measurement unit / compact size fields v11 ===== */
.nstudio-page .nstudio-size-title{align-items:center!important}
.nstudio-page .nstudio-unit-switch{display:inline-flex;align-items:center;gap:2px;padding:2px;background:#eef3f1;border-radius:999px;font-size:11px;font-weight:700}
.nstudio-page .nstudio-unit-switch button{border:0!important;box-shadow:none!important;background:transparent!important;color:#71807b!important;min-width:34px;height:26px;padding:0 8px;border-radius:999px;cursor:pointer}
.nstudio-page .nstudio-unit-switch button.is-active{background:#fff!important;color:#315d53!important;box-shadow:0 1px 4px rgba(35,61,53,.10)!important}
.nstudio-page .spec-field-size .custom-size-panel>.image-size-field{grid-template-columns:62px minmax(86px,118px)!important;justify-content:start!important}
.nstudio-page .spec-field-size .custom-size-panel>.image-size-field>.image-size-input-wrap{max-width:118px!important}
.nstudio-page .spec-field-size .custom-size-panel input[type="number"]{max-width:118px!important}
@media(max-width:760px){
  .nstudio-page .spec-field-size .custom-size-panel>.image-size-field{grid-template-columns:58px minmax(84px,112px)!important}
  .nstudio-page .spec-field-size .custom-size-panel>.image-size-field>.image-size-input-wrap,.nstudio-page .spec-field-size .custom-size-panel input[type="number"]{max-width:112px!important}
}

/* ---- original style block boundary ---- */

.nstudio-base-color-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.nstudio-base-color-picker{display:inline-flex;width:46px;height:38px;padding:3px;border:1px solid #d8d2c8;border-radius:8px;background:#fff;cursor:pointer}
.nstudio-base-color-picker input[type=color]{width:100%;height:100%;padding:0;border:0;background:transparent;cursor:pointer}
.nstudio-base-color-value{font-size:12px;font-weight:700;color:#555;min-width:62px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.nstudio-base-color-reset{padding:7px 10px!important;font-size:12px!important}
.nstudio-summary .inline-mockup-preview{margin:14px 0 0!important;padding:14px 0 0!important;border-top:1px solid #e6e1d8!important}
.nstudio-summary .inline-mockup-preview-head{justify-content:flex-start!important;margin-bottom:8px!important;font-size:12px!important}
.nstudio-summary .inline-mockup-preview-body{max-width:none!important;width:100%!important;margin:0!important;padding:6px!important;border-radius:9px!important}
.nstudio-summary .inline-mockup-preview-body img{width:100%!important;max-height:260px!important;object-fit:contain!important;border-radius:6px!important}
.nstudio-summary .inline-mockup-preview-option-note{max-width:none!important;margin:5px 0 0!important;text-align:left!important;font-size:10px!important}
@media(max-width:760px){.nstudio-page .nstudio-summary .inline-mockup-preview{display:block!important}}

.nstudio-project-status{display:flex;align-items:center;gap:5px;color:#777;font-size:11px}
.nstudio-project-status i{font-size:11px;color:#6f857d;margin:0!important}
.nstudio-project-status.is-saving i{animation:nstudioSpin 1s linear infinite}

.nstudio-cloud-saved-link{display:none;width:100%;padding:7px 9px;border-radius:7px;background:#f7f7f5;font-size:11px;color:#5f6663;word-break:break-all}
.nstudio-cloud-saved-link.is-visible{display:block}

.nstudio-editor-history-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.nstudio-editor-history-actions .action-btn[disabled]{opacity:.38;cursor:default;pointer-events:none}
@keyframes nstudioSpin{to{transform:rotate(360deg)}}
@media(max-width:700px){
  
  
  
  
  
  
  
  .nstudio-editor-history-actions{width:100%;justify-content:flex-end}
}

/* ---- original style block boundary ---- */

/* ===== NUNO STUDIO UI v20: consolidated column / sidebar styling ===== */
.nstudio-page{
  --ns-spec:#356b5f;
  --ns-editor:#3f6688;
  --ns-design:#765f82;
  --ns-dimension:#4d6f91;
  --ns-dimension-bg:#f1f5f9;
  --ns-construction:#90652f;
  --ns-construction-bg:#fbf5ea;
  --ns-visual:#477469;
  --ns-visual-bg:#eff6f3;
  --ns-asset:#557797;
  --ns-asset-bg:#f0f5f8;
  --ns-adjust:#725f80;
  --ns-adjust-bg:#f5f1f7;
}

/* 3カラムのトップ見出し：背景・外枠・左線を使わず文字だけで統一 */
.nstudio-page .nstudio-column-heading{
  display:flex!important;
  align-items:flex-start!important;
  min-height:0!important;
  margin:0 0 18px!important;
  padding:2px 1px 9px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:inherit!important;
  text-align:left!important;
}
.nstudio-page .nstudio-column-heading-copy{min-width:0}
.nstudio-page .nstudio-column-heading strong,
.nstudio-page .nstudio-column-heading h3{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0!important;
  padding:0!important;
  font-size:22px!important;
  line-height:1.3!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
}
.nstudio-page .nstudio-column-heading strong .icon,
.nstudio-page .nstudio-column-heading h3 .icon{margin:0!important;opacity:.88}
.nstudio-page .nstudio-column-heading small{
  display:block!important;
  margin-top:4px!important;
  color:#69756f!important;
  font-size:13px!important;
  line-height:1.5!important;
  font-weight:500!important;
}
.nstudio-page .nstudio-column-heading-spec strong{color:var(--ns-spec)!important}
.nstudio-page .nstudio-column-heading-editor h3{color:var(--ns-editor)!important}
.nstudio-page .nstudio-column-heading-design strong{color:var(--ns-design)!important}
.nstudio-page .sidebar-spec-title{font-size:inherit!important;letter-spacing:normal!important}
.nstudio-page .preview-head{margin-bottom:16px!important}
.nstudio-page .nstudio-design-sidebar-head{border:0!important;background:transparent!important}

/* 上部：タイトル・商品・現在仕様・テンプレート・保存を1つのまとまりに */
.nstudio-page .nstudio-top-control-section{
  margin:0 0 18px!important;
  padding:16px 18px!important;
  border:0!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 5px 22px rgba(38,55,50,.055)!important;
}
.nstudio-page .nstudio-top-control-section .product-type-top{
  margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;
}

.nstudio-page .nstudio-project-status{font-size:12px!important}
.nstudio-page .template-tools{margin-top:10px!important;gap:7px!important}

/* NUNO STUDIO タイトル */
.nstudio-page .nstudio-mode-heading{gap:12px!important;margin-bottom:12px!important}
.nstudio-page .nstudio-mode-title{font-size:32px!important;line-height:1.05!important;letter-spacing:.045em!important}
.nstudio-page .nstudio-mode-tagline{font-size:15px!important;line-height:1.35!important;font-weight:750!important}
.nstudio-page .nstudio-mode-mascot{width:76px!important;max-height:86px!important}

/* WordPress管理バー実測オフセットはドロワーだけに適用 */
.nstudio-page .nstudio-side-drawer{
  top:var(--nstudio-fixed-top-offset,0px)!important;
  height:calc(100dvh - var(--nstudio-fixed-top-offset,0px))!important;
  max-height:calc(100vh - var(--nstudio-fixed-top-offset,0px))!important;
  border-left:0!important;
}
.nstudio-page .nstudio-drawer-backdrop{
  top:var(--nstudio-fixed-top-offset,0px)!important;
  height:calc(100dvh - var(--nstudio-fixed-top-offset,0px))!important;
}

/* サイズは幅／高さを1行ずつ。入力欄は必要以上に横へ伸ばさない */
.nstudio-page .spec-field-size .custom-size-panel{grid-template-columns:minmax(0,1fr)!important;gap:9px!important}
.nstudio-page .spec-field-size .custom-size-panel>.image-size-field{
  min-width:0!important;width:100%!important;display:grid!important;
  grid-template-columns:72px minmax(100px,150px)!important;align-items:center!important;gap:8px 10px!important;
}
.nstudio-page .spec-field-size .custom-size-panel>.image-size-field>.image-size-label-row{min-width:0!important;margin:0!important}
.nstudio-page .spec-field-size .custom-size-panel>.image-size-field>.image-size-input-wrap{min-width:0!important;width:100%!important;max-width:150px!important}
.nstudio-page .spec-field-size .custom-size-panel>.image-size-field>.nstudio-piece-inputs{grid-column:1 / -1!important}
.nstudio-page .spec-field-size .custom-size-panel input[type="number"]{width:100%!important;min-width:0!important}
.nstudio-page .spec-field-size .custom-size-note{grid-column:1!important}

/* 業務画面っぽい輪郭を弱め、選択状態だけ分かるようにする */
.nstudio-page .order-layout>aside.panel,
.nstudio-page .preview-panel,
.nstudio-page .nstudio-design-sidebar{border-color:rgba(57,81,73,.07)!important;box-shadow:0 7px 26px rgba(31,52,45,.035)!important}
.nstudio-page .order-layout>aside.panel,
.nstudio-page .nstudio-design-sidebar{background:#fff!important}
.nstudio-page .image-size-input-wrap,
.nstudio-page .nstudio-pocket-number{border-color:transparent!important;background:#f2f5f3!important;box-shadow:inset 0 0 0 1px rgba(67,92,84,.055)!important}
.nstudio-page .image-size-input-wrap:focus-within,
.nstudio-page .nstudio-pocket-number:focus-within{background:#fff!important;box-shadow:inset 0 0 0 1px rgba(70,120,106,.38),0 0 0 2px rgba(70,120,106,.07)!important}
.nstudio-page .option span,
.nstudio-page .nstudio-type-grid .option span{border-color:transparent!important;background:#f6f8f7!important;box-shadow:inset 0 0 0 1px rgba(65,88,81,.045)!important}
.nstudio-page .option input:checked+span,
.nstudio-page .nstudio-type-grid .option input:checked+span{border-color:transparent!important;background:#edf5f2!important;box-shadow:inset 0 0 0 1px rgba(71,117,104,.24)!important}
.nstudio-page .action-btn:not(.primary),
.nstudio-page .icon-tool,
.nstudio-page .nstudio-drawer-close,
.nstudio-page .nstudio-asset-source-tab,
.nstudio-page .nstudio-material-category-tab{border-color:transparent!important;background:#f5f7f6!important;box-shadow:inset 0 0 0 1px rgba(65,88,81,.045)!important}
.nstudio-page .action-btn:not(.primary):hover,
.nstudio-page .icon-tool:hover,
.nstudio-page .nstudio-drawer-close:hover,
.nstudio-page .nstudio-asset-source-tab:hover,
.nstudio-page .nstudio-material-category-tab:hover{background:#eef3f1!important}
.nstudio-page .nstudio-asset-source-tab.is-active{border-color:#173f50!important;background:#173f50!important;color:#fff!important;box-shadow:0 2px 8px rgba(23,63,80,.28)!important}
.nstudio-page #nstudioQuickUploadMount .nstudio-asset-upload-dropzone{border-color:rgba(150,129,101,.25)!important;background:rgba(255,255,255,.56)!important}
.nstudio-page #nstudioRightAdjustMount .image-size-panel{border:0!important;background:var(--ns-adjust-bg)!important;box-shadow:none!important}
.nstudio-page .nstudio-background-feature-card{border-color:transparent!important;box-shadow:inset 0 0 0 1px rgba(70,88,82,.045)!important}
.nstudio-page .nstudio-side-drawer-head{border-bottom-color:rgba(63,82,76,.07)!important;background:#fbfcfb!important}
.nstudio-page .nstudio-side-drawer .nstudio-asset-source-tabs{border-bottom-color:rgba(63,82,76,.06)!important}

/* 左：仕様。外枠線ではなく背景面と見出し色で区切る */
.nstudio-page .order-layout>aside.panel:first-child{padding:17px!important}
.nstudio-page .order-layout>aside.panel:first-child .form-block{
  margin:0 0 15px!important;
  padding:14px!important;
  border:0!important;
  border-radius:11px!important;
  background:#f7f9f8!important;
  box-shadow:none!important;
}
.nstudio-page .order-layout>aside.panel:first-child .form-block[data-spec-field="size"],
.nstudio-page .order-layout>aside.panel:first-child .form-block[data-spec-field="split"]{background:var(--ns-dimension-bg)!important}
.nstudio-page .order-layout>aside.panel:first-child .form-block[data-spec-field="size"] .spec-block-title,
.nstudio-page .order-layout>aside.panel:first-child .form-block[data-spec-field="split"] .spec-block-title{color:var(--ns-dimension)!important;background:#e2ebf3!important}
.nstudio-page .order-layout>aside.panel:first-child .form-block[data-spec-field="finish"],
.nstudio-page .order-layout>aside.panel:first-child .form-block[data-spec-field="sewing"],
.nstudio-page .order-layout>aside.panel:first-child .nstudio-pocket-spec,
.nstudio-page .order-layout>aside.panel:first-child .nstudio-tie-spec{background:var(--ns-construction-bg)!important}
.nstudio-page .order-layout>aside.panel:first-child .form-block[data-spec-field="finish"] .spec-block-title,
.nstudio-page .order-layout>aside.panel:first-child .form-block[data-spec-field="sewing"] .spec-block-title{color:var(--ns-construction)!important;background:#f1e4d0!important}
.nstudio-page .order-layout>aside.panel:first-child .form-block[data-spec-field="design"],
.nstudio-page .order-layout>aside.panel:first-child .form-block[data-spec-field="baseColor"]{background:var(--ns-visual-bg)!important}
.nstudio-page .order-layout>aside.panel:first-child .form-block[data-spec-field="design"] .spec-block-title,
.nstudio-page .order-layout>aside.panel:first-child .form-block[data-spec-field="baseColor"] .spec-block-title{color:var(--ns-visual)!important;background:#deeee8!important}
.nstudio-page .order-layout>aside.panel:first-child .spec-block-title{
  min-height:38px!important;margin:0 0 11px!important;padding:8px 10px!important;
  border:0!important;border-radius:7px!important;font-size:14px!important;line-height:1.4!important;font-weight:850!important;
}
.nstudio-page .order-layout>aside.panel:first-child label,
.nstudio-page .order-layout>aside.panel:first-child .image-size-label-row,
.nstudio-page .order-layout>aside.panel:first-child .nstudio-auto-split-toggle,
.nstudio-page .order-layout>aside.panel:first-child .nstudio-tie-check{font-size:13px!important;line-height:1.5!important}
.nstudio-page .order-layout>aside.panel:first-child .nstudio-field-note,.nstudio-page .order-layout>aside.panel:first-child .custom-size-note{margin-top:8px!important;color:#687570!important;font-size:12px!important;line-height:1.65!important}
.nstudio-page .order-layout>aside.panel:first-child .option span{min-height:42px!important;padding:9px 10px!important;font-size:13px!important;line-height:1.4!important}
.nstudio-page .order-layout>aside.panel:first-child input,
.nstudio-page .order-layout>aside.panel:first-child select,
.nstudio-page .order-layout>aside.panel:first-child button{font-size:13px!important}

/* 右：デザイン。同種機能は同系色、左アクセント線は使わない */
.nstudio-page .nstudio-design-sidebar{padding:14px!important}
.nstudio-page .nstudio-design-sidebar>.nstudio-design-quick-card,.nstudio-page .nstudio-design-sidebar>.nstudio-selected-adjust-wrap{margin-bottom:15px!important}
.nstudio-page .nstudio-design-quick-card{
  padding:13px!important;border:0!important;border-radius:11px!important;box-shadow:none!important;
}
.nstudio-page .nstudio-design-quick-color{background:var(--ns-visual-bg)!important}
.nstudio-page .nstudio-design-quick-upload{background:var(--ns-asset-bg)!important}
.nstudio-page #nstudioOpenAddDrawer{background:var(--ns-asset-bg)!important;color:#3d607d!important}
.nstudio-page .nstudio-design-quick-heading{margin-bottom:10px!important;gap:9px!important}
.nstudio-page .nstudio-design-quick-heading strong{font-size:14px!important;line-height:1.4!important;font-weight:850!important}
.nstudio-page .nstudio-design-quick-heading small{margin-top:2px!important;color:#687570!important;font-size:12px!important;line-height:1.5!important}


.nstudio-page .nstudio-design-sidebar .image-size-panel,.nstudio-page .nstudio-design-sidebar .image-size-field,.nstudio-page .nstudio-design-sidebar label{font-size:12px!important;line-height:1.55!important}
.nstudio-page .nstudio-design-sidebar .action-btn,
.nstudio-page .nstudio-design-sidebar button{min-height:38px;font-size:12px!important}

/* 選択中調整：未選択時は完全非表示、選択時は右カラム先頭 */
.nstudio-page .nstudio-selected-adjust-wrap[hidden],
.nstudio-page .nstudio-selected-adjust-wrap:not(.is-active){display:none!important}
.nstudio-page .nstudio-selected-adjust-wrap.is-active{
  display:block!important;order:-10!important;margin:0 0 15px!important;padding:0!important;
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
}

.nstudio-page .nstudio-image-size-grid,
.nstudio-page .nstudio-image-position-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:9px!important;align-items:start!important}
.nstudio-page #nstudioRightAdjustMount .image-size-input-wrap{max-width:128px!important}
.nstudio-page #nstudioRightAdjustMount .image-size-input-wrap input{width:100%!important;min-width:0!important}
.nstudio-page #nstudioRightAdjustMount .image-size-label-row{gap:5px!important}
.nstudio-page #nstudioRightAdjustMount .fit-cloth-btn{padding:3px 6px!important;min-height:26px!important;font-size:10px!important}

/* SVG/文様色：変更色だけを横並び */
.nstudio-page .nstudio-svg-color-grid{display:flex!important;flex-wrap:wrap!important;gap:7px!important}
.nstudio-page .nstudio-svg-color-compact{display:block!important;min-width:0!important}
.nstudio-page .nstudio-svg-color-input{display:inline-flex!important;align-items:center!important;gap:5px!important;padding:4px 6px!important;border:0!important;border-radius:7px!important;background:#f4f6f5!important}
.nstudio-page .nstudio-svg-color-input input[type="color"]{width:64px!important;min-width:64px!important;height:36px!important;padding:0!important;border:1px solid #cfdce2!important;border-radius:7px!important;background:#fff!important;cursor:pointer!important}
.nstudio-page .nstudio-svg-color-input code{min-width:0!important;font-size:10px!important}


/* ドロワーは閉じている時に影を出さない。セクション左線は使わない */
.nstudio-page #nstudioAddDrawer .nstudio-side-drawer-head,.nstudio-page #nstudioKamonDrawer .nstudio-side-drawer-head{background:var(--ns-asset-bg)!important;border-top:4px solid var(--ns-asset)!important}
.nstudio-page .nstudio-side-drawer-head strong{font-size:16px!important}
.nstudio-page .nstudio-side-drawer-head small{font-size:12px!important;line-height:1.45!important}
.nstudio-page .nstudio-side-drawer:not(.is-open){box-shadow:none!important;pointer-events:none!important}
.nstudio-page .nstudio-side-drawer.is-open{box-shadow:-16px 0 40px rgba(23,38,33,.11)!important}
.nstudio-page.is-nstudio-embed{overflow-x:clip!important}
.nstudio-page.is-nstudio-embed .order-layout>.nstudio-design-sidebar,
.nstudio-page.is-nstudio-embed .preview-panel{box-shadow:none!important}


/* background inline + pattern picker UI */
.nstudio-page .nstudio-background-inline-heading{display:flex;align-items:center;gap:7px;margin:0 0 9px;color:#43564f;font-size:12px}
.nstudio-page .nstudio-background-inline-heading i{margin:0!important;color:#64776f}
.nstudio-page .nstudio-background-inline-mount{display:block!important;width:100%!important;min-width:0!important}
.nstudio-page .nstudio-background-inline-mount .nstudio-background-design-panel{display:grid!important;gap:8px!important;width:100%!important;min-width:0!important}
.nstudio-page .nstudio-background-inline-mount .nstudio-background-feature-card{margin:0!important;border-radius:9px!important}
.nstudio-page .nstudio-background-inline-mount .nstudio-background-feature-head{min-height:44px!important;padding:8px 9px!important;gap:7px!important}
.nstudio-page .nstudio-background-inline-mount .nstudio-background-feature-icon{width:24px!important;height:24px!important;flex-basis:24px!important}
.nstudio-page .nstudio-background-inline-mount .nstudio-background-feature-copy strong{font-size:11px!important}
.nstudio-page .nstudio-background-inline-mount .nstudio-background-feature-copy small{display:none!important}
.nstudio-page .nstudio-background-inline-mount .nstudio-background-option-section{padding:2px 9px 10px!important}
.nstudio-page .nstudio-background-inline-mount .nstudio-background-settings-heading{display:none!important}
.nstudio-page .nstudio-background-inline-mount .nstudio-monyou-source{min-width:0!important}
.nstudio-page .nstudio-background-inline-mount .nstudio-monyou-controls{grid-template-columns:1fr!important;gap:8px!important;padding:0!important;background:transparent!important;border:0!important}
.nstudio-page .nstudio-background-inline-mount .nstudio-monyou-field{display:grid!important;grid-template-rows:16px 34px!important;gap:3px!important;align-items:stretch!important;margin:0!important;min-width:0!important}
.nstudio-page .nstudio-background-inline-mount .nstudio-monyou-field>span{display:flex!important;align-items:center!important;min-height:16px!important;font-size:10px!important;line-height:16px!important;margin:0!important}
.nstudio-page .nstudio-background-inline-mount .nstudio-monyou-field select,
.nstudio-page .nstudio-background-inline-mount .nstudio-monyou-field input[type="text"],
.nstudio-page .nstudio-background-inline-mount .nstudio-monyou-field .nstudio-monyou-input-wrap{width:100%!important;min-width:0!important;height:34px!important;box-sizing:border-box!important;margin:0!important}
.nstudio-page .nstudio-background-inline-mount .nstudio-monyou-field select{padding:5px 28px 5px 8px!important}
.nstudio-page .nstudio-background-inline-mount .nstudio-monyou-input-wrap input{height:34px!important;min-width:0!important}
.nstudio-page .nstudio-background-inline-mount .nstudio-monyou-position-row{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:7px!important;align-items:start!important}
.nstudio-page .nstudio-background-inline-mount .nstudio-monyou-position-row .nstudio-monyou-field--position{min-width:0!important;width:100%!important}
.nstudio-page .nstudio-background-inline-mount .nstudio-monyou-position-row .nstudio-monyou-field--position select{min-width:0!important;width:100%!important}
.nstudio-page .nstudio-background-inline-mount .nstudio-monyou-position-row>.nstudio-monyou-check{padding:0!important;min-height:24px!important;align-items:center!important}
.nstudio-page .nstudio-background-inline-mount .nstudio-monyou-position-row>.nstudio-monyou-check+ .nstudio-monyou-check{margin-top:-3px!important}
.nstudio-page .nstudio-background-inline-mount .nstudio-monyou-piece-options{grid-template-columns:1fr!important;gap:7px!important}
.nstudio-page .nstudio-background-inline-mount .nstudio-monyou-detail-grid{grid-template-columns:1fr 1fr!important;gap:7px!important}
.nstudio-page .nstudio-background-inline-mount .nstudio-monyou-advanced{margin:0!important}
.nstudio-page .nstudio-background-inline-mount .nstudio-monyou-color-panel{margin-top:9px!important;padding-top:9px!important;border-top:1px solid #e7ebe9!important}
.nstudio-page .nstudio-background-inline-mount .nstudio-monyou-color-panel .nstudio-image-adjust-heading{font-size:10px!important;margin-bottom:5px!important}
.nstudio-page .nstudio-background-inline-mount .nstudio-monyou-color-panel .nstudio-image-adjust-note{display:none!important}
.nstudio-page .nstudio-background-inline-mount .nstudio-pattern-selection-card{grid-template-columns:42px minmax(0,1fr) auto!important;gap:7px!important;margin:0!important;padding:7px!important}
.nstudio-page .nstudio-background-inline-mount .nstudio-pattern-selection-thumb{width:38px!important;height:38px!important}
.nstudio-page .nstudio-background-inline-mount .nstudio-pattern-selection-copy small{font-size:9px!important}
.nstudio-page .nstudio-background-inline-mount .nstudio-pattern-selection-copy strong{font-size:11px!important}
.nstudio-page .nstudio-background-inline-mount .nstudio-pattern-change-btn{min-height:32px!important;padding:5px 8px!important;font-size:10px!important}

.nstudio-page .nstudio-background-inline-mount .nstudio-kamon-pattern-slots{gap:6px!important;margin:0 0 8px!important}
.nstudio-page .nstudio-background-inline-mount .nstudio-kamon-pattern-slot{padding:7px!important;border-radius:8px!important}
.nstudio-page .nstudio-background-inline-mount .nstudio-kamon-pattern-slot strong{font-size:10px!important}.nstudio-page .nstudio-background-inline-mount .nstudio-kamon-pattern-slot span{font-size:10px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nstudio-page #nstudioPatternPickerDrawer .nstudio-pattern-picker-panel.is-hidden{display:none!important}
.nstudio-page #nstudioPatternPickerDrawer .nstudio-pattern-picker-panel{display:block!important}
.nstudio-page #nstudioPatternPickerDrawer .nstudio-kamon-pattern-search{display:grid!important;gap:12px!important}
.nstudio-page #nstudioPatternPickerDrawer .nstudio-kamon-pattern-slots,
.nstudio-page #nstudioPatternPickerDrawer .nstudio-kamon-pattern-actions{display:none!important}
/* background pattern UI fixes */
.nstudio-page .nstudio-monyou-position-row{display:flex!important;flex-wrap:wrap!important;gap:8px 12px!important;align-items:flex-end!important;width:100%!important;min-width:0!important}
/* 文様の柄選択は設定欄から分離して専用drawerへ */
.nstudio-page #nstudioPatternPickerDrawer .nstudio-side-drawer-head{background:#f7f8fb!important;border-top:4px solid #6f6a88!important}
.nstudio-page #nstudioPatternPickerDrawer .nstudio-material-head{display:none!important}
.nstudio-page #nstudioPatternPickerDrawer .nstudio-material-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
.nstudio-page .nstudio-pattern-selection-card{grid-column:1/-1!important;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;margin:2px 0 12px;padding:10px;border:1px solid #dfe5e2;border-radius:10px;background:#f8faf9}
.nstudio-page .nstudio-pattern-selection-thumbs{display:flex;align-items:center;gap:4px;min-width:44px}
.nstudio-page .nstudio-pattern-selection-thumb{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:8px;border:1px solid #e0e5e3;background:#fff;overflow:hidden;color:#87938f;font-size:16px;font-weight:800}
.nstudio-page .nstudio-pattern-selection-thumb img{display:block;max-width:100%;max-height:100%;object-fit:contain;padding:4px;box-sizing:border-box}
.nstudio-page .nstudio-pattern-selection-copy{min-width:0;display:grid;gap:2px}
.nstudio-page .nstudio-pattern-selection-copy small{font-size:10px;color:#7b8782}
.nstudio-page .nstudio-pattern-selection-copy strong{font-size:13px;line-height:1.35;color:#303936;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nstudio-page .nstudio-pattern-change-btn{appearance:none;min-height:36px;padding:7px 10px;border:1px solid #cfd9d5;border-radius:8px;background:#fff;color:#39534b;font:inherit;font-size:11px;font-weight:850;white-space:nowrap;cursor:pointer}
.nstudio-page .nstudio-pattern-change-btn:hover{background:#f0f5f3}
.nstudio-page .nstudio-monyou-settings-shell{display:block}
@media(max-width:900px){.nstudio-page #nstudioPatternPickerDrawer{display:flex!important;z-index:99980!important;top:4px!important;right:4px!important;left:4px!important;width:auto!important;height:calc(100dvh - 8px)!important;max-height:none!important;border:1px solid #dce4e1!important;border-radius:16px!important;transform:translateY(105%)!important}.nstudio-page #nstudioPatternPickerDrawer.is-open{transform:translateY(0)!important}.nstudio-page #nstudioPatternPickerDrawer .nstudio-material-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.nstudio-page .nstudio-pattern-selection-card{grid-template-columns:auto minmax(0,1fr)}.nstudio-page .nstudio-pattern-change-btn{grid-column:1/-1;width:100%}}
.nstudio-page .nstudio-monyou-position-row .nstudio-monyou-field--position{flex:1 1 180px!important;min-width:180px!important;max-width:100%!important}
.nstudio-page .nstudio-monyou-position-row .nstudio-monyou-field--position select{display:block!important;width:100%!important;min-width:180px!important;max-width:100%!important;box-sizing:border-box!important}
.nstudio-page .nstudio-monyou-position-row>.nstudio-monyou-check{flex:0 0 auto!important;position:static!important;inset:auto!important;transform:none!important;margin:0!important;padding:8px 0 2px!important;z-index:auto!important}
.nstudio-page .nstudio-svg-color-input{cursor:pointer!important;padding:5px 7px!important}
.nstudio-page .nstudio-svg-color-input input[type=color]{display:block!important;width:64px!important;min-width:64px!important;height:36px!important;padding:0!important;border:1px solid #cfdce2!important;border-radius:7px!important;background:#fff!important;cursor:pointer!important}
@media(max-width:640px){.nstudio-page .nstudio-monyou-position-row{flex-direction:column!important;align-items:stretch!important}.nstudio-page .nstudio-monyou-position-row .nstudio-monyou-field--position{width:100%!important;min-width:0!important}.nstudio-page .nstudio-monyou-position-row .nstudio-monyou-field--position select{min-width:0!important}.nstudio-page .nstudio-monyou-position-row>.nstudio-monyou-check{padding:2px 0!important}}


.nstudio-page #nstudioMonyouKamonColumnsRow.is-hidden,.nstudio-page #nstudioMonyouTileSizeRow.is-hidden,.nstudio-page .nstudio-monyou-advanced.is-hidden{display:none!important}.nstudio-page #nstudioMonyouKamonColumns{max-width:110px}.nstudio-page #nstudioMonyouKamonColumnsRow .nstudio-monyou-input-wrap{justify-content:flex-start}

.nstudio-page .nstudio-monyou-continuous-gap-row,.nstudio-page .nstudio-monyou-kamon-gap-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:end}.nstudio-page .nstudio-monyou-continuous-gap-row.is-hidden,.nstudio-page .nstudio-monyou-kamon-gap-row.is-hidden{display:none!important}.nstudio-page .nstudio-monyou-kamon-gap-row .nstudio-monyou-input-wrap em{min-width:30px;text-align:right}.nstudio-page .nstudio-monyou-advanced.is-hidden{display:none!important}@media(max-width:560px){.nstudio-page .nstudio-monyou-continuous-gap-row,.nstudio-page .nstudio-monyou-kamon-gap-row{grid-template-columns:1fr 1fr}}
.nstudio-page .nstudio-background-feature-card{border:1px solid #d7dfdb!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important;overflow:hidden!important}
.nstudio-page .nstudio-background-feature-head{background:#fff!important;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease!important}
.nstudio-page .nstudio-background-option-section{background:#fff!important}
.nstudio-page .nstudio-background-feature-card.is-enabled{border-color:#8ea59d!important;box-shadow:0 0 0 1px rgba(89,117,106,.14)!important}
.nstudio-page .nstudio-background-feature-card.is-enabled>.nstudio-background-feature-head{background:#edf5f1!important;border-bottom:1px solid #d8e5df!important}
.nstudio-page .nstudio-background-feature-card .nstudio-background-option-section{border-top:1px solid #e6ece8!important}
.nstudio-page .nstudio-background-feature-card.is-enabled .nstudio-background-option-section.is-open{border-top-color:#d1dcd7!important}
.nstudio-page .nstudio-monyou-kamon-gap-row .nstudio-monyou-input-wrap em{min-width:0!important;width:0!important;padding:0!important;overflow:hidden!important}
.nstudio-page .nstudio-kamon-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
@media(max-width:900px){.nstudio-page .nstudio-kamon-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:520px){.nstudio-page .nstudio-kamon-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}


/* v5: 背景カードはタイトルバーだけ色付き。設定面は白。ON時は同系濃色で編集中を強調。 */
.nstudio-page .nstudio-background-feature-card{background:#fff!important;border:1px solid #e0e6e3!important;box-shadow:none!important;overflow:hidden!important}
.nstudio-page .nstudio-background-feature-card>.nstudio-background-option-section{background:#fff!important;border-top:1px solid #e4e9e6!important}
.nstudio-page .nstudio-background-feature-card--cloth>.nstudio-background-feature-head{background:#f7f9f8!important}
.nstudio-page .nstudio-background-feature-card--texture>.nstudio-background-feature-head{background:#f1f7f4!important}
.nstudio-page .nstudio-background-feature-card--bokashi>.nstudio-background-feature-head{background:#fff8f0!important}
.nstudio-page .nstudio-background-feature-card--monyou>.nstudio-background-feature-head{background:#f6f4fa!important}
.nstudio-page .nstudio-background-feature-card--ai>.nstudio-background-feature-head{background:#f1f7fc!important}
.nstudio-page .nstudio-background-feature-card--cloth.is-enabled{border-color:#769487!important;box-shadow:0 0 0 1px rgba(78,118,103,.18)!important}
.nstudio-page .nstudio-background-feature-card--cloth.is-enabled>.nstudio-background-feature-head{background:#dfece6!important;border-bottom:1px solid #b8cec4!important}
.nstudio-page .nstudio-background-feature-card--texture.is-enabled{border-color:#789989!important;box-shadow:0 0 0 1px rgba(87,132,112,.17)!important}
.nstudio-page .nstudio-background-feature-card--texture.is-enabled>.nstudio-background-feature-head{background:#dfeee6!important;border-bottom:1px solid #bad0c4!important}
.nstudio-page .nstudio-background-feature-card--bokashi.is-enabled{border-color:#b9864f!important;box-shadow:0 0 0 1px rgba(185,134,79,.16)!important}
.nstudio-page .nstudio-background-feature-card--bokashi.is-enabled>.nstudio-background-feature-head{background:#f2dfc5!important;border-bottom:1px solid #dfc39f!important}
.nstudio-page .nstudio-background-feature-card--monyou.is-enabled{border-color:#87769f!important;box-shadow:0 0 0 1px rgba(135,118,159,.17)!important}
.nstudio-page .nstudio-background-feature-card--monyou.is-enabled>.nstudio-background-feature-head{background:#e5def0!important;border-bottom:1px solid #c8bdd9!important}
.nstudio-page .nstudio-background-feature-card--ai.is-enabled{border-color:#7397b0!important;box-shadow:0 0 0 1px rgba(115,151,176,.17)!important}
.nstudio-page .nstudio-background-feature-card--ai.is-enabled>.nstudio-background-feature-head{background:#dcebf5!important;border-bottom:1px solid #b9d0df!important}
/* 家紋1/2は連続柄と同じ選択感で縦並び。選択と削除は同一行。 */
.nstudio-page .nstudio-kamon-pattern-slots--primary,.nstudio-page .nstudio-kamon-pattern-slots{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin:0!important}
.nstudio-page .nstudio-kamon-pattern-slot-item{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;align-items:center!important;padding:8px!important;border:1px solid #dfe5e2!important;border-radius:9px!important;background:#f8faf9!important}

.nstudio-page .nstudio-kamon-pattern-clear{min-height:32px!important;padding:5px 7px!important;border:0!important;background:transparent!important;color:#a04a4a!important;font-size:10px!important;text-decoration:underline!important;cursor:pointer!important}
/* 家紋の相対間隔は数値だけ。範囲の補助表記は出さない。 */
.nstudio-page .nstudio-monyou-kamon-gap-row .nstudio-monyou-input-wrap em{display:none!important}

/* v6 requested spacing / kamon controls / bokashi controls */
.nstudio-page .order-layout>.nstudio-spec-sidebar,.nstudio-page .order-layout>#nstudioDesignSidebar{padding:14px!important;box-sizing:border-box!important}
.nstudio-page .nstudio-background-inline-mount .nstudio-background-design-panel{gap:12px!important}
.nstudio-page .nstudio-background-inline-mount .nstudio-background-option-section{padding:12px 10px 14px!important;background:#fff!important}
.nstudio-page .nstudio-background-inline-mount .nstudio-pattern-change-btn,
.nstudio-page .nstudio-background-inline-mount .nstudio-kamon-pattern-clear,
.nstudio-page .nstudio-background-inline-mount .nstudio-background-ai-launch,
.nstudio-page .nstudio-background-inline-mount .nstudio-bokashi-choice,
.nstudio-page .nstudio-background-inline-mount .nstudio-bokashi-type,
.nstudio-page .nstudio-background-inline-mount .nstudio-monyou-check,
.nstudio-page .nstudio-background-inline-mount .nstudio-bokashi-options label{margin-top:3px!important;margin-bottom:3px!important}
.nstudio-page .nstudio-kamon-pattern-slot-item{grid-template-columns:minmax(0,1fr)!important;gap:7px!important}


.nstudio-page .nstudio-kamon-select-thumb{display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 32px!important;width:32px!important;height:32px!important;border:1px solid #dce4e1!important;border-radius:6px!important;background:#fff!important;overflow:hidden!important;color:#798782!important}
.nstudio-page .nstudio-kamon-select-thumb img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;padding:3px!important;box-sizing:border-box!important}
.nstudio-page .nstudio-kamon-select-thumb .icon{margin:0!important}
.nstudio-page .nstudio-kamon-pattern-clear{align-self:stretch!important;min-height:42px!important}
.nstudio-page .nstudio-kamon-pattern-clear:disabled{display:inline-flex!important;align-items:center!important;opacity:.35!important;cursor:default!important;text-decoration:none!important}
.nstudio-page #nstudioBokashiRatio,.nstudio-page #nstudioBokashiBlurWidth{width:100%!important;accent-color:var(--nstudio-bokashi-accent,#315f8c)!important;margin:8px 0 2px!important}
.nstudio-page #nstudioBokashiRatioPresets,.nstudio-page #nstudioBokashiBlurWidthPresets{display:none!important}
.nstudio-page .nstudio-bokashi-options{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}


/* ぼかしスライダー: トラックは常に見えるグレー、つまみは選択中のもう一方の色 */
.nstudio-page #nstudioBokashiRatio,
.nstudio-page #nstudioBokashiBlurWidth{
  appearance:none!important;-webkit-appearance:none!important;
  width:100%!important;height:20px!important;background:transparent!important;
  accent-color:var(--nstudio-bokashi-accent,#315f8c)!important;
}
.nstudio-page #nstudioBokashiRatio::-webkit-slider-runnable-track,
.nstudio-page #nstudioBokashiBlurWidth::-webkit-slider-runnable-track{
  height:6px!important;border-radius:999px!important;background:#cfd5d2!important;border:0!important;
}
.nstudio-page #nstudioBokashiRatio::-webkit-slider-thumb,
.nstudio-page #nstudioBokashiBlurWidth::-webkit-slider-thumb{
  -webkit-appearance:none!important;appearance:none!important;width:18px!important;height:18px!important;
  margin-top:-6px!important;border-radius:50%!important;border:2px solid #fff!important;
  background:var(--nstudio-bokashi-accent,#315f8c)!important;box-shadow:0 0 0 1px rgba(40,55,50,.18)!important;
}
.nstudio-page #nstudioBokashiRatio::-moz-range-track,
.nstudio-page #nstudioBokashiBlurWidth::-moz-range-track{
  height:6px!important;border-radius:999px!important;background:#cfd5d2!important;border:0!important;
}
.nstudio-page #nstudioBokashiRatio::-moz-range-thumb,
.nstudio-page #nstudioBokashiBlurWidth::-moz-range-thumb{
  width:18px!important;height:18px!important;border-radius:50%!important;border:2px solid #fff!important;
  background:var(--nstudio-bokashi-accent,#315f8c)!important;box-shadow:0 0 0 1px rgba(40,55,50,.18)!important;
}

/* ---- original style block boundary ---- */

        /* 完成イメージは確認専用。編集系アクションは隠す */
        .nstudio-page.is-preview-mode .nstudio-editor-history-actions { display:none !important; }
        

/* ---- original style block boundary ---- */

.preview-background-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin:0 0 14px;
}
.preview-background-modes {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.preview-background-modes .action-btn.is-active {
  background:#222;
  color:#fff;
  border-color:#222;
}
.preview-solid-bg-picker {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  color:#555;
}
.preview-solid-bg-picker input[type=color] {
  width:42px;
  height:32px;
  border:1px solid #ccc;
  border-radius:6px;
  padding:2px;
  background:#fff;
  cursor:pointer;
}

.preview-submode-bar {
  margin:0 0 14px;
  padding:11px 12px 12px;
  border:1px solid #bdd5e4;
  border-radius:10px;
  background:#eef7fc;
  box-shadow:0 1px 4px rgba(47,91,118,.08);
}
.preview-submode-title {
  display:flex;
  align-items:center;
  gap:6px;
  margin-bottom:9px;
  color:#315f7a;
  font-size:13px;
  font-weight:800;
}
.preview-submode-bar .preview-background-toolbar {
  margin:0;
}
.preview-submode-bar .preview-background-modes .action-btn {
  border-color:#9ebfd2 !important;
  background:#fff !important;
  color:#315f7a !important;
  font-weight:700 !important;
}
.preview-submode-bar .preview-background-modes .action-btn:hover {
  background:#e2f0f8 !important;
}
.preview-submode-bar .preview-background-modes .action-btn.is-active {
  border-color:#3f7898 !important;
  background:#4d87a8 !important;
  color:#fff !important;
}
.nstudio-editor-history-actions .nstudio-export-dropdown {
  position:relative;
  overflow:visible;
}
.nstudio-editor-history-actions .nstudio-export-dropdown > summary.action-btn {
  display:inline-flex;
  align-items:center;
  gap:5px;
  list-style:none;
  cursor:pointer;
}
.nstudio-editor-history-actions .nstudio-export-dropdown > summary.action-btn::-webkit-details-marker { display:none; }
.nstudio-editor-history-actions .nstudio-export-dropdown > summary.action-btn::after {
  content:"▼";
  margin-left:3px;
  font-size:9px;
  opacity:.65;
}
.nstudio-editor-history-actions .nstudio-export-dropdown > .editor-file-menu {
  position:absolute;
  left:0;
  right:auto;
  top:calc(100% + 6px);
  bottom:auto;
  z-index:10000;
  min-width:210px;
}
@media (max-width:700px) {
  .preview-submode-bar .preview-background-toolbar { align-items:flex-start; }
  .preview-submode-bar .preview-solid-bg-picker { width:100%; }
  .nstudio-editor-history-actions .nstudio-export-dropdown > .editor-file-menu { left:auto; right:0; }
}

/* 位置固定 & ドラッグしやすい見た目 */
#ctrls-box{
position: absolute;
top: 500px;
left: 300px;
background: #eee;
padding: 8px;
padding-bottom:20px;
border-radius: 6px;
box-shadow: 0 2px 6px rgba(0,0,0,0.2);
cursor: move;
z-index: 999;
display:none;
opacity:0.95;
min-width:180px;
}

#ctrls-box button {
margin: 3px;
font-size: 14px;
}
#ctrls-box button:hover {
background: #ccc;
opacity: 0.8;
}

.smbtnbox button {
cursor: pointer;
}

#bgstagebox {
max-width:none;
width:100%;
margin:0 auto 30px;
display:none;
}
#bgstage { width:100%; }
#previewBgShell {
height:auto;
min-height:0;
overflow:visible;
border:0;
background:transparent !important;
}

.bgbtnbox {
  margin-top:15px;
  margin-bottom:20px;
}

.bgbtnbox label {
display: inline-block;
width: 47%;
  margin-right: 5px;
  padding-top: 16px;
  padding-bottom: 16px;
  font-size: 12pt;
}

.bgbtnbox label:hover {
cursor: pointer;
}
.bgdesc {
color: #666;
  font-size:14px;
  margin-bottom:20px;
}

#maguchiHost {
max-width:800px;
margin: 0 auto;
margin-bottom:50px;
}

#ctrls-box{
touch-action: none;
}

#ctrls-box{
position: absolute;
z-index: 9999;
touch-action: none;
-webkit-user-select: none;
user-select: none;
}
#ctrls-box button{
touch-action: none;
}

.bg-upload, .bgpopup{
display: block;
padding: 12px;
  margin-bottom: 10px;
background: #666;
color: #fff;
  text-align: center;
  border-radius: 6px;
  font-size: 14px;
}
.bg-upload input {
display: none;
}

.mode-switch {
display: flex;
gap: 6px;
margin: 0;
  margin-bottom:15px;
}

#ctrls-box .mode-btn {
flex: 1;
padding: 10px 10px;
font-size: 16px;
border-radius: 0px;
border: 0px solid #666;
background: none;
color: #333;
font-weight: normal;
touch-action: manipulation;
border-bottom: 2px solid #ccc;
}

#ctrls-box .mode-btn:not(:disabled):active {
}

#ctrls-box .mode-btn.active {
color: #000;
border-color: #cc6633;
font-weight: bold;
}

#ctrls-box .mode-btn:disabled {
opacity: 1;
cursor: default;
}

#ctrls-box button:hover, #ctrls-box label:hover {
cursor:pointer;
}

#ctrls-box.collapsed #noren-controls,
#ctrls-box.collapsed #bg-controls,
#ctrls-box.collapsed .bgimgbox,
#ctrls-box.collapsed .mode-switch
{
display: none !important;
}

#ctrls-box.collapsed #ctrls-handle {
}
#ctrls-box.collapsed .mode-switch {
}

#ctrls-box.collapsed {
padding-bottom: 0px;
}

#noren-controls, #bg-controls {
line-height:1;
}

#ctrls-box .icon {
pointer-events: none;
}

.bgimgbox {
  margin-top:20px;
}

@media screen and (max-width: 770px) {
#ctrls-box {
padding:0;
}
#ctrls-handle {
margin:0;
}
.bg-upload, .bgpopup {
margin:5px;
}
#ctrls-box.collapsed #ctrls-handle {
border: 1px solid #000;
}
}

#ctrls-handle {
display: flex;
align-items: center;
justify-content: space-between;
padding: 8px 10px;
margin-bottom: 0px;
background: linear-gradient(#f7f7f7, #ededed);
border-bottom: 1px solid #ccc;
font-size: 14px;
font-weight: 600;
color: #333;
cursor: grab;
user-select: none;
}

#ctrls-handle:active {
cursor: grabbing;
}

#ctrls-toggle.panel-toggle {
display: flex;
align-items: center;
gap: 4px;
padding: 6px 12px;
background: #fff;
border: 1px solid #bbb;
border-radius: 6px;
font-size: 12px;
font-weight: 500;
color: #333;
cursor: pointer;
}

#ctrls-toggle.panel-toggle:active {
background: #e6e6e6;
}

#ctrls-toggle .icon {
pointer-events: none;
}

@media (max-width: 768px) {
#ctrls-toggle .toggle-text {
}
}
        

/* ---- original style block boundary ---- */

/* ===== NStudio UI overrides ===== */

.nstudio-page { background: #fff; color: #252a2c; padding-bottom: 36px; }
.nstudio-page .wrap { max-width: 1220px; }

.nstudio-mode-heading { margin: 0 0 14px; text-align: center; }
.nstudio-mode-title { color: #49382b; font-size: clamp(22px, 2.8vw, 32px); font-weight: 900; line-height: 1.1; letter-spacing: .055em; }
.nstudio-mode-tagline { margin-top: 5px; color: #76685d; font-size: 14px; font-weight: 600; }

.nstudio-page #nstudio-editor { padding-top: 24px; }
.nstudio-page .product-type-top { max-width: none !important; margin-bottom: 18px !important; padding: 18px !important; border: 1px solid #d9e3e0 !important; border-radius: 14px !important; background: #fff !important; box-shadow: 0 4px 16px rgba(33,52,48,.04) !important; }
.nstudio-page .nstudio-type-grid { max-width: none !important; grid-template-columns: repeat(3, 1fr) !important; }
.nstudio-page .product-type-top .option span { display: flex !important; align-items: center; justify-content: center; gap: 6px; min-height: 48px; border-color: #d7dfdd !important; border-radius: 10px !important; background: #fff !important; font-weight: 700; }
.nstudio-page .product-type-top .option input:checked + span { border-color: #4f7b71 !important; background: #edf4f2 !important; color: #285148 !important; box-shadow: inset 0 0 0 1px #4f7b71; }


.nstudio-page .nstudio-product-name { color: #263633; font-size: 15px; white-space: normal; word-break: break-word; }

.nstudio-page .order-layout > aside.panel { border: 1px solid #dbe4e1 !important; background: #fff !important; box-shadow: 0 5px 18px rgba(30,50,45,.04) !important; }
.nstudio-page .preview-panel { border: 1px solid #dbe3e9 !important; background: #fff !important; box-shadow: 0 5px 18px rgba(38,55,70,.045) !important; }
.nstudio-page .sidebar-spec-title { color: #315a50 !important; }

/* 左仕様欄は既存 h3 スタイルから完全に切り離す */
.nstudio-page .form-block .spec-block-title { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0 0 10px; padding: 0; background: none; font-size: 14px; font-weight: 800; line-height: 1.5; }
.nstudio-page .spec-field-size .spec-block-title { color: #315d53; }
.nstudio-page .spec-field-sewing .spec-block-title { color: #665333; }
.nstudio-page .spec-field-split .spec-block-title { color: #4a5d78; }
.nstudio-page .spec-block-title .spec-guide-link { margin-left: auto; }
.nstudio-page .nstudio-size-block .spec-block-title i,
.nstudio-page .preview-head h3 i { margin-right: 4px !important; }

.nstudio-page .custom-size-panel { display: grid !important; gap: 10px; padding: 12px; border: 1px solid #dfe8e5; border-radius: 12px; background: #f8fbfa; }
.nstudio-page .custom-size-note,
.nstudio-page .nstudio-field-note { grid-column: 1 / -1; margin: 5px 0 0; color: #7b8582; font-size: 11px; line-height: 1.5; }
.nstudio-page #norenSplitSelect { min-width: 0; padding: 10px 8px !important; background-image: none !important; text-align: center !important; appearance: auto !important; -webkit-appearance: auto !important; }

.nstudio-page .image-size-label-row,
.nstudio-page .nstudio-spec-title-with-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.nstudio-page .nstudio-piece-split-toggle {
  display: none;
  align-items: center;
  gap: 5px;
  margin-left: auto;
  font-size: 12px;
  font-weight: 500;
  color: #666;
  cursor: pointer;
  white-space: nowrap;
}
.nstudio-page .nstudio-piece-split-toggle.is-available { display: inline-flex; }
.nstudio-page .nstudio-piece-split-toggle input { margin: 0; }
.nstudio-page .nstudio-piece-inputs {
  display: none;
  grid-template-columns: 1fr;
  gap: 7px;
  margin-top: 8px;
}
.nstudio-page .nstudio-piece-inputs.is-active { display: grid; }
.nstudio-page .nstudio-piece-input-row {
  display: grid;
  grid-template-columns: minmax(48px, auto) minmax(0, 1fr);
  align-items: center;
  gap: 8px;
}
.nstudio-page .nstudio-piece-input-row > span:first-child {
  font-size: 12px;
  color: #666;
  white-space: nowrap;
}
.nstudio-page .nstudio-piece-input-row .image-size-input-wrap { width: 100%; }
.nstudio-page .nstudio-piece-input-row input[type="number"] { width: 100%; min-width: 0; }
.nstudio-page .image-size-field.is-piece-split > .image-size-input-wrap { display: none; }
.nstudio-page .spec-field-base-color.is-piece-split .nstudio-base-color-controls { display: none; }
.nstudio-page .nstudio-piece-color-row {
  grid-template-columns: minmax(48px, auto) 46px minmax(82px, 1fr);
}
.nstudio-page .nstudio-piece-color-row input[type="color"] {
  width: 42px;
  height: 34px;
  padding: 2px;
  border: 1px solid #d7d7d7;
  border-radius: 5px;
  background: #fff;
}
.nstudio-page .nstudio-piece-color-value {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px;
  color: #555;
}
.nstudio-page .nstudio-summary { border-color: #e0e6e4 !important; background: #f8faf9 !important; }
.nstudio-page .nstudio-summary-title { margin-bottom: 8px; color: #4d625d; font-size: 13px; font-weight: 800; }
.nstudio-page .summary dt,
.nstudio-page .summary dd { font-size: 12px !important; }

.nstudio-page .preview-head { padding-bottom: 10px; }
.nstudio-page .preview-head h3 { color: #395b70 !important; }
.nstudio-page .editor-mode-switch { border-color: #dae4ea !important; background: #eef3f6 !important; }
.nstudio-page .editor-mode-switch .mode-btn.is-active { background: #fff !important; color: #365d75 !important; box-shadow: 0 1px 4px rgba(42,69,86,.12) !important; }
.nstudio-page .main-upload-prominent { border-color: #557d96 !important; background: #557d96 !important; }
.nstudio-page .main-upload-prominent:hover { border-color: #496f87 !important; background: #496f87 !important; }

/* 機能ごとの淡い色分け。上線アクセントは使わない */
.nstudio-page .image-size-panel { padding: 14px !important; border: 1px solid #dce7ec !important; border-radius: 10px !important; background: #f8fbfc !important; }

.nstudio-page .preview-display-shell { background: #f8fafb !important; }
.nstudio-page .action-btn,
.nstudio-page .icon-tool { border-radius: 8px !important; }

.nstudio-page.is-nstudio-embed { padding: 0; background: #fff; }
.nstudio-page.is-nstudio-embed #nstudio-editor { padding: 0 !important; }
.nstudio-page.is-nstudio-embed #nstudio-editor > .wrap { max-width: none !important; padding: 0 !important; }
.nstudio-page.is-nstudio-embed .product-type-top { margin: 0 0 12px !important; border-radius: 10px !important; }
.nstudio-page.is-nstudio-embed .order-layout { gap: 14px !important; }

@media (max-width: 760px) {
  .nstudio-page .nstudio-type-grid { grid-template-columns: 1fr !important; }
  
}

/* ---- original style block boundary ---- */

/* ===== NUNO STUDIO: visual hierarchy only. Canvas/editor geometry is intentionally untouched. ===== */
.nstudio-page .nstudio-internal-spec{display:none!important}

/* studio heading */
.nstudio-page .product-type-top{
  border:1px solid #e4d7c5!important;
  border-radius:14px!important;
  background:#fffdf9!important;
  padding:14px 16px 16px!important;
}
.nstudio-page .nstudio-mode-heading{
  margin:0 0 14px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  text-align:center!important;
}
.nstudio-page .nstudio-mode-mascot{display:block;width:78px;height:auto;max-height:88px;object-fit:contain;margin:0 auto 5px}
.nstudio-page .nstudio-mode-title{color:#493a2f!important;font-weight:900!important}
.nstudio-page .nstudio-mode-tagline{color:#756456!important}


/* save/share is a separate strip under templates */

/* specification heading: green identity */
.nstudio-page .sidebar-spec-title{
  margin-bottom:14px!important;
  padding:11px 13px!important;
  border:0!important;
  border-radius:9px!important;
  background:#e7f1ed!important;
  color:#31584f!important;
  text-align:left!important;
  font-size:16px!important;
  font-weight:900!important;
}
.nstudio-page .order-layout>aside.panel .form-block{border-top:0!important}
.nstudio-page .form-block .spec-block-title{
  display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:6px!important;
  margin:0 0 8px!important;padding:7px 9px!important;
  border:0!important;border-radius:7px!important;
  background:#f5f0e7!important;color:#443d35!important;
  text-align:left!important;font-weight:800!important;
}
.nstudio-page .spec-block-title .spec-guide-link{margin-left:auto!important}
.nstudio-page .nstudio-base-color-controls{justify-content:flex-start!important;text-align:left!important}

/* summary has its own block */
.nstudio-page .nstudio-summary{border:1px solid #cdded7!important;border-radius:10px!important;background:#fbfdfc!important;padding:0 11px 11px!important;overflow:hidden}
.nstudio-page .nstudio-summary-title{margin:0 -11px 10px!important;padding:8px 10px!important;background:#edf4f1!important;color:#34594f!important;font-weight:900!important}
.nstudio-page .nstudio-summary .inline-mockup-preview{border-top:0!important;margin-top:10px!important;padding-top:6px!important}
.nstudio-page .nstudio-summary .inline-mockup-preview-head{background:#f5f0e7!important;border-radius:6px!important;padding:6px 8px!important;text-align:left!important;justify-content:flex-start!important}

/* editor/preview heading: blue identity. Do not modify preview-panel/canvas geometry. */
.nstudio-page .preview-head{
  margin-bottom:14px!important;padding:11px 13px!important;
  border:0!important;border-radius:9px!important;
  background:#e8f0f6!important;
}
.nstudio-page .preview-head h3{margin:0!important;color:#31546d!important;font-size:17px!important;font-weight:900!important}


/* PCに保存・開く: popup immediately under its own button */


@media(max-width:760px){
  .nstudio-page .product-type-top{padding-left:12px!important;padding-right:12px!important}
  .nstudio-page .nstudio-mode-heading{margin-left:0!important;margin-right:0!important}
  .nstudio-page .nstudio-mode-mascot{width:68px;max-height:78px}
  
}

/* ===== 埋め込みモード: 右カラムのデザイン編集だけを表示 ===== */
.nstudio-page.is-nstudio-embed .product-type-top,
.nstudio-page.is-nstudio-embed .nstudio-save-hub,
.nstudio-page.is-nstudio-embed .order-layout > aside.panel{display:none!important}
.nstudio-page.is-nstudio-embed .order-layout{display:block!important;margin:0!important}
.nstudio-page.is-nstudio-embed .preview-panel{display:block!important;width:100%!important;max-width:none!important;margin:0!important}
.nstudio-page.is-nstudio-embed #nstudio-editor{margin:0!important;padding:0!important}
.nstudio-page.is-nstudio-embed #nstudio-editor>.wrap{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.nstudio-page.is-nstudio-embed main{margin:0!important;padding:0!important}

/* ---- original style block boundary ---- */

.nstudio-page .nstudio-asset-source-shell {
  margin-top: 16px;
  border: 1px solid #dfe6ea;
  border-radius: 12px;
  background: #f9fbfc;
  overflow: hidden;
}
.nstudio-page #editModePanel>.nstudio-asset-source-shell{display:none!important;}
.nstudio-page #nstudioKamonDrawerMount>#nstudioRightKamonPanelMount{display:block!important;padding:0!important;}
.nstudio-page #nstudioAddDrawerMount>.nstudio-asset-source-shell,
.nstudio-page #nstudioRightMaterialPanelMount>.nstudio-asset-source-shell{display:block!important;}
.nstudio-page .nstudio-asset-source-tabs {
  display: flex;
  gap: 9px;
  flex-wrap: nowrap;
  overflow-x: auto;
  padding: 13px 12px;
  background: #eef4f7;
  border-bottom: 1px solid #d9e3e8;
  scrollbar-width: thin;
}
.nstudio-page .nstudio-asset-source-tab {
  flex: 0 0 auto;
  appearance: none;
  border: 1px solid #c8d5dc;
  border-radius: 999px;
  background: #fff;
  color: #3b5565;
  min-height: 40px;
  padding: 10px 17px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
  transition: .18s ease;
  white-space: nowrap;
}
.nstudio-page .nstudio-asset-source-tab:hover {
  border-color: #96aebb;
  background: #f7fafb;
}
.nstudio-page .nstudio-asset-source-tab.is-active {
  border-color: #173f50!important;
  background: #173f50!important;
  color: #fff!important;
  box-shadow: 0 2px 8px rgba(23,63,80,.28)!important;
}
.nstudio-page .nstudio-asset-source-panel {
  display: none;
  padding: 14px;
}
.nstudio-page .nstudio-asset-source-panel.is-active {
  display: block;
}
.nstudio-page .nstudio-asset-upload-panel {
  display: grid;
  gap: 12px;
}
.nstudio-page .nstudio-asset-upload-dropzone {
  border: 2px dashed #b9cad3;
  border-radius: 12px;
  background: #fff;
  padding: 20px 18px;
  text-align: center;
  cursor: pointer;
  transition: .18s ease;
}
.nstudio-page .nstudio-asset-upload-dropzone:hover,
.nstudio-page .nstudio-asset-upload-dropzone.is-dragover {
  border-color: #557d96;
  background: #f6fafc;
}
.nstudio-page .nstudio-asset-upload-icon {
  font-size: 28px;
  line-height: 1;
  color: #557d96;
  margin-bottom: 10px;
}
.nstudio-page .nstudio-asset-upload-title {
  font-size: 16px;
  font-weight: 800;
  color: #355267;
  margin-bottom: 4px;
}
.nstudio-page .nstudio-asset-upload-copy,
.nstudio-page .nstudio-asset-upload-note {
  font-size: 12px;
  color: #5e707b;
}
.nstudio-page .nstudio-asset-upload-dropzone .main-upload {
  margin: 14px auto 10px;
}
.nstudio-page .nstudio-asset-upload-actions {
  margin-top: 0;
}
.nstudio-page .nstudio-material-source {
  display: grid;
  gap: 12px;
}
.nstudio-page .nstudio-material-head {
  display: grid;
  gap: 4px;
}
.nstudio-page .nstudio-material-head strong {
  color: #4c453f;
  font-size: 15px;
}
.nstudio-page .nstudio-material-head span {
  color: #64727c;
  font-size: 12px;
}
.nstudio-page .nstudio-material-category-tabs {
  display: flex;
  gap: 8px;
  flex-wrap: nowrap;
  overflow-x: auto;
  padding-bottom: 2px;
  scrollbar-width: thin;
}
.nstudio-page .nstudio-material-category-tab {
  flex: 0 0 auto;
  border: 1px solid #d4dde2;
  border-radius: 999px;
  background: #fff;
  color: #495b64;
  padding: 7px 12px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}
.nstudio-page .nstudio-material-category-tab.is-active {
  border-color: #315e52!important;
  background: #315e52!important;
  color: #fff!important;
  box-shadow: 0 2px 7px rgba(49,94,82,.22)!important;
}
.nstudio-page .nstudio-material-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(132px, 1fr));
  gap: 12px;
}
.nstudio-page .nstudio-material-card {
  display: grid;
  gap: 8px;
  align-content: start;
  border: 1px solid #dde5e9;
  border-radius: 10px;
  background: #fff;
  padding: 10px;
  text-align: left;
  cursor: pointer;
  transition: .18s ease;
}
.nstudio-page .nstudio-material-card:hover {
  border-color: #8aa4b4;
  box-shadow: 0 4px 12px rgba(56,80,97,.10);
  transform: translateY(-1px);
}
.nstudio-page .nstudio-material-thumb {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 92px;
  border-radius: 8px;
  background: linear-gradient(180deg, #fafcfd 0%, #f3f7f9 100%);
  overflow: hidden;
}
.nstudio-page .nstudio-material-thumb img {
  display: block;
  max-width: 100%;
  max-height: 88px;
  width: auto;
  height: auto;
  object-fit: contain;
}
.nstudio-page .nstudio-material-meta {
  display: grid;
  gap: 3px;
}
.nstudio-page .nstudio-material-name {
  font-size: 12px;
  font-weight: 700;
  color: #3e4f58;
  word-break: break-all;
}
.nstudio-page .nstudio-material-file {
  font-size: 11px;
  color: #7a8891;
  word-break: break-all;
}
.nstudio-page .nstudio-material-empty {
  display: none;
  padding: 16px;
  border: 1px dashed #d2dbe0;
  border-radius: 10px;
  background: #fff;
  color: #74848d;
  font-size: 13px;
  text-align: center;
}

.nstudio-page .nstudio-monyou-controls {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
  padding: 12px;
  border: 1px solid #e1e8ec;
  border-radius: 10px;
  background: #fff;
}
.nstudio-page .nstudio-monyou-field {
  display: grid;
  gap: 6px;
}
.nstudio-page .nstudio-monyou-field > span {
  font-size: 12px;
  font-weight: 700;
  color: #475b64;
}
.nstudio-page .nstudio-monyou-field input,
.nstudio-page .nstudio-monyou-field select {
  width: 100%;
  min-height: 36px;
  border: 1px solid #cfdce2;
  border-radius: 8px;
  padding: 7px 10px;
  background: #fff;
  color: #33454d;
  font-size: 13px;
}
.nstudio-page .nstudio-monyou-input-wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}
.nstudio-page .nstudio-monyou-input-wrap em {
  font-size: 11px;
  color: #6a7a83;
  font-style: normal;
  white-space: nowrap;
}
.nstudio-page .nstudio-monyou-edit-panel {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #d7e3e8;
}
.nstudio-page .nstudio-monyou-edit-panel.is-hidden { display: none; }
.nstudio-page .nstudio-monyou-controls--edit {
  margin-top: 10px;
}
.nstudio-page .nstudio-monyou-color-panel {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid #e1e8ec;
}

.nstudio-page .nstudio-monyou-piece-options,
.nstudio-page .nstudio-monyou-detail-grid,
.nstudio-page .nstudio-monyou-custom-area-grid {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
}
.nstudio-page .nstudio-monyou-piece-options {
  padding: 10px;
  border-radius: 9px;
  background: #f7f9fa;
}
.nstudio-page .nstudio-monyou-custom-area {
  grid-column: 1 / -1;
  padding: 10px;
  border: 1px dashed #d7e1e6;
  border-radius: 9px;
  background: #fbfcfc;
}
.nstudio-page .nstudio-monyou-subheading {
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 700;
  color: #475b64;
}
.nstudio-page .nstudio-monyou-advanced {
  grid-column: 1 / -1;
  padding: 0;
  border: 0;
}
.nstudio-page .nstudio-monyou-advanced > summary {
  cursor: pointer;
  color: #526770;
  font-size: 12px;
  font-weight: 700;
}
.nstudio-page .nstudio-monyou-advanced[open] > summary { margin-bottom: 10px; }
.nstudio-page .nstudio-monyou-controls--edit .nstudio-monyou-detail-grid { margin-top: 2px; }
.nstudio-page .nstudio-monyou-position-row{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-end;width:100%;min-width:0}.nstudio-page .nstudio-monyou-field--position{flex:1 1 180px;min-width:180px;max-width:100%}.nstudio-page .nstudio-monyou-field--position select{width:100%!important;min-width:180px!important;max-width:100%!important}.nstudio-page .nstudio-monyou-position-row>.nstudio-monyou-check{flex:0 0 auto;position:static!important;transform:none!important;z-index:auto!important}.nstudio-page .nstudio-monyou-field--position{margin:0}.nstudio-page .nstudio-monyou-check{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#415750;white-space:nowrap;padding:10px 0 2px}.nstudio-page .nstudio-monyou-check input{margin:0}.nstudio-page .nstudio-monyou-kind-panel.is-hidden{display:none!important}.nstudio-page .nstudio-kamon-pattern-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:4px 0 10px}.nstudio-page .nstudio-kamon-pattern-slot{appearance:none;border:1px solid #d6deda;background:#fff;border-radius:10px;padding:10px;text-align:left;display:flex;flex-direction:column;gap:4px;cursor:pointer}.nstudio-page .nstudio-kamon-pattern-slot.is-active{border-color:#7fa495;box-shadow:0 0 0 2px rgba(127,164,149,.18)}.nstudio-page .nstudio-kamon-pattern-slot strong{font-size:12px;color:#415750}.nstudio-page .nstudio-kamon-pattern-slot span{font-size:13px;color:#222}.nstudio-page .nstudio-kamon-pattern-actions{margin-top:12px}.nstudio-page .nstudio-kamon-pattern-search{display:grid;gap:12px}.nstudio-page .nstudio-kamon-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.nstudio-page .nstudio-kamon-search-input{min-width:0}.nstudio-page .nstudio-kamon-status.is-error{color:#c24545}.nstudio-page .nstudio-kamon-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.nstudio-page .nstudio-kamon-card{border:1px solid #e0e6e3;background:#fff;border-radius:10px;padding:8px;display:grid;gap:6px;cursor:pointer}.nstudio-page .nstudio-kamon-name{text-align:center;font-size:12px;color:#333}.nstudio-page .nstudio-kamon-thumb{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#f6f7f7;padding:8px}.nstudio-page .nstudio-kamon-thumb img{max-width:100%;max-height:100%}.nstudio-page .nstudio-kamon-preset-list{display:flex;flex-wrap:wrap;gap:6px}.nstudio-page .nstudio-kamon-preset,.nstudio-page .nstudio-kamon-preset-more,.nstudio-page .nstudio-kamon-result-more{appearance:none;border:1px solid #d8dfdb;background:#fff;border-radius:999px;padding:6px 10px;font-size:12px;cursor:pointer}.nstudio-page .nstudio-kamon-results{display:grid;gap:10px}.nstudio-page .nstudio-kamon-results-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.nstudio-page .nstudio-kamon-empty{font-size:12px;color:#6a7570}.nstudio-page .nstudio-kamon-result-more[hidden],.nstudio-page .nstudio-kamon-empty[hidden]{display:none!important}@media (max-width:640px){.nstudio-page .nstudio-monyou-position-row{display:flex;flex-direction:column;align-items:stretch}.nstudio-page .nstudio-monyou-field--position{width:100%;min-width:0}.nstudio-page .nstudio-monyou-field--position select{min-width:0!important}.nstudio-page .nstudio-monyou-position-row>.nstudio-monyou-check{padding:2px 0}.nstudio-page .nstudio-kamon-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.nstudio-page .nstudio-background-feature-card--cloth .nstudio-base-color-controls{grid-template-columns:48px minmax(0,1fr) auto!important}.nstudio-page .nstudio-background-feature-card--cloth .nstudio-base-color-picker{width:48px!important;height:42px!important}.nstudio-page .nstudio-background-feature-card--cloth .nstudio-field-note{display:none!important}.nstudio-page .nstudio-background-feature-card--cloth .nstudio-base-color-title-actions{margin:10px 0 0!important;justify-content:flex-start!important}.nstudio-page .nstudio-background-feature-card--cloth .nstudio-piece-split-toggle.is-available{display:inline-flex!important}.nstudio-page .nstudio-monyou-settings-shell{display:grid;gap:14px}.nstudio-page .nstudio-monyou-color-panel--inline{order:2}.nstudio-page .nstudio-kamon-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}.nstudio-page #nstudioPatternPickerDrawer .nstudio-kamon-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}.nstudio-page .nstudio-svg-color-input{user-select:none;-webkit-user-select:none}.nstudio-page .nstudio-svg-color-input input[type="color"]{appearance:auto;-webkit-appearance:auto}.nstudio-page .nstudio-background-option-section.nstudio-background-surface-section.is-open{display:block!important}
/* compact surface color */
.nstudio-page .nstudio-background-feature-card--cloth .nstudio-background-feature-copy small{display:none!important}
.nstudio-page .nstudio-background-feature-card--cloth .spec-block-title{display:flex!important}
.nstudio-page .nstudio-background-feature-card--cloth .nstudio-base-color-controls{display:grid!important;grid-template-columns:44px 74px minmax(0,1fr)!important;align-items:center!important;gap:8px!important;margin:0!important;width:100%!important;min-width:0!important}
.nstudio-page .nstudio-background-feature-card--cloth .nstudio-base-color-value{display:block!important;min-width:0!important;font-size:11px!important;font-weight:700!important;line-height:1!important;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important}
.nstudio-page .nstudio-background-feature-card--cloth .nstudio-base-color-reset{display:none!important}
.nstudio-page .nstudio-background-feature-card--cloth .nstudio-base-color-picker{width:44px!important;height:36px!important}
.nstudio-page .nstudio-background-feature-card--cloth .nstudio-quick-color-split{justify-self:end!important;margin:0!important;padding:5px 7px!important;white-space:nowrap!important;align-items:center!important;gap:5px!important}
.nstudio-page .nstudio-background-feature-card--cloth .nstudio-piece-color-inputs{margin-top:8px!important}
.nstudio-page .nstudio-background-feature-card--cloth .nstudio-background-surface-section{padding-top:8px!important}
.nstudio-page .nstudio-background-feature-card--cloth .spec-field-base-color{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;column-gap:10px!important;row-gap:8px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.nstudio-page .nstudio-background-feature-card--cloth .spec-field-base-color>.nstudio-base-color-controls{order:1!important;display:grid!important;grid-template-columns:44px 76px!important;align-items:center!important;gap:8px!important;width:auto!important;min-width:0!important;margin:0!important}
.nstudio-page .nstudio-background-feature-card--cloth .spec-field-base-color>.spec-block-title{order:2!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.nstudio-page .nstudio-background-feature-card--cloth .spec-field-base-color>.spec-block-title>span:first-child{display:block!important;flex:0 0 0!important;width:0!important;min-width:0!important;margin:0!important;padding:0!important;overflow:hidden!important}
.nstudio-page .nstudio-background-feature-card--cloth .spec-field-base-color .nstudio-base-color-title-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;margin:0!important;padding:0!important;gap:0!important}
.nstudio-page .nstudio-background-feature-card--cloth .spec-field-base-color .nstudio-quick-color-split{display:none!important;justify-self:auto!important;margin:0!important;padding:5px 8px!important;border:1px solid #d7e2de!important;border-radius:7px!important;background:#fff!important;font-size:11px!important;line-height:1.2!important;color:#4f625c!important}
.nstudio-page .nstudio-background-feature-card--cloth .spec-field-base-color .nstudio-quick-color-split.is-available{display:inline-flex!important}
.nstudio-page .nstudio-background-feature-card--cloth .spec-field-base-color>.nstudio-piece-color-inputs{order:3!important;grid-column:1/-1!important;margin-top:0!important}
.nstudio-page .nstudio-background-feature-card--cloth .spec-field-base-color.is-piece-split>.nstudio-base-color-controls{display:none!important}
.nstudio-page .nstudio-background-feature-card--cloth .spec-field-base-color.is-piece-split>.spec-block-title{grid-column:1/-1!important;justify-content:flex-start!important}

/* pattern control order */
.nstudio-page .nstudio-monyou-controls[data-monyou-control-mode="tab"]{display:flex!important;flex-direction:column!important;gap:10px!important}
.nstudio-page .nstudio-monyou-controls[data-monyou-control-mode="tab"]>.nstudio-monyou-field,
.nstudio-page .nstudio-monyou-controls[data-monyou-control-mode="tab"]>.nstudio-monyou-position-row,
.nstudio-page .nstudio-monyou-controls[data-monyou-control-mode="tab"]>.nstudio-monyou-piece-options,
.nstudio-page .nstudio-monyou-controls[data-monyou-control-mode="tab"]>.nstudio-monyou-advanced,
.nstudio-page .nstudio-monyou-controls[data-monyou-control-mode="tab"]>.nstudio-pattern-selection-card,
.nstudio-page .nstudio-monyou-controls[data-monyou-control-mode="tab"]>.nstudio-kamon-pattern-slots,
.nstudio-page .nstudio-monyou-controls[data-monyou-control-mode="tab"]>.nstudio-monyou-color-panel{width:100%!important;box-sizing:border-box!important}
.nstudio-page .nstudio-monyou-color-panel--inline{order:0!important;margin:0!important;padding:6px 0!important;border-top:0!important;border-bottom:1px solid #e7ebe9!important;display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important}
.nstudio-page .nstudio-monyou-color-panel--inline .nstudio-image-adjust-heading{flex:0 0 auto!important;margin:0!important;font-size:11px!important;font-weight:700!important;line-height:36px!important}
.nstudio-page .nstudio-monyou-color-panel--inline .nstudio-image-adjust-note{display:none!important}
.nstudio-page .nstudio-monyou-color-panel--inline .nstudio-svg-color-grid{flex:1 1 auto!important;min-width:0!important;margin:0!important}
.nstudio-page .nstudio-monyou-color-panel--inline .nstudio-svg-color-compact{margin:0!important}
.nstudio-page .nstudio-monyou-color-panel--inline .nstudio-svg-color-input{display:flex!important;width:100%!important;align-items:center!important;gap:8px!important;padding:0!important;background:transparent!important}
.nstudio-page .nstudio-monyou-color-panel--inline .nstudio-svg-color-input input[type="color"]{flex:0 0 64px!important;width:64px!important;height:36px!important}
.nstudio-page .nstudio-monyou-color-panel--inline .nstudio-svg-color-input code{font-size:10px!important}
.nstudio-page .nstudio-kamon-pattern-slots--primary{margin:0!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
.nstudio-page .nstudio-kamon-pattern-slots--primary[hidden],
.nstudio-page .nstudio-pattern-selection-card[hidden],
.nstudio-page .nstudio-kamon-pair-field[hidden]{display:none!important}
.nstudio-page .nstudio-kamon-pair-field{margin-top:-2px!important}
@media (max-width:640px){.nstudio-page #nstudioPatternPickerDrawer .nstudio-kamon-grid,.nstudio-page .nstudio-kamon-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

.nstudio-page .nstudio-monyou-piece-options.is-hidden,
.nstudio-page .nstudio-monyou-custom-pieces.is-hidden,
.nstudio-page .nstudio-monyou-custom-area.is-hidden,
.nstudio-page .nstudio-monyou-field.is-hidden { display:none!important; }
@media (max-width:760px){
  .nstudio-page .nstudio-monyou-controls { grid-template-columns:1fr; padding:10px; }
  .nstudio-page .nstudio-monyou-piece-options,
  .nstudio-page .nstudio-monyou-detail-grid,
  .nstudio-page .nstudio-monyou-custom-area-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

.nstudio-page .nstudio-insert-dialog {
  position: fixed;
  inset: 0;
  z-index: 10000050;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(20, 28, 32, .42);
}
.nstudio-page .nstudio-insert-dialog.is-active { display: flex; }
.nstudio-page .nstudio-insert-dialog-box {
  width: min(440px, 100%);
  padding: 18px;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 14px 42px rgba(0,0,0,.18);
}
.nstudio-page .nstudio-insert-dialog-title {
  margin-bottom: 8px;
  font-size: 16px;
  font-weight: 700;
}
.nstudio-page .nstudio-insert-dialog-message {
  color: #59666d;
  font-size: 13px;
  line-height: 1.7;
}
.nstudio-page .nstudio-insert-dialog-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
  margin-top: 16px;
}
.nstudio-page .nstudio-insert-dialog-actions .action-btn {
  background: #fff !important;
  color: #333 !important;
}
@media (max-width: 760px) {
  .nstudio-page .nstudio-asset-source-panel { padding: 12px; }
  .nstudio-page .nstudio-material-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* kamon grid / compact responsive controls */
.nstudio-page .nstudio-monyou-position-row{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:7px!important;align-items:end!important}
.nstudio-page .nstudio-monyou-position-row .nstudio-monyou-field--position{min-width:0!important;width:100%!important;max-width:none!important}
.nstudio-page .nstudio-monyou-position-row .nstudio-monyou-field--position select{min-width:0!important;width:100%!important}
.nstudio-page .nstudio-monyou-check-row{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:5px 14px!important;min-width:0!important}
.nstudio-page .nstudio-monyou-check-row .nstudio-monyou-check{flex:0 0 auto!important;padding:1px 0!important}
.nstudio-page .nstudio-kamon-pattern-slots--primary{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
.nstudio-page .nstudio-kamon-pattern-slot-item{display:flex!important;flex-direction:column!important;align-items:stretch!important;min-width:0!important;gap:3px!important}
.nstudio-page .nstudio-kamon-pattern-slot-item .nstudio-kamon-pattern-slot{width:100%!important;min-width:0!important}
.nstudio-page .nstudio-kamon-pattern-clear{appearance:none!important;border:0!important;background:transparent!important;color:#8b5b55!important;text-decoration:underline!important;text-underline-offset:2px!important;font-size:10px!important;padding:1px 4px!important;align-self:flex-start!important;cursor:pointer!important}
.nstudio-page .nstudio-kamon-pattern-clear[hidden]{display:none!important}
.nstudio-page #nstudioPatternPickerDrawer .nstudio-kamon-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
.nstudio-page #nstudioPatternPickerDrawer .nstudio-kamon-card{padding:5px!important;gap:4px!important}
.nstudio-page #nstudioPatternPickerDrawer .nstudio-kamon-thumb{padding:5px!important}
.nstudio-page #nstudioPatternPickerDrawer .nstudio-kamon-name{font-size:10px!important;line-height:1.25!important;overflow-wrap:anywhere!important}
@media(max-width:420px){.nstudio-page #nstudioPatternPickerDrawer .nstudio-kamon-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:330px){.nstudio-page #nstudioPatternPickerDrawer .nstudio-kamon-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* ---- original style block boundary ---- */

.nstudio-page .nstudio-data-check{margin:16px 0 18px}
.nstudio-page .nstudio-data-check-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:7px 10px 7px 9px;border:1px solid #d8e4e0;border-radius:10px;background:#f7faf9;color:#304a43;font:inherit;cursor:pointer;text-align:left;transition:background .15s,border-color .15s,border-radius .15s}
.nstudio-page .nstudio-data-check-toggle:hover{background:#f1f7f5;border-color:#c5d8d2}
.nstudio-page .nstudio-data-check:not(.is-collapsed) .nstudio-data-check-toggle{border-radius:10px 10px 0 0;background:#f3f8f6;border-color:#cbdcd7}
.nstudio-page .nstudio-data-check-tab-main,.nstudio-page .nstudio-data-check-tab-side{display:flex;align-items:center;gap:8px;min-width:0}
.nstudio-page .nstudio-data-check-tab-label{font-size:12px;font-weight:700;white-space:nowrap}
.nstudio-page .nstudio-data-check-icon{display:flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:7px;background:#e8f2ef;color:#47786b;font-size:13px;flex:0 0 auto}
.nstudio-page .nstudio-data-check-summary{display:inline-flex;align-items:center;min-height:23px;padding:3px 8px;border-radius:999px;font-size:9px;font-weight:700;white-space:nowrap}
.nstudio-page .nstudio-data-check-summary.is-ok{background:#eaf5ef;color:#367157}
.nstudio-page .nstudio-data-check-summary.is-warn{background:#fff1df;color:#9a5d14}
.nstudio-page .nstudio-data-check-summary.is-info{background:#edf3f8;color:#4a687c}
.nstudio-page .nstudio-data-check-chevron{margin:0!important;color:#7a8883;transition:transform .15s}
.nstudio-page .nstudio-data-check:not(.is-collapsed) .nstudio-data-check-chevron{transform:rotate(180deg)}
.nstudio-page .nstudio-data-check-body{padding:14px 14px 12px;border:1px solid #cbdcd7;border-top:0;border-radius:0 0 10px 10px;background:#fbfcfc}
.nstudio-page .nstudio-data-check-body[hidden]{display:none!important}
.nstudio-page .nstudio-data-check-body-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px;color:#75827e;font-size:10px}
.nstudio-page .nstudio-data-check-refresh{display:inline-flex;align-items:center;gap:4px;min-height:27px;padding:4px 8px;border:1px solid #d8e1de;border-radius:7px;background:#fff;color:#64716d;font:inherit;font-size:10px;cursor:pointer;white-space:nowrap}
.nstudio-page .nstudio-data-check-list{display:grid;gap:7px}
.nstudio-page .nstudio-data-check-item{display:grid;grid-template-columns:22px minmax(100px,145px) minmax(0,1fr);align-items:start;gap:8px;padding:9px 10px;border-radius:9px;background:#fff}
.nstudio-page .nstudio-data-check-status{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:10px}
.nstudio-page .nstudio-data-check-item.is-ok .nstudio-data-check-status{background:#eaf5ef;color:#367157}
.nstudio-page .nstudio-data-check-item.is-warn .nstudio-data-check-status{background:#fff0dc;color:#a46316}
.nstudio-page .nstudio-data-check-item.is-info .nstudio-data-check-status{background:#edf3f8;color:#536f80}
.nstudio-page .nstudio-data-check-label{padding-top:3px;font-size:11px;font-weight:700;color:#42514d}
.nstudio-page .nstudio-data-check-message{padding-top:3px;font-size:11px;line-height:1.55;color:#697570;word-break:break-word}
.nstudio-page .nstudio-data-check-note{margin:10px 2px 0;font-size:9px;line-height:1.55;color:#929b98}
@media(max-width:620px){.nstudio-page .nstudio-data-check-body-head{align-items:flex-start}.nstudio-page .nstudio-data-check-item{grid-template-columns:22px minmax(0,1fr)}.nstudio-page .nstudio-data-check-message{grid-column:2}}

/* ---- original style block boundary ---- */

.nstudio-page .nstudio-base-color-title-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-left:auto}
.nstudio-page .nstudio-bokashi-toggle{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500;color:#666;cursor:pointer;white-space:nowrap}.nstudio-page .nstudio-bokashi-toggle input{margin:0}
.nstudio-page .nstudio-bokashi-settings{display:none;margin-top:12px;padding:12px;border:1px solid #dfe6e3;border-radius:11px;background:#f8faf9}.nstudio-page .nstudio-bokashi-settings.is-open{display:block}
.nstudio-page .nstudio-bokashi-section{padding:12px 0;border-top:1px solid #e2e7e5}.nstudio-page .nstudio-bokashi-section:first-of-type{padding-top:0;border-top:0}.nstudio-page .nstudio-bokashi-section:last-child{padding-bottom:0}
.nstudio-page .nstudio-bokashi-label{font-size:12px;font-weight:700;color:#44534f;margin-bottom:8px}.nstudio-page .nstudio-bokashi-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.nstudio-page .nstudio-bokashi-label-row .nstudio-bokashi-label{margin:0}.nstudio-page #nstudioBokashiRatioValue{min-width:48px;text-align:right;font-size:12px;font-weight:700;color:#315d53}
.nstudio-page .nstudio-bokashi-mode-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.nstudio-page .nstudio-bokashi-choice{display:flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:7px 8px;border:1px solid #d5ddda;border-radius:8px;background:#fff;color:#444;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.nstudio-page .nstudio-bokashi-choice span{font-size:10px;font-weight:400;color:#89918f}.nstudio-page .nstudio-bokashi-choice.is-active{border-color:#668e83;background:#edf5f2;color:#315d53}
.nstudio-page .nstudio-bokashi-type-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.nstudio-page .nstudio-bokashi-type{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:74px;padding:7px 5px;border:1px solid #d5ddda;border-radius:8px;background:#fff;color:#444;font:inherit;cursor:pointer}.nstudio-page .nstudio-bokashi-type.is-active{border-color:#668e83;background:#edf5f2;box-shadow:0 0 0 1px rgba(49,93,83,.08)}.nstudio-page .nstudio-bokashi-type-preview{display:block;width:100%;max-width:72px;height:16px;margin-bottom:5px;border:1px solid rgba(0,0,0,.13);border-radius:3px;background:linear-gradient(90deg,#fff,#315f8c)}.nstudio-page .nstudio-bokashi-type strong{font-size:11px;line-height:1.2}.nstudio-page .nstudio-bokashi-type small{display:block;margin-top:2px;font-size:9px;font-weight:400;color:#8a9390;white-space:nowrap}.nstudio-page .nstudio-bokashi-step-count{display:none;align-items:center;gap:8px;margin-top:8px;padding:8px 9px;border:1px solid #dce3e0;border-radius:8px;background:#fff}.nstudio-page .nstudio-bokashi-step-count.is-open{display:grid;grid-template-columns:auto 76px minmax(0,1fr)}.nstudio-page .nstudio-bokashi-step-count label{font-size:11px;font-weight:700;color:#52605c}.nstudio-page .nstudio-bokashi-step-count select{height:30px;padding:0 7px;border:1px solid #cfd8d4;border-radius:6px;background:#fff;color:#3e4946;font:inherit;font-size:11px}.nstudio-page .nstudio-bokashi-step-count small{font-size:9px;line-height:1.45;color:#89928f}
.nstudio-page .nstudio-bokashi-color-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.nstudio-page .nstudio-bokashi-color-card{padding:8px;border:1px solid #dde3e1;border-radius:8px;background:#fff}.nstudio-page .nstudio-bokashi-color-caption{display:block;margin-bottom:5px;font-size:10px;font-weight:700;color:#69736f}.nstudio-page .nstudio-bokashi-color-main{display:flex;align-items:center;gap:7px}.nstudio-page .nstudio-bokashi-color-main strong{min-width:0;font:700 10px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#4e5855;overflow:hidden;text-overflow:ellipsis}.nstudio-page .nstudio-bokashi-color-card small{display:block;margin-top:4px;color:#959b99;font-size:9px}
.nstudio-page .nstudio-bokashi-target-picker{display:inline-flex;flex:0 0 30px;width:30px;height:30px;padding:2px;border:1px solid #cfd6d3;border-radius:7px;background:#fff}.nstudio-page .nstudio-bokashi-target-picker input{width:100%;height:100%;padding:0;border:0;background:transparent;cursor:pointer}
.nstudio-page .nstudio-bokashi-palette{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;margin-top:7px}.nstudio-page .nstudio-bokashi-palette button{min-width:0;padding:4px 2px;border:1px solid transparent;border-radius:6px;background:transparent;color:#6c7471;font:inherit;font-size:8px;line-height:1.1;cursor:pointer}.nstudio-page .nstudio-bokashi-palette button:hover,.nstudio-page .nstudio-bokashi-palette button.is-active{border-color:#9eb5ae;background:#fff}.nstudio-page .nstudio-bokashi-palette button span{display:block;width:20px;height:20px;margin:0 auto 3px;border:1px solid rgba(0,0,0,.18);border-radius:50%;background:var(--swatch)}
.nstudio-page #nstudioBokashiRatio{width:100%;accent-color:#517e72}
.nstudio-page .nstudio-bokashi-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.nstudio-page .nstudio-bokashi-options label{display:block;cursor:pointer}.nstudio-page .nstudio-bokashi-options input{position:absolute;opacity:0;pointer-events:none}.nstudio-page .nstudio-bokashi-options span{display:flex;align-items:center;justify-content:center;gap:4px;min-height:36px;padding:6px 4px;border:1px solid #d5ddda;border-radius:7px;background:#fff;color:#5f6966;font-size:10px;font-weight:700;white-space:nowrap}.nstudio-page .nstudio-bokashi-options input:checked+span{border-color:#668e83;background:#edf5f2;color:#315d53}.nstudio-page .nstudio-bokashi-options i{margin:0!important}
.nstudio-page .nstudio-bokashi-blur-only{display:none}.nstudio-page .nstudio-bokashi-blur-only.is-open{display:block}
.nstudio-page.is-logo-design-disabled .image-size-panel{display:none!important}
.nstudio-page.is-logo-design-disabled .upload-placeholder{display:none!important}
@media(max-width:560px){.nstudio-page .nstudio-spec-title-with-toggle{align-items:flex-start}.nstudio-page .nstudio-base-color-title-actions{flex-direction:column;align-items:flex-end;gap:5px}.nstudio-page .nstudio-bokashi-type-buttons{grid-template-columns:1fr}.nstudio-page .nstudio-bokashi-type{flex-direction:row;min-height:44px;gap:8px}.nstudio-page .nstudio-bokashi-type-preview{flex:0 0 70px;width:70px;margin:0}.nstudio-page .nstudio-bokashi-color-pair{grid-template-columns:1fr}.nstudio-page .nstudio-bokashi-step-count.is-open{grid-template-columns:auto 72px}.nstudio-page .nstudio-bokashi-step-count small{grid-column:1/-1}}

/* ---- original style block boundary ---- */

.nstudio-page .nstudio-design-presence-options{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.nstudio-page.is-logo-design-disabled [data-nstudio-design-mode-tab="logo"]{display:none!important}
.nstudio-page.is-logo-design-disabled .image-size-panel,.nstudio-page.is-logo-design-disabled .nstudio-multi-align-panel{display:none!important}

.nstudio-page .nstudio-editor-utility-tab{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:7px 11px;border:1px solid #d9dfdc;border-radius:8px;background:#fff;color:#52605c;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.nstudio-page .nstudio-editor-utility-tab.is-active{border-color:#6f958a;background:#edf5f2;color:#315d53}.nstudio-page .nstudio-editor-utility-tab #nstudioDataCheckTabSummary{font-size:9px;font-weight:600;color:#8a9490}
.nstudio-page .nstudio-editor-utility-panel[hidden]{display:none!important}.nstudio-page .nstudio-settings-panel{margin:0 0 10px;padding:13px;border:1px solid #dde4e1;border-radius:10px;background:#f8faf9}.nstudio-page .nstudio-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.nstudio-page .nstudio-setting-field{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:700;color:#53605d}.nstudio-page .nstudio-setting-inline{display:flex;align-items:center;gap:6px}.nstudio-page .nstudio-setting-inline input{width:86px;height:34px;padding:4px 7px;border:1px solid #cfd8d4;border-radius:7px;background:#fff;font:inherit}.nstudio-page .nstudio-setting-inline em{font-size:10px;font-style:normal;font-weight:400;color:#7d8783}.nstudio-page .nstudio-setting-toggles{display:flex;gap:8px 16px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid #e3e8e6}.nstudio-page .nstudio-setting-toggles label{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:#5f6c68;cursor:pointer}.nstudio-page .nstudio-setting-toggles input{margin:0}.nstudio-page .nstudio-setting-note{margin:9px 0 0;font-size:9px;line-height:1.55;color:#8b9491}
.nstudio-page #nstudioDataCheckPanel{margin-top:0}.nstudio-page #nstudioDataCheckPanel>.nstudio-data-check-toggle{display:none!important}.nstudio-page #nstudioDataCheckPanel>.nstudio-data-check-body{display:block!important}
.nstudio-page .nstudio-multi-align-panel{margin:10px 0 14px;padding:12px 13px;border:1px solid #b9d1c9;border-radius:10px;background:#edf7f3;box-shadow:0 1px 0 rgba(255,255,255,.75) inset}.nstudio-page .nstudio-multi-align-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px;font-size:12px;color:#315d53}.nstudio-page .nstudio-multi-align-head strong{display:flex;align-items:center;gap:5px}.nstudio-page .nstudio-multi-align-head span{font-size:10px;color:#63877c}.nstudio-page .nstudio-multi-align-actions{display:flex;flex-direction:column;gap:9px}.nstudio-page .nstudio-multi-align-group{padding:8px;border:1px solid #d3e2dd;border-radius:8px;background:rgba(255,255,255,.55)}.nstudio-page .nstudio-multi-align-group-label{display:block;margin:0 0 6px;font-size:9px;font-weight:800;color:#68857c}.nstudio-page .nstudio-multi-align-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.nstudio-page .nstudio-multi-align-actions button{min-height:50px;padding:6px 5px;border:1px solid #bfd4cd;border-radius:7px;background:#fff;color:#465f58;font:inherit;font-size:9px;font-weight:700;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;line-height:1.25}.nstudio-page .nstudio-multi-align-actions button .icon{font-size:14px;margin:0!important}.nstudio-page .nstudio-multi-align-actions button:hover{border-color:#73978d;background:#e5f2ed;color:#315d53}.nstudio-page .nstudio-image-position-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:2px}.nstudio-page .nstudio-image-position-grid .image-size-field{margin:0}.nstudio-page .nstudio-auto-split-toggle{display:inline-flex!important;align-items:center;gap:6px;margin-top:8px;padding:7px 9px;border:1px solid #d4ddd9;border-radius:7px;background:#f7faf9;font-size:11px;color:#45534f;cursor:pointer}.nstudio-page .nstudio-auto-split-toggle input{margin:0}.nstudio-page .nstudio-auto-split-toggle:has(input:checked){border-color:#6f9d8e;background:#eaf5f1;color:#315d53;font-weight:700}.nstudio-page .nstudio-pocket-spec{margin-top:8px}.nstudio-page .nstudio-pocket-size-row{padding:10px 11px;border:1px solid #e0e5e3;border-radius:8px;background:#fafbfa}.nstudio-page .nstudio-pocket-size-row>label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:#59645f}.nstudio-page .nstudio-pocket-number{display:flex;align-items:center;gap:5px}.nstudio-page .nstudio-pocket-number input{width:84px;height:34px;padding:5px 7px;border:1px solid #ccd5d1;border-radius:6px;background:#fff;font:inherit}.nstudio-page .nstudio-pocket-number em{font-size:10px;font-style:normal;color:#7b8581}
@media(max-width:560px){.nstudio-page .nstudio-settings-grid{grid-template-columns:1fr}.nstudio-page .nstudio-multi-align-row{grid-template-columns:repeat(3,minmax(0,1fr))}.nstudio-page .nstudio-multi-align-actions button{min-height:48px;padding:5px 3px}.nstudio-page .nstudio-image-position-grid{grid-template-columns:1fr 1fr}}

/* ---- original style block boundary ---- */

.nstudio-page .nstudio-tie-spec{margin-top:-2px;padding-top:2px}.nstudio-page .nstudio-tie-spec-grid{display:flex;flex-direction:column;gap:10px}.nstudio-page .nstudio-tie-check{display:flex;align-items:center;gap:7px;font-size:12px;color:#46534f;cursor:pointer}.nstudio-page .nstudio-tie-check input{margin:0}.nstudio-page .nstudio-tie-subfield,.nstudio-page .nstudio-tie-size-row{margin-left:24px;padding:10px 11px;border:1px solid #e0e5e3;border-radius:8px;background:#fafbfa}.nstudio-page .nstudio-tie-subfield{display:flex;align-items:center;gap:9px;font-size:11px;color:#59645f}.nstudio-page .nstudio-tie-subfield input[type=color]{width:42px;height:32px;padding:2px;border:1px solid #ccd5d1;border-radius:6px;background:#fff}.nstudio-page .nstudio-tie-subfield code{font-size:10px;color:#6a7470;background:none}.nstudio-page .nstudio-tie-size-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.nstudio-page .nstudio-tie-size-row>label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:#59645f}.nstudio-page .nstudio-tie-number{display:flex;align-items:center;gap:5px}.nstudio-page .nstudio-tie-number input{width:70px;height:34px;padding:5px 7px;border:1px solid #ccd5d1;border-radius:6px;background:#fff;font:inherit}.nstudio-page .nstudio-tie-number em{font-size:10px;font-style:normal;color:#7b8581}.nstudio-page .nstudio-tie-subfield.is-disabled,.nstudio-page .nstudio-tie-size-row.is-disabled{opacity:.45}.nstudio-page .nstudio-tie-subfield.is-disabled input,.nstudio-page .nstudio-tie-size-row.is-disabled input{pointer-events:none}.nstudio-page .preview-tie{box-shadow:0 0 0 1px rgba(0,0,0,.04)}
@media(max-width:560px){.nstudio-page .nstudio-tie-size-row{grid-template-columns:1fr}.nstudio-page .nstudio-tie-subfield,.nstudio-page .nstudio-tie-size-row{margin-left:0}}

/* ---- original style block boundary ---- */

/* ===== NUNO STUDIO wide 3-column / responsive drawer UI v7 ===== */
.nstudio-page .wrap{max-width:1680px!important;width:calc(100% - 28px)!important}
.nstudio-page .order-layout{display:grid!important;grid-template-columns:280px minmax(620px,1fr) 340px!important;gap:14px!important;align-items:start!important}
.nstudio-page .order-layout>.panel{min-width:0!important}
.nstudio-page .order-layout>aside.panel:first-child{padding:18px!important;border-radius:14px!important}
.nstudio-page .preview-panel{padding:18px!important;border-radius:14px!important}
.nstudio-page .nstudio-design-sidebar{padding:14px!important;border-radius:14px!important;position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto;scrollbar-width:thin}
.nstudio-page .nstudio-design-sidebar-head{display:flex;align-items:center;justify-content:space-between;margin:-2px 0 10px;padding:0 2px 10px;border-bottom:1px solid #e5ebe8}
.nstudio-page .nstudio-design-sidebar-head strong{display:block;font-size:16px;color:#263b35}
.nstudio-page .nstudio-design-sidebar-head small{display:block;margin-top:2px;font-size:9px;font-weight:500;color:#8a9490}
.nstudio-page .nstudio-design-quick-card{margin:0 0 10px;padding:11px;border:1px solid #dfe7e4;border-radius:11px;background:#fff}
.nstudio-page .nstudio-design-quick-color{background:#f2f8f5;border-color:#ccddd7}
.nstudio-page .nstudio-design-quick-upload{background:#fffaf3;border-color:#e7dccd}
.nstudio-page .nstudio-design-quick-heading{display:flex;align-items:center;gap:8px;margin-bottom:9px}
.nstudio-page .nstudio-design-quick-heading>.nstudio-design-quick-icon{display:flex;align-items:center;justify-content:center;flex:0 0 30px;width:30px;height:30px;border-radius:8px;background:#fff;color:#426e62}
.nstudio-page .nstudio-design-quick-upload .nstudio-design-quick-icon{color:#86623d}
.nstudio-page .nstudio-design-quick-heading strong{display:block;font-size:13px;color:#334943}
.nstudio-page .nstudio-design-quick-heading small{display:block;margin-top:1px;font-size:9px;font-weight:400;color:#83908b;line-height:1.35}
.nstudio-page #nstudioQuickColorMount .spec-field-base-color{display:block!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.nstudio-page #nstudioQuickColorMount .spec-field-base-color>.spec-block-title{display:none!important}
.nstudio-page #nstudioQuickColorMount .nstudio-base-color-controls{margin:0!important;display:grid!important;grid-template-columns:48px minmax(0,1fr) auto!important;gap:7px!important;align-items:center!important}
.nstudio-page #nstudioQuickColorMount .nstudio-base-color-picker{width:48px!important;height:42px!important}
.nstudio-page #nstudioQuickColorMount .nstudio-base-color-picker input{width:100%!important;height:100%!important}
.nstudio-page #nstudioQuickColorMount .nstudio-base-color-value{font-size:11px!important;min-width:0!important}
.nstudio-page #nstudioQuickColorMount .nstudio-base-color-reset{min-height:34px!important;padding:5px 8px!important;font-size:9px!important}
.nstudio-page #nstudioQuickColorMount .nstudio-piece-color-inputs{margin-top:8px!important}
.nstudio-page #nstudioQuickColorMount .nstudio-field-note{display:none!important}
.nstudio-page #nstudioQuickColorMount .nstudio-quick-color-split{display:inline-flex!important;margin-top:8px!important;padding:5px 7px!important;border:1px solid #d7e2de!important;border-radius:7px!important;background:#fff!important;font-size:9px!important;color:#5f716b!important}
.nstudio-page #nstudioQuickColorMount .nstudio-base-color-title-actions{margin:8px 0 0!important;justify-content:flex-start!important}
.nstudio-page #nstudioQuickUploadMount .nstudio-asset-upload-panel{padding:0!important;margin:0!important;border:0!important;background:transparent!important}
.nstudio-page #nstudioQuickUploadMount .nstudio-asset-upload-dropzone{min-height:112px!important;padding:12px 9px!important;border-radius:9px!important;border:1px dashed #ccbda9!important;background:rgba(255,255,255,.72)!important}
.nstudio-page #nstudioQuickUploadMount .nstudio-asset-upload-icon{font-size:22px!important;margin-bottom:2px!important}
.nstudio-page #nstudioQuickUploadMount .nstudio-asset-upload-title{font-size:12px!important;font-weight:800!important}
.nstudio-page #nstudioQuickUploadMount .nstudio-asset-upload-copy{font-size:9px!important;margin:3px 0 7px!important}
.nstudio-page #nstudioQuickUploadMount .main-upload-prominent{min-height:40px!important;padding:9px 11px!important;margin:0!important;font-size:11px!important}
.nstudio-page #nstudioQuickUploadMount .nstudio-asset-upload-note{margin-top:6px!important;font-size:8px!important;line-height:1.4!important}
.nstudio-page #nstudioQuickUploadMount .nstudio-asset-upload-actions{display:none!important}

.nstudio-page .nstudio-selected-adjust-wrap{margin-top:12px;padding-top:11px;border-top:1px solid #e4e9e7}

.nstudio-page #nstudioRightAdjustMount .image-size-panel{display:block;width:100%;margin:0!important;padding:12px!important;border:0!important;border-radius:10px!important;background:var(--ns-adjust-bg)!important;box-shadow:none!important}
.nstudio-page #nstudioRightAdjustMount .image-size-panel.is-hidden{display:none!important}
.nstudio-page #nstudioRightAdjustMount .image-size-title{font-size:12px!important;margin-bottom:8px!important}
.nstudio-page #nstudioRightAdjustMount .image-size-field{margin-bottom:8px!important}
.nstudio-page #nstudioRightAdjustMount .image-size-input-wrap input{height:34px!important;padding-top:5px!important;padding-bottom:5px!important}
.nstudio-page #nstudioRightAdjustMount .crop-row{gap:6px!important;flex-wrap:wrap!important}
.nstudio-page #nstudioRightAdjustMount .crop-row .action-btn{min-height:34px!important;padding:6px 8px!important;font-size:9px!important}

/* background drawer cards */
.nstudio-page .nstudio-background-design-panel{display:grid!important;gap:10px!important}
.nstudio-page .nstudio-background-feature-card{overflow:hidden;border:1px solid #e0e6e3;border-radius:11px;background:#f7f9f8}
.nstudio-page .nstudio-background-feature-card--texture{background:#f1f7f4;border-color:#d6e5dd}
.nstudio-page .nstudio-background-feature-card--bokashi{background:#fff8f0;border-color:#eadfce}
.nstudio-page .nstudio-background-feature-card--monyou{background:#f6f4fa;border-color:#dfdbe8}
.nstudio-page .nstudio-background-feature-head{display:flex!important;align-items:center!important;gap:9px!important;min-height:52px!important;padding:10px 12px!important;margin:0!important;border:0!important;background:transparent!important;color:#4f5f59!important;font-size:11px!important;font-weight:700!important;cursor:pointer!important;user-select:none!important}
.nstudio-page .nstudio-background-feature-head input{width:17px!important;height:17px!important;margin:0!important;flex:0 0 auto!important}
.nstudio-page .nstudio-background-feature-icon{display:flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;height:28px;border-radius:8px;background:rgba(255,255,255,.72)}
.nstudio-page .nstudio-background-feature-icon i{margin:0!important}
.nstudio-page .nstudio-background-feature-copy{display:flex;flex-direction:column;gap:1px;min-width:0}
.nstudio-page .nstudio-background-feature-copy strong{font-size:12px}.nstudio-page .nstudio-background-feature-copy small{font-size:9px;font-weight:400;color:#848c89;line-height:1.35}
.nstudio-page .nstudio-background-option-section{display:none;padding:2px 12px 13px}
.nstudio-page .nstudio-background-option-section.is-open{display:block!important}
.nstudio-page .nstudio-background-settings-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px;font-size:11px;font-weight:800;color:#5a625f}
.nstudio-page .nstudio-background-settings-heading small{font-size:8px;font-weight:400;color:#979d9a}
.nstudio-page .nstudio-background-bokashi-section .nstudio-bokashi-settings{display:block!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important}
.nstudio-page .nstudio-background-monyou-section [data-asset-source-panel="monyou"]{display:block!important;padding:0!important;border:0!important;background:transparent!important}
.nstudio-page .nstudio-background-monyou-section .nstudio-material-head{display:none!important}
.nstudio-page .nstudio-background-monyou-section .nstudio-material-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}

/* drawers */
.nstudio-page .nstudio-drawer-backdrop{position:fixed;inset:0;z-index:99890;background:rgba(26,35,32,.34);opacity:0;visibility:hidden;transition:.18s ease}
.nstudio-page .nstudio-drawer-backdrop.is-open{opacity:1;visibility:visible}
.nstudio-page .nstudio-side-drawer{position:fixed;z-index:99900;top:0;right:0;width:min(540px,calc(100vw - 28px));height:100dvh;max-height:100vh;background:#fff;border-left:1px solid #dce4e1;box-shadow:-12px 0 34px rgba(23,38,33,.14);transform:translateX(102%);transition:transform .2s ease;display:flex;flex-direction:column;overflow:hidden}
.nstudio-page .nstudio-side-drawer.is-open{transform:translateX(0)}
.nstudio-page .nstudio-side-drawer-head{flex:0 0 auto;min-height:64px;padding:12px 15px;border-bottom:1px solid #e3e8e6;background:#f9fbfa;display:flex;align-items:center;justify-content:space-between;gap:12px}
.nstudio-page .nstudio-side-drawer-head strong{display:block;font-size:16px;color:#29443c}
.nstudio-page .nstudio-side-drawer-head small{display:block;margin-top:2px;color:#7d8985;font-size:10px;font-weight:400}
.nstudio-page .nstudio-drawer-close{display:flex;align-items:center;gap:4px;min-height:34px;padding:6px 9px;border:1px solid #d5ddda;border-radius:8px;background:#fff;color:#5c6965;font:inherit;font-size:10px;font-weight:700;cursor:pointer}
.nstudio-page .nstudio-side-drawer-body{flex:1 1 auto;min-height:0;padding:14px;overflow:auto;overscroll-behavior:contain}
.nstudio-page .nstudio-side-drawer .nstudio-asset-source-shell{display:block!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important}


.nstudio-page .nstudio-side-drawer .nstudio-asset-source-tabs{position:sticky;top:-14px;z-index:3;margin:-14px -14px 12px!important;padding:11px 14px!important;background:#fff;border-bottom:1px solid #edf0ef;display:flex!important;gap:8px!important;overflow-x:auto!important;flex-wrap:nowrap!important;scrollbar-width:thin}
.nstudio-page .nstudio-side-drawer .nstudio-asset-source-tab{flex:0 0 auto!important;min-height:42px!important;padding:9px 14px!important;font-size:13px!important;font-weight:800!important;white-space:nowrap}
.nstudio-page .nstudio-side-drawer .nstudio-asset-source-panel{padding:0!important;border:0!important;background:transparent!important}
.nstudio-page .nstudio-side-drawer .nstudio-material-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:9px!important}
.nstudio-page .nstudio-side-drawer .nstudio-material-category-tabs{display:flex!important;flex-wrap:wrap!important;gap:5px!important}
.nstudio-page .nstudio-side-drawer .nstudio-background-feature-card{margin-bottom:10px!important}
.nstudio-page .nstudio-background-ai-launch{width:100%;min-height:58px;margin:0 0 10px;padding:10px 12px;border:1px solid #cbd9e5;border-radius:11px;background:#f1f7fc;color:#3d627d;font:inherit;text-align:left;cursor:pointer;display:flex;align-items:center;gap:10px}
.nstudio-page .nstudio-background-ai-launch i{font-size:19px;margin:0!important}
.nstudio-page .nstudio-background-ai-launch strong{display:block;font-size:12px}.nstudio-page .nstudio-background-ai-launch small{display:block;margin-top:2px;font-size:9px;font-weight:400;color:#758a9a}


/* export menu */
.nstudio-page .nstudio-export-menu{min-width:250px!important;padding:8px!important}
.nstudio-page .nstudio-export-menu-title{padding:4px 6px 7px;color:#79847f;font-size:9px;font-weight:800;letter-spacing:.04em}
.nstudio-page .nstudio-export-item{width:100%!important;display:grid!important;grid-template-columns:26px minmax(0,1fr)!important;align-items:center!important;justify-content:stretch!important;gap:8px!important;min-height:48px!important;padding:7px 9px!important;text-align:left!important}
.nstudio-page .nstudio-export-item>i{font-size:17px!important;margin:0!important;text-align:center}
.nstudio-page .nstudio-export-item span{display:block!important;min-width:0}
.nstudio-page .nstudio-export-item strong{display:block;font-size:11px;line-height:1.2}
.nstudio-page .nstudio-export-item small{display:block;margin-top:2px;color:#e2e2e2;font-size:8px;font-weight:400;line-height:1.25}
.nstudio-page .nstudio-export-item.is-recommended:after{content:"おすすめ";justify-self:end;grid-column:2;font-size:8px;color:#cfe8de;margin-top:-14px}

/* mode wording / compact */
.nstudio-page .editor-mode-switch{max-width:560px!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:5px!important;padding:4px!important;border:1px solid #dae2df!important;border-radius:10px!important;background:#f7f9f8!important}
.nstudio-page .editor-mode-switch .mode-btn{min-height:42px!important;border-radius:8px!important;font-size:12px!important;font-weight:800!important}
.nstudio-page .editor-mode-switch .mode-btn.is-active{background:#315d53!important;color:#fff!important;border-color:#315d53!important}
.nstudio-page .preview-head{margin-bottom:10px!important}.nstudio-page .preview-head h3{font-size:16px!important}
.nstudio-page .editor-mode-row{gap:9px!important;margin-bottom:12px!important}

.nstudio-page .product-type-top{padding:12px 14px!important;margin-bottom:12px!important;border-radius:12px!important}
.nstudio-page .nstudio-mode-heading{margin-bottom:8px!important}.nstudio-page .nstudio-mode-mascot{width:58px!important;max-height:66px!important}.nstudio-page .nstudio-mode-title{font-size:22px!important}.nstudio-page .nstudio-mode-tagline{font-size:11px!important}

/* tablet */


/* mobile / narrow tablet */

/* ===== NUNO STUDIO responsive fit / simple mobile UI v7 ===== */
.nstudio-page{max-width:100%!important;overflow-x:hidden!important;overflow-x:clip!important}
.nstudio-page #nstudio-editor>.wrap{width:calc(100% - 20px)!important;max-width:1680px!important;min-width:0!important;margin-left:auto!important;margin-right:auto!important}
.nstudio-page .order-layout{width:100%!important;max-width:100%!important;min-width:0!important;grid-template-columns:clamp(220px,17vw,280px) minmax(0,1fr) clamp(270px,21vw,340px)!important;gap:clamp(8px,1vw,14px)!important}
.nstudio-page .order-layout>*{min-width:0!important;max-width:100%!important}
.nstudio-page .preview-panel,.nstudio-page .design-shell,.nstudio-page .editor-stage,.nstudio-page .canvas-container{min-width:0!important;max-width:100%!important}
.nstudio-page .nstudio-design-sidebar{width:100%!important;min-width:0!important}
.nstudio-page .nstudio-background-feature-card--ai{background:#f1f7fc;border-color:#d3e1ec}
.nstudio-page .nstudio-background-ai-section .nstudio-background-ai-launch{margin:0!important}


/* 3カラムを保てる幅だけ3カラム。中途半端な幅で横にはみ出させない。 */


/* 埋め込みでは画面幅に関係なくデザイン操作を必ず残す。 */
.nstudio-page.is-nstudio-embed .order-layout>aside.panel.nstudio-design-sidebar{display:block!important}
.nstudio-page.is-nstudio-embed .order-layout>aside.panel:first-child:not(.nstudio-design-sidebar){display:none!important}
@media (min-width:900px){
  .nstudio-page.is-nstudio-embed .order-layout{display:grid!important;grid-template-columns:minmax(0,1fr) clamp(290px,28vw,360px)!important;gap:10px!important}
  .nstudio-page.is-nstudio-embed .preview-panel{grid-column:1!important;min-width:0!important;width:auto!important}
  .nstudio-page.is-nstudio-embed .order-layout>.nstudio-design-sidebar{grid-column:2!important;position:sticky!important;top:8px!important;max-height:calc(100vh - 16px)!important;overflow:auto!important}
}

/* Smartphone: canvas first, one compact operation panel below it. */

html.nstudio-drawer-open,html.nstudio-drawer-open body{overflow:hidden!important}
.nstudio-page.is-nstudio-embed .order-layout>.nstudio-design-sidebar{display:block!important}
/* embedded mode keeps design tools beside canvas on desktop */
@media (min-width:1000px){
  .nstudio-page.is-nstudio-embed .order-layout{display:grid!important;grid-template-columns:minmax(0,1fr) 340px!important;gap:12px!important}
  .nstudio-page.is-nstudio-embed .order-layout>aside.panel:first-child{display:none!important}
  .nstudio-page.is-nstudio-embed .preview-panel{grid-column:1!important;width:auto!important}
  .nstudio-page.is-nstudio-embed .order-layout>.nstudio-design-sidebar{grid-column:2!important;display:block!important;position:sticky!important;top:10px!important}
}

/* ---- original style block boundary ---- */

/* v21: template / online project / local file are one compact menu */
.nstudio-page .nstudio-save-hub{
  display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:nowrap;
  margin:10px 0 0;padding:9px 0 0;border-top:1px solid #edf0ee;
}
.nstudio-page .nstudio-save-hub .nstudio-project-status{margin-left:2px;font-size:11px;color:#69756f;white-space:nowrap}
.nstudio-page .nstudio-save-hub .nstudio-project-status[hidden]{display:none!important}
.nstudio-page .nstudio-restore-quick{
  display:inline-flex!important;align-items:center!important;gap:6px!important;min-height:38px!important;padding:8px 12px!important;
  border:0!important;border-radius:9px!important;background:#f3eee2!important;color:#695a3f!important;font-weight:800!important;box-shadow:none!important;
}
.nstudio-page .nstudio-restore-quick:hover{background:#ebe2d0!important}
.nstudio-page .nstudio-restore-quick[hidden]{display:none!important}
.nstudio-page .nstudio-save-menu{position:relative;overflow:visible}
.nstudio-page .nstudio-save-menu-trigger{
  display:flex!important;align-items:center!important;gap:7px!important;min-height:38px!important;
  padding:8px 13px!important;border:0!important;border-radius:9px!important;background:#eef3f1!important;
  color:#344c45!important;font-weight:800!important;cursor:pointer!important;list-style:none!important;
}
.nstudio-page .nstudio-save-menu-trigger::-webkit-details-marker{display:none}
.nstudio-page .nstudio-save-menu-trigger .angle.icon{margin-left:2px!important;font-size:11px!important}
.nstudio-page .nstudio-save-menu[open]>.nstudio-save-menu-trigger{background:#e3ece8!important}
.nstudio-page .nstudio-save-menu-panel{
  position:absolute!important;right:0!important;left:auto!important;top:calc(100% + 7px)!important;bottom:auto!important;
  z-index:10020!important;width:min(340px,calc(100vw - 24px))!important;max-height:min(72vh,620px)!important;overflow:auto!important;
  padding:10px!important;border:1px solid #e2e7e4!important;border-radius:12px!important;background:#fff!important;
  box-shadow:0 14px 36px rgba(31,48,42,.14)!important;
}
.nstudio-page .nstudio-save-menu-section{padding:8px 0}
.nstudio-page .nstudio-save-menu-section+.nstudio-save-menu-section{border-top:1px solid #edf0ee}
.nstudio-page .nstudio-save-menu-section-new{padding-bottom:2px}
.nstudio-page .nstudio-save-menu-section-new>.action-btn{background:#fbfbfa!important;color:#69716e!important}
.nstudio-page .nstudio-save-menu-title{display:flex;align-items:center;gap:6px;margin:0 4px 7px;color:#495851;font-size:12px;font-weight:900}
.nstudio-page .nstudio-save-menu-section>.action-btn{
  width:100%!important;min-height:39px!important;margin:3px 0!important;padding:8px 9px!important;
  display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:7px!important;
  border:0!important;border-radius:8px!important;background:#f6f8f7!important;color:#34433e!important;text-align:left!important;font-size:12px!important;
}
.nstudio-page .nstudio-save-menu-section>.action-btn:hover{background:#edf3f0!important}
.nstudio-page .nstudio-save-menu #openTemplateListBtn{display:flex!important}
.nstudio-page .nstudio-save-menu-section label.action-btn{cursor:pointer}
.nstudio-page .nstudio-save-menu-section label.action-btn input{display:none!important}
.nstudio-page .nstudio-save-menu-meta{margin-top:7px;padding:8px 9px;border-radius:7px;background:#fafbfa;color:#7a8580;font-size:10px;word-break:break-all}
.nstudio-page .nstudio-save-menu-meta code{font-size:10px;color:#53615b;background:none}
.nstudio-page .nstudio-save-menu-panel .nstudio-cloud-saved-link{margin-top:7px;font-size:10px}
.nstudio-page .nstudio-top-control-section .template-tools{display:none!important}
.nstudio-page.is-nstudio-embed .nstudio-save-hub{display:none!important}

/* ---- original style block boundary ---- */

/* v23: final column headings and confirmation layout */
.nstudio-page .order-layout > aside.panel:first-child,
.nstudio-page .order-layout > .preview-panel,
.nstudio-page .order-layout > .nstudio-design-sidebar{
  border:0!important;
  box-shadow:none!important;
}
.nstudio-page .nstudio-column-heading,
.nstudio-page .sidebar-spec-title,
.nstudio-page .preview-head,
.nstudio-page .nstudio-design-sidebar-head{
  min-height:36px!important;
  margin:0 0 14px!important;
  padding:0!important;
  display:flex!important;
  align-items:flex-start!important;
  border:0!important;
  border-bottom:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.nstudio-page .nstudio-column-heading-copy{display:block!important;margin:0!important;padding:0!important}
.nstudio-page .nstudio-column-heading strong,
.nstudio-page .nstudio-column-heading h3,
.nstudio-page .sidebar-spec-title strong,
.nstudio-page .preview-head h3,
.nstudio-page .nstudio-design-sidebar-head strong{
  margin:0!important;
  padding:0!important;
  font-family:inherit!important;
  font-size:23px!important;
  line-height:1.35!important;
  font-weight:800!important;
  letter-spacing:.01em!important;
}
.nstudio-page .nstudio-column-heading small,
.nstudio-page .nstudio-design-sidebar-head small{display:none!important}
.nstudio-page .nstudio-editor-product-name{
  min-height:22px;
  margin:-2px 2px 7px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:4px;
  color:#74807c;
  text-align:right;
  font-size:11px;
  line-height:1.35;
}

.nstudio-page .nstudio-editor-product-name .nstudio-product-name{font-size:11px!important;font-weight:700!important;color:#66736e!important}
.nstudio-page .nstudio-editor-summary{
  margin-top:18px!important;
  padding:16px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(280px,.95fr)!important;
  gap:20px!important;
  align-items:start!important;
  border:0!important;
  border-radius:12px!important;
  background:#f7f9f8!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.nstudio-page .nstudio-editor-summary.is-hidden{display:none!important}
.nstudio-page .nstudio-editor-summary-spec{min-width:0}
.nstudio-page .nstudio-editor-summary .nstudio-summary-title,
.nstudio-page .nstudio-editor-summary .inline-mockup-preview-head{
  margin:0 0 12px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#344a43!important;
  font-size:17px!important;
  line-height:1.4!important;
  font-weight:800!important;
}
.nstudio-page .nstudio-editor-summary dl{
  display:grid!important;
  grid-template-columns:minmax(90px,.7fr) minmax(0,1.3fr)!important;
  gap:9px 16px!important;
  margin:0!important;
}
.nstudio-page .nstudio-editor-summary dt,
.nstudio-page .nstudio-editor-summary dd{margin:0!important;font-size:14px!important;line-height:1.55!important}
.nstudio-page .nstudio-editor-summary dt{color:#79847f!important;font-weight:600!important}
.nstudio-page .nstudio-editor-summary dd{color:#35443f!important;font-weight:700!important}
.nstudio-page .nstudio-editor-summary .inline-mockup-preview{
  display:block!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.nstudio-page .nstudio-editor-summary .inline-mockup-preview-body{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:8px!important;
  border:0!important;
  border-radius:10px!important;
  background:#fff!important;
}
.nstudio-page .nstudio-editor-summary .inline-mockup-preview-body img{
  display:block!important;
  width:100%!important;
  max-height:310px!important;
  object-fit:contain!important;
}
.nstudio-page .nstudio-design-quick-color .nstudio-design-quick-heading{justify-content:flex-start!important}
.nstudio-page .nstudio-design-quick-color .nstudio-quick-color-split{
  margin:0 0 0 auto!important;
  padding:5px 8px!important;
  align-self:center!important;
  border:0!important;
  border-radius:7px!important;
  background:#e7f0ed!important;
  color:#4e6d64!important;
  font-size:11px!important;
  font-weight:700!important;
}
.nstudio-page #nstudioQuickColorMount .nstudio-base-color-reset{font-size:11px!important}
.nstudio-page .upload-placeholder{pointer-events:auto!important;cursor:pointer!important;white-space:normal!important;min-width:min(330px,calc(100% - 42px))!important;max-width:min(410px,calc(100% - 42px))!important;padding:18px 22px!important;border:1px dashed #9db2aa!important;background:rgba(255,255,255,.94)!important;}
.nstudio-page .upload-placeholder:hover{border-color:#5e887c!important;background:#f8fbfa!important;}
.nstudio-page .upload-placeholder strong{font-size:14px;color:#3d5b52;}
.nstudio-page .upload-placeholder span{font-size:11px;color:#788681;}

/* v24: title emphasis, cleaner design column, tighter/wider 3-column layout */
.nstudio-page .nstudio-mode-heading{
  margin-bottom:10px!important;
}
.nstudio-page .nstudio-mode-mascot{
  width:92px!important;
  max-height:104px!important;
  margin-bottom:6px!important;
}
.nstudio-page .nstudio-mode-title{
  font-size:30px!important;
  line-height:1.15!important;
  font-weight:900!important;
}
.nstudio-page .nstudio-mode-tagline{
  margin-top:3px!important;
  font-size:16px!important;
  line-height:1.3!important;
  font-weight:800!important;
}

/* right design column: no residual grey frame */
.nstudio-page .order-layout > .nstudio-design-sidebar,
.nstudio-page .order-layout > aside.panel.nstudio-design-sidebar,
.nstudio-page .nstudio-design-sidebar{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}
.nstudio-page .nstudio-design-sidebar::before,
.nstudio-page .nstudio-design-sidebar::after{
  border:0!important;
  box-shadow:none!important;
}

/* desktop: slightly tighter gutters, slightly wider side columns */
@media (min-width:1280px){
  .nstudio-page .order-layout{
    grid-template-columns:clamp(250px,18.5vw,300px) minmax(0,1fr) clamp(300px,22.5vw,360px)!important;
    gap:8px!important;
  }
}

/* embedded editor does not need the lower spec/image confirmation block */
.nstudio-page.is-nstudio-embed .nstudio-editor-summary{
  display:none!important;
}
@media (min-width:901px){
  .nstudio-page.is-nstudio-embed .order-layout{gap:8px!important;}
  .nstudio-page.is-nstudio-embed .order-layout>.nstudio-design-sidebar{
    width:360px!important;
    max-width:360px!important;
  }
}

/* ---- original style block boundary ---- */

/* v32: right inspector/tools, full-width final data check, canvas upload click zone */
.nstudio-page .nstudio-mode-heading{margin-bottom:0!important;}
.nstudio-page .nstudio-mode-title{font-size:36px!important;line-height:1.08!important;font-weight:900!important;}
.nstudio-page .nstudio-mode-tagline{margin-top:5px!important;font-size:19px!important;line-height:1.3!important;font-weight:800!important;}
.nstudio-page .nstudio-mode-mascot{width:98px!important;max-height:112px!important;}
.nstudio-page .product-type-top>.nstudio-save-hub{
  display:flex!important;justify-content:center!important;align-items:center!important;gap:8px!important;
  width:100%!important;margin:17px auto 18px!important;padding:0!important;border:0!important;background:transparent!important;
}
.nstudio-page .product-type-top>.nstudio-save-hub .nstudio-project-status{position:absolute;transform:translateY(34px);}

.nstudio-page .order-layout>.nstudio-design-sidebar,
.nstudio-page.is-nstudio-embed .order-layout>.nstudio-design-sidebar{
  position:static!important;top:auto!important;max-height:none!important;height:auto!important;overflow:visible!important;scrollbar-width:auto!important;
}

.nstudio-page .nstudio-canvas-status-row{display:flex;align-items:center;justify-content:center;gap:9px;margin:10px 0 8px;flex-wrap:wrap;}
.nstudio-page .nstudio-canvas-status-row .canvas-bleed-note{margin:0!important;padding:0!important;text-align:center!important;}
.nstudio-page .nstudio-settings-inline-btn{flex:0 0 auto!important;min-height:32px!important;padding:5px 9px!important;}

.nstudio-page .nstudio-settings-panel{margin:8px 0 10px!important;}

.nstudio-page .nstudio-editor-summary{
  width:min(100%,1040px)!important;max-width:1040px!important;margin:28px auto 8px!important;padding:20px!important;
  grid-template-columns:minmax(0,.9fr) minmax(340px,1.1fr)!important;gap:22px 28px!important;
}
.nstudio-page .nstudio-final-image-column{min-width:0;}
.nstudio-page .nstudio-final-image-mount{min-width:0;}
.nstudio-page .nstudio-final-data-check-row{grid-column:1/-1;min-width:0;padding-top:2px;}


.nstudio-page .nstudio-final-data-check-row .nstudio-data-check{width:100%!important;margin:0!important;}
.nstudio-page .nstudio-final-data-check-row .nstudio-data-check-body{padding:14px!important;}
.nstudio-page .nstudio-editor-summary .inline-mockup-preview{margin:0!important;padding:0!important;border:0!important;}


.nstudio-page .nstudio-design-primary-tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:0 0 12px;}
.nstudio-page .nstudio-design-primary-tool{
  min-width:0;min-height:46px;padding:8px 5px;border:0;border-radius:9px;background:#f1f4f3;color:#465650;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font:inherit;font-size:11px;font-weight:800;cursor:pointer;
  box-shadow:inset 0 0 0 1px rgba(65,88,81,.06);
}
.nstudio-page .nstudio-design-primary-tool i{margin:0!important;font-size:15px;}
.nstudio-page .nstudio-design-primary-tool:hover{background:#e8efec;}
.nstudio-page .nstudio-design-primary-tool.is-active{background:#3f6f64;color:#fff;box-shadow:none;}
.nstudio-page .nstudio-design-inline-tool{margin:0 0 14px;padding:13px;border:0;border-radius:11px;background:#f5f1f7;}
.nstudio-page .nstudio-design-inline-tool[hidden]{display:none!important;}
.nstudio-page .nstudio-design-inline-tool-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px;}
.nstudio-page .nstudio-design-inline-tool-head strong{font-size:14px;color:#54455e;}
.nstudio-page .nstudio-inline-tool-close{width:30px;height:30px;padding:0;border:0;border-radius:7px;background:#ebe5ee;color:#65586d;cursor:pointer;}
.nstudio-page .nstudio-inline-tool-close i{margin:0!important;}
.nstudio-page .nstudio-design-inline-tool-section[hidden]{display:none!important;}
.nstudio-page .nstudio-design-inline-tool .nstudio-asset-source-panel{display:block!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;}

.nstudio-page #nstudioAddDrawer .nstudio-asset-source-tab[data-asset-source-tab="upload"],
.nstudio-page #nstudioAddDrawer .nstudio-asset-source-tab[data-asset-source-tab="text"],
.nstudio-page #nstudioAddDrawer .nstudio-asset-source-tab[data-asset-source-tab="ai"],
.nstudio-page #nstudioAddDrawer .nstudio-asset-source-tab[data-asset-source-tab="monyou"]{display:none!important;}
.nstudio-page #nstudioSelectedInspectorMount:empty{display:none!important;}
.nstudio-page #nstudioSelectedInspectorMount:not(:empty){margin-bottom:10px;}

/* ---- original style block boundary ---- */

/* v33: NUNO STUDIO を1つのワークスペースとして見せる */
.nstudio-page #nstudio-editor>.wrap{max-width:none!important;}
.nstudio-page .nstudio-app-shell{
  width:100%;
  margin:0 auto 24px;
  padding:20px;
  border:1px solid rgba(58,78,71,.10);
  border-radius:18px;
  background:#f6f8f7;
  box-shadow:0 10px 34px rgba(29,45,39,.055);
}

/* アプリ上部は独立カードにせず、同じシェルのヘッダーとして扱う */
.nstudio-page .nstudio-app-shell>.nstudio-top-control-section{
  margin:0!important;
  padding:4px 8px 18px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.nstudio-page .nstudio-app-shell>.nstudio-top-control-section::after{
  content:"";
  display:block;
  width:100%;
  height:1px;
  margin-top:2px;
  background:linear-gradient(90deg,transparent,rgba(65,83,77,.14) 9%,rgba(65,83,77,.14) 91%,transparent);
}

/* 3カラムは同じ制作面の中に置く */
.nstudio-page .nstudio-app-shell>.order-layout{
  width:100%;
  margin:0!important;
  padding:20px 0 24px;
}
.nstudio-page .nstudio-app-shell>.order-layout>.panel,
.nstudio-page .nstudio-app-shell>.order-layout>.preview-panel,
.nstudio-page .nstudio-app-shell>.order-layout>.nstudio-design-sidebar{
  align-self:stretch;
}

/* 最終確認：3カラムと同じ左右幅を使う下段 */
.nstudio-page .nstudio-final-review{
  width:100%;
  margin:0;
  padding:22px 0 4px;
  border-top:1px solid rgba(65,83,77,.14);
}
.nstudio-page .nstudio-final-review-heading{
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 0 18px;
  color:#344b44;
  font-size:20px;
  line-height:1.35;
  font-weight:900;
  letter-spacing:.03em;
}
.nstudio-page .nstudio-final-review-heading::before,
.nstudio-page .nstudio-final-review-heading::after{
  content:"";
  flex:1 1 auto;
  height:1px;
  background:rgba(65,83,77,.10);
}
.nstudio-page .nstudio-final-review-heading::before{margin-right:16px;}
.nstudio-page .nstudio-final-review-heading::after{margin-left:16px;}

.nstudio-page .nstudio-final-review .nstudio-editor-summary{
  display:grid!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  grid-template-columns:minmax(220px,.82fr) minmax(320px,1.28fr) minmax(280px,1fr)!important;
  gap:14px!important;
  align-items:start!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.nstudio-page .nstudio-final-review .nstudio-editor-summary-spec,
.nstudio-page .nstudio-final-review .nstudio-final-image-column,
.nstudio-page .nstudio-final-review .nstudio-final-data-check-row{
  min-width:0;
  height:100%;
  padding:16px!important;
  border:0!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:inset 0 0 0 1px rgba(66,86,79,.045)!important;
}
.nstudio-page .nstudio-final-review .nstudio-final-data-check-row{
  grid-column:auto!important;
  padding-top:16px!important;
}


.nstudio-page .nstudio-final-review .nstudio-data-check{
  width:100%!important;
}
.nstudio-page .nstudio-final-review .nstudio-data-check-body{
  padding:12px 0 0!important;
}
.nstudio-page .nstudio-final-review .inline-mockup-preview-body{
  background:#f8faf9!important;
}

/* embed は制作面だけを使う */
.nstudio-page.is-nstudio-embed .nstudio-app-shell{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.nstudio-page.is-nstudio-embed .nstudio-final-review{display:none!important;}

/* ---- original style block boundary ---- */

/* v34: headings */
.nstudio-page .nstudio-column-heading strong,
.nstudio-page .nstudio-column-heading h3{display:flex!important;align-items:center!important;gap:9px!important}
.nstudio-page .nstudio-column-heading strong>.icon,
.nstudio-page .nstudio-column-heading h3>.icon{margin:0!important;font-size:.9em!important;opacity:.92!important}
.nstudio-page .nstudio-column-heading-spec strong>.icon{color:#4f796e!important}
.nstudio-page .nstudio-column-heading-editor h3>.icon{color:#4e7289!important}
.nstudio-page .nstudio-column-heading-design strong>.icon{color:#6b5e78!important}

/* 左仕様: カードの二重枠をやめ、1枚の仕様面＋区切り線にする */
.nstudio-page .order-layout>aside.panel:first-child{background:#fff!important}
.nstudio-page .order-layout>aside.panel:first-child .form-block{
  margin:0!important;padding:13px 2px!important;
  border:0!important;border-bottom:1px solid rgba(66,86,79,.09)!important;
  border-radius:0!important;background:transparent!important;box-shadow:none!important;
}
.nstudio-page .order-layout>aside.panel:first-child .form-block:last-child{border-bottom:0!important}
.nstudio-page .order-layout>aside.panel:first-child .form-block[data-spec-field="size"],
.nstudio-page .order-layout>aside.panel:first-child .form-block[data-spec-field="split"],
.nstudio-page .order-layout>aside.panel:first-child .form-block[data-spec-field="finish"],
.nstudio-page .order-layout>aside.panel:first-child .form-block[data-spec-field="sewing"],
.nstudio-page .order-layout>aside.panel:first-child .form-block[data-spec-field="design"],
.nstudio-page .order-layout>aside.panel:first-child .form-block[data-spec-field="baseColor"],
.nstudio-page .order-layout>aside.panel:first-child .nstudio-tie-spec{background:transparent!important}
.nstudio-page .order-layout>aside.panel:first-child .form-block[data-spec-field="size"]{padding-top:4px!important;padding-bottom:9px!important}
.nstudio-page .order-layout>aside.panel:first-child .form-block[data-spec-field="split"]{padding-top:8px!important}
.nstudio-page .order-layout>aside.panel:first-child .spec-block-title,
.nstudio-page .order-layout>aside.panel:first-child .form-block[data-spec-field] .spec-block-title{
  min-height:0!important;margin:0 0 8px!important;padding:0!important;
  border:0!important;border-radius:0!important;background:transparent!important;
  font-size:14px!important;line-height:1.45!important;
}
.nstudio-page .order-layout>aside.panel:first-child .form-block[data-spec-field="size"] .spec-block-title,
.nstudio-page .order-layout>aside.panel:first-child .form-block[data-spec-field="split"] .spec-block-title{color:#4d6f86!important}
.nstudio-page .order-layout>aside.panel:first-child .form-block[data-spec-field="finish"] .spec-block-title,
.nstudio-page .order-layout>aside.panel:first-child .form-block[data-spec-field="sewing"] .spec-block-title{color:#756044!important}
.nstudio-page .order-layout>aside.panel:first-child .form-block[data-spec-field="design"] .spec-block-title,
.nstudio-page .order-layout>aside.panel:first-child .form-block[data-spec-field="baseColor"] .spec-block-title{color:#497166!important}
.nstudio-page .nstudio-design-presence-note{margin:8px 1px 0!important;font-size:11px!important;line-height:1.7!important;color:#6f7975!important}
.nstudio-page .nstudio-design-presence-note strong{color:#465651!important}
.nstudio-page .nstudio-split-limit-note{margin:6px 0 0!important;color:#9b5d18!important;font-size:11px!important;font-weight:700!important}
.nstudio-page .nstudio-split-limit-note[hidden]{display:none!important}

/* 縫製設定は選択肢と同じブロック内 */
.nstudio-page .spec-field-sewing>.nstudio-pocket-spec{
  margin:10px 0 0!important;padding:10px 0 0!important;
  border:0!important;border-top:1px dashed rgba(117,96,68,.20)!important;
  background:transparent!important;border-radius:0!important;
}
.nstudio-page .spec-field-sewing>.nstudio-pocket-spec .spec-block-title{margin-bottom:7px!important;font-size:12px!important;color:#76654e!important}
.nstudio-page .spec-field-sewing>.nstudio-pocket-spec .nstudio-pocket-size-row{padding:0!important;border:0!important;background:transparent!important}

/* 画像調整: 必要な操作だけ */
.nstudio-page #imageSizePanel>.crop-row{display:none!important}
.nstudio-page #nstudioRightAdjustMount .image-size-input-wrap,
.nstudio-page #nstudioRightAdjustMount .image-size-input-wrap input,
.nstudio-page #nstudioRightAdjustMount .nstudio-pocket-number,
.nstudio-page #nstudioRightAdjustMount input[type="number"],
.nstudio-page #nstudioRightAdjustMount input[type="text"]{background:#fff!important}
.nstudio-page #nstudioRightAdjustMount .image-size-input-wrap{box-shadow:inset 0 0 0 1px rgba(75,94,87,.16)!important}
.nstudio-page #nstudioAdvancedImageAdjustPanel{margin-top:10px!important;padding-top:10px!important;border-top:1px solid rgba(81,101,94,.10)!important}
.nstudio-page .nstudio-bgremove-main-toggle{display:flex!important;align-items:center!important;gap:7px!important;margin:0!important;font-size:12px!important;font-weight:800!important;color:#44534f!important}
.nstudio-page .nstudio-bgremove-fields{margin-top:10px!important}

/* 最終確認: 上段2列＋データチェック全幅。3カード共通デザイン */
.nstudio-page .nstudio-final-review .nstudio-editor-summary{
  grid-template-columns:minmax(0,.92fr) minmax(360px,1.08fr)!important;
  gap:14px!important;align-items:stretch!important;
}
.nstudio-page .nstudio-final-review .nstudio-final-card{
  min-width:0!important;padding:0!important;border:0!important;border-radius:12px!important;
  background:#fff!important;box-shadow:inset 0 0 0 1px rgba(66,86,79,.07)!important;overflow:hidden!important;
}
.nstudio-page .nstudio-final-review .nstudio-editor-summary-spec,
.nstudio-page .nstudio-final-review .nstudio-final-image-column{height:360px!important;min-height:360px!important;max-height:360px!important}
.nstudio-page .nstudio-final-review .nstudio-final-data-check-row{
  grid-column:1/-1!important;height:360px!important;min-height:360px!important;max-height:360px!important;
}
.nstudio-page .nstudio-final-card-title,
.nstudio-page .nstudio-final-review .inline-mockup-preview-head{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;
  min-height:48px!important;margin:0!important;padding:12px 15px!important;
  border:0!important;border-bottom:1px solid rgba(66,86,79,.08)!important;border-radius:0!important;
  background:#f4f7f6!important;color:#344a43!important;font-size:15px!important;line-height:1.35!important;font-weight:850!important;
}
.nstudio-page .nstudio-final-card-title>span:first-child,
.nstudio-page .nstudio-final-review .inline-mockup-preview-head strong{display:flex!important;align-items:center!important;gap:7px!important;font-size:15px!important;color:#344a43!important}
.nstudio-page .nstudio-final-card-title .icon{margin:0!important;color:#668279!important}
.nstudio-page .nstudio-final-review .nstudio-final-card-scroll{
  height:calc(100% - 48px)!important;overflow:auto!important;padding:14px 15px 16px!important;scrollbar-gutter:stable;
}
.nstudio-page .nstudio-final-review .nstudio-editor-summary dl{
  grid-template-columns:minmax(82px,.62fr) minmax(0,1.38fr)!important;gap:6px 13px!important;
}
.nstudio-page .nstudio-final-review .nstudio-editor-summary dt,
.nstudio-page .nstudio-final-review .nstudio-editor-summary dd{font-size:12px!important;line-height:1.48!important}
.nstudio-page .nstudio-final-review .nstudio-editor-summary dt{color:#818b87!important}
.nstudio-page .nstudio-final-review .nstudio-editor-summary dd{color:#34433e!important}
.nstudio-page .nstudio-final-review .summary-split-row{margin-top:-2px!important}

.nstudio-page .nstudio-final-review .nstudio-final-image-mount,
.nstudio-page .nstudio-final-review .inline-mockup-preview{height:100%!important;min-height:0!important}
.nstudio-page .nstudio-final-review .inline-mockup-preview{display:flex!important;flex-direction:column!important}
.nstudio-page .nstudio-final-review .inline-mockup-preview-body{
  flex:1 1 auto!important;min-height:0!important;margin:0!important;padding:12px!important;border-radius:0!important;background:#fafbfa!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
}
.nstudio-page .nstudio-final-review .inline-mockup-preview-body img{width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important}

.nstudio-page .nstudio-final-review .nstudio-final-data-check-title{min-height:48px!important}
.nstudio-page .nstudio-final-review .nstudio-final-data-check-row>.nstudio-data-check{
  margin:0!important;padding:0!important;border:0!important;background:#fff!important;
}
.nstudio-page .nstudio-final-review #nstudioDataCheckPanel>.nstudio-data-check-toggle{display:none!important}
.nstudio-page .nstudio-final-review #nstudioDataCheckPanel>.nstudio-data-check-body{
  display:block!important;height:312px!important;max-height:312px!important;overflow:auto!important;padding:14px 15px 16px!important;
  border:0!important;border-radius:0!important;background:#fff!important;scrollbar-gutter:stable;
}
.nstudio-page .nstudio-final-review .nstudio-data-check-body-head{margin-bottom:10px!important}
.nstudio-page .nstudio-final-review .nstudio-data-check-item{grid-template-columns:22px minmax(110px,150px) minmax(0,1fr)!important}

/* ---- original style block boundary ---- */

/* ===== 2026-08-25 responsive / specification cleanup ===== */

/* サイズ入力: 少し広げ、入力面は白で統一 */
.nstudio-page .spec-field-size .custom-size-panel>.image-size-field{
  grid-template-columns:minmax(96px,1fr) 112px!important;
  gap:8px!important;
}
.nstudio-page .spec-field-size .custom-size-panel>.image-size-field>.image-size-input-wrap,
.nstudio-page .spec-field-size .custom-size-panel input[type="number"]{
  width:112px!important;
  max-width:112px!important;
  background:#fff!important;
}
.nstudio-page .spec-field-size .custom-size-panel>.image-size-input-wrap,
.nstudio-page .spec-field-split .image-size-input-wrap,
.nstudio-page .spec-field-split #norenSplitSelect{
  background:#fff!important;
}
.nstudio-page .spec-field-split .image-size-input-wrap{
  box-shadow:inset 0 0 0 1px rgba(70,84,80,.14)!important;
  border-radius:8px!important;
}

/* 左仕様欄の項目背景はすべて同じニュートラルグレー */
.nstudio-page .order-layout>aside.panel:first-child .form-block,
.nstudio-page .order-layout>aside.panel:first-child .form-block[data-spec-field="size"],
.nstudio-page .order-layout>aside.panel:first-child .form-block[data-spec-field="split"],
.nstudio-page .order-layout>aside.panel:first-child .form-block[data-spec-field="design"],
.nstudio-page .order-layout>aside.panel:first-child .form-block[data-spec-field="baseColor"],
.nstudio-page .order-layout>aside.panel:first-child .form-block[data-spec-field="finish"],
.nstudio-page .order-layout>aside.panel:first-child .form-block[data-spec-field="sewing"],
.nstudio-page .order-layout>aside.panel:first-child .nstudio-pocket-spec,
.nstudio-page .order-layout>aside.panel:first-child .nstudio-tie-spec{
  background:#f3f4f4!important;
}
.nstudio-page .order-layout>aside.panel:first-child .form-block{
  margin:0 0 9px!important;
  padding:12px!important;
  border-radius:10px!important;
  box-shadow:none!important;
}

/* cm / mm: ラベルはただの説明、右2つだけが操作ボタン */
.nstudio-page .nstudio-size-title{align-items:center!important;margin-bottom:14px!important;}
.nstudio-page .nstudio-unit-control{display:inline-flex!important;align-items:center!important;gap:7px!important;margin-left:14px!important;}
.nstudio-page .nstudio-unit-switch-label{display:inline!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#727c78!important;font-size:10px!important;font-weight:750!important;line-height:1!important;cursor:default!important;}
.nstudio-page .nstudio-unit-switch{
  display:inline-flex!important;align-items:center!important;gap:2px!important;padding:3px!important;
  border:1px solid #c7cfcc!important;border-radius:8px!important;background:#e9eceb!important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.035)!important;
}
.nstudio-page .nstudio-unit-switch::before{display:none!important;content:none!important;}
.nstudio-page .nstudio-unit-switch button{
  min-width:42px!important;height:28px!important;padding:0 9px!important;border:0!important;border-radius:6px!important;
  background:transparent!important;color:#67726e!important;font-size:11px!important;font-weight:800!important;cursor:pointer!important;
}
.nstudio-page .nstudio-unit-switch button.is-active{background:#315d53!important;color:#fff!important;box-shadow:0 1px 3px rgba(28,55,48,.18)!important;}

/* 背景デザイン: アイコンは見出しの左だけ。説明文は左端へ揃える */

/* 全幅共通: 横はみ出しと謎の右余白を作らない */
.nstudio-page,
.nstudio-page #nstudio-editor,
.nstudio-page #nstudio-editor>.wrap,
.nstudio-page .order-layout,
.nstudio-page .order-layout>*{
  box-sizing:border-box!important;
  min-width:0!important;
  max-width:100%!important;
}
.nstudio-page #nstudio-editor>.wrap{
  width:100%!important;
  max-width:1680px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:14px!important;
  padding-right:14px!important;
}
.nstudio-page .order-layout{
  width:100%!important;
  margin:0!important;
}

/* 広幅: 仕様 / 編集 / デザイン = 3カラム */
@media (min-width:1280px){
  .nstudio-page .order-layout{
    display:grid!important;
    grid-template-columns:minmax(260px,280px) minmax(0,1fr) minmax(310px,340px)!important;
    gap:14px!important;
    align-items:start!important;
  }
  .nstudio-page .order-layout>aside.panel:first-child{grid-column:auto!important;grid-row:auto!important;display:block!important}
  .nstudio-page .order-layout>.preview-panel{grid-column:auto!important;grid-row:auto!important;width:auto!important}
  .nstudio-page .order-layout>.nstudio-design-sidebar{grid-column:auto!important;grid-row:auto!important;width:auto!important;display:block!important}
}

/* 標準幅: 上段に仕様を横並び、下段は 編集 / デザイン の2カラム */
@media (min-width:901px) and (max-width:1279px){
  .nstudio-page #nstudio-editor>.wrap{padding-left:10px!important;padding-right:10px!important}
  .nstudio-page .order-layout{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(300px,360px)!important;
    gap:12px!important;
    align-items:start!important;
  }
  .nstudio-page .order-layout>aside.panel:first-child{
    grid-column:1/-1!important;
    grid-row:1!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:9px!important;
    padding:12px!important;
  }
  .nstudio-page .order-layout>aside.panel:first-child>.sidebar-spec-title{
    grid-column:1/-1!important;
    margin-bottom:0!important;
  }
  .nstudio-page .order-layout>aside.panel:first-child>.form-block{
    min-width:0!important;
    margin:0!important;
  }
  .nstudio-page .order-layout>aside.panel:first-child>.form-block[data-spec-field="size"]{grid-column:span 2!important}
  .nstudio-page .order-layout>aside.panel:first-child>.form-block[data-spec-field="split"]{grid-column:span 1!important}
  .nstudio-page .order-layout>aside.panel:first-child>.form-block[data-spec-field="design"]{grid-column:span 1!important}
  .nstudio-page .order-layout>aside.panel:first-child>.form-block[data-spec-field="baseColor"]{grid-column:span 2!important}
  .nstudio-page .order-layout>aside.panel:first-child>.form-block[data-spec-field="finish"],
  .nstudio-page .order-layout>aside.panel:first-child>.form-block[data-spec-field="sewing"],
  .nstudio-page .order-layout>aside.panel:first-child>.form-block:not([data-spec-field]){grid-column:span 2!important}
  .nstudio-page .order-layout>.preview-panel{
    grid-column:1!important;
    grid-row:2!important;
    width:100%!important;
  }
  .nstudio-page .order-layout>.nstudio-design-sidebar{
    grid-column:2!important;
    grid-row:2!important;
    width:100%!important;
    display:block!important;
    position:sticky!important;
    top:10px!important;
    max-height:calc(100vh - 20px)!important;
    overflow:auto!important;
  }
  .nstudio-page .order-layout>.nstudio-design-sidebar>.nstudio-design-sidebar-head,
  .nstudio-page .order-layout>.nstudio-design-sidebar>.nstudio-design-quick-card,
  .nstudio-page .order-layout>.nstudio-design-sidebar>.nstudio-design-primary-tools,
  .nstudio-page .order-layout>.nstudio-design-sidebar>.nstudio-selected-adjust-wrap,
  .nstudio-page .order-layout>.nstudio-design-sidebar>#nstudioMultiAlignPanel,
  .nstudio-page .order-layout>.nstudio-design-sidebar>#nstudioInlineToolHome{
    grid-column:auto!important;
  }
}

/* 最終確認: 中幅以下は3枚をタブ切替。横幅を食わない */
.nstudio-page .nstudio-final-review-tabs{display:none}
@media (min-width:901px) and (max-width:1000px){
  .nstudio-page .nstudio-final-review-tabs{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:5px!important;
    margin:0 0 9px!important;
    padding:4px!important;
    border:1px solid #d7dfdc!important;
    border-radius:10px!important;
    background:#eef1f0!important;
  }
  .nstudio-page .nstudio-final-review-tabs button{
    min-width:0!important;
    min-height:40px!important;
    padding:7px 6px!important;
    border:0!important;
    border-radius:7px!important;
    background:transparent!important;
    color:#63706c!important;
    font:inherit!important;
    font-size:11px!important;
    font-weight:800!important;
    cursor:pointer!important;
    white-space:nowrap!important;
  }
  .nstudio-page .nstudio-final-review-tabs button .icon{margin:0 4px 0 0!important}
  .nstudio-page .nstudio-final-review-tabs button.is-active{
    background:#fff!important;
    color:#315d53!important;
    box-shadow:0 1px 4px rgba(35,61,53,.10)!important;
  }
  .nstudio-page .nstudio-final-review .nstudio-editor-summary{
    display:block!important;
    width:100%!important;
  }
  .nstudio-page .nstudio-final-review .nstudio-final-card{
    display:none!important;
    width:100%!important;
    height:auto!important;
    min-height:300px!important;
    max-height:none!important;
  }
  .nstudio-page .nstudio-final-review .nstudio-final-card.is-final-tab-active{
    display:block!important;
  }
  .nstudio-page .nstudio-final-review .nstudio-final-card-scroll{
    height:auto!important;
    max-height:360px!important;
  }
  .nstudio-page .nstudio-final-review #nstudioDataCheckPanel>.nstudio-data-check-body{
    height:auto!important;
    max-height:380px!important;
  }
}

/* ---- original style block boundary ---- */

/* v43: consolidated responsive/design workspace. Replaces v35-mobile/v36-mobile/v37-mobile/v40/v41/v42. */

/* One canonical top control: title, save/open, and product switch. */
.nstudio-page .nstudio-app-shell>.nstudio-top-control-section{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"title save" "types types"!important;
  align-items:center!important;gap:14px 18px!important;min-height:0!important;margin:0!important;padding:4px 8px 18px!important;
  border:0!important;background:transparent!important;box-shadow:none!important;
}
.nstudio-page .nstudio-app-shell>.nstudio-top-control-section::after{display:none!important}
.nstudio-page .nstudio-top-control-section .nstudio-mode-heading{
  grid-area:title!important;width:max-content!important;max-width:100%!important;min-height:74px!important;margin:0!important;
  display:grid!important;grid-template-columns:64px minmax(0,auto)!important;grid-template-rows:auto auto!important;column-gap:12px!important;row-gap:4px!important;
  align-items:center!important;justify-content:start!important;text-align:left!important;
}
.nstudio-page .nstudio-top-control-section .nstudio-mode-mascot{display:block!important;grid-column:1!important;grid-row:1/3!important;width:62px!important;max-width:62px!important;max-height:74px!important;margin:0!important;object-fit:contain!important}
.nstudio-page .nstudio-top-control-section .nstudio-mode-title{grid-column:2!important;grid-row:1!important;align-self:end!important;font-size:32px!important;line-height:1.05!important;font-weight:900!important;letter-spacing:.035em!important;white-space:nowrap!important}
.nstudio-page .nstudio-top-control-section .nstudio-mode-tagline{grid-column:2!important;grid-row:2!important;align-self:start!important;margin:0!important;font-size:13px!important;line-height:1.25!important}
.nstudio-page .nstudio-top-control-section .nstudio-save-hub{grid-area:save!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important}
.nstudio-page .nstudio-top-control-section .nstudio-type-grid{grid-area:types!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin:0!important}
.nstudio-page .nstudio-top-control-section .nstudio-type-grid .option span{min-height:46px!important;padding:8px 8px!important;font-size:12px!important;line-height:1.2!important}
.nstudio-page.is-nstudio-embed .nstudio-top-control-section{display:none!important}


/* Consolidated from the old v35-v37 request layers. */
.nstudio-page .editor-mode-row{justify-content:center!important;text-align:center!important}
.nstudio-page .editor-mode-switch{margin-left:auto!important;margin-right:auto!important}
.nstudio-page .editor-mode-switch .mode-btn{padding:10px 18px!important;font-size:15px!important;line-height:1.25!important;font-weight:800!important}
.nstudio-page .preview-head.nstudio-column-heading-editor{justify-content:center!important;text-align:center!important}
.nstudio-page .preview-head.nstudio-column-heading-editor .nstudio-column-heading-copy{width:100%!important;display:flex!important;justify-content:center!important;text-align:center!important}

.nstudio-page .order-layout>aside.panel:first-child{padding:14px!important;border:1px solid rgba(74,101,92,.10)!important;border-radius:14px!important;background:#fff!important;box-shadow:none!important}
.nstudio-page .order-layout>aside.panel:first-child .form-block{margin:0 0 9px!important;padding:12px!important;border:0!important;border-radius:10px!important;background:#f3f4f4!important;box-shadow:none!important}
.nstudio-page .order-layout>aside.panel:first-child .form-block:last-of-type{margin-bottom:0!important}
.nstudio-page .order-layout>aside.panel:first-child .spec-block-title,.nstudio-page .order-layout>aside.panel:first-child .form-block[data-spec-field] .spec-block-title{min-height:0!important;margin:0 0 9px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#344943!important;font-size:14px!important;line-height:1.4!important;font-weight:850!important}
.nstudio-page .order-layout>aside.panel:first-child .spec-block-title>.icon,.nstudio-page .order-layout>aside.panel:first-child .spec-block-title>span:first-child>.icon{display:none!important}
.nstudio-page .nstudio-column-heading-spec .icon{display:inline-block!important}
.nstudio-page .spec-field-size .size-custom.custom-size-panel{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important;width:100%!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.nstudio-page #nstudioSplitAutoNote{display:none!important}
.nstudio-page .nstudio-auto-split-toggle{white-space:nowrap!important}
.nstudio-page #nstudioSvgColorAdjustNote:empty,.nstudio-page #nstudioMonyouColorNote:empty,.nstudio-page #nstudioMonyouEditColorNote:empty{display:none!important}

/* Desktop final review keeps the established 3-column proportions; mobile overrides below. */
.nstudio-page .nstudio-final-review .nstudio-editor-summary{grid-template-columns:minmax(230px,.88fr) minmax(260px,.68fr) minmax(360px,1.44fr)!important;gap:14px!important;align-items:stretch!important}
.nstudio-page .nstudio-final-review .nstudio-editor-summary-spec,.nstudio-page .nstudio-final-review .nstudio-final-image-column,.nstudio-page .nstudio-final-review .nstudio-final-data-check-row{grid-column:auto!important;height:380px!important;min-height:380px!important;max-height:380px!important}
.nstudio-page .nstudio-final-review .nstudio-summary-title.nstudio-final-card-title,.nstudio-page .nstudio-final-review .nstudio-final-data-check-title,.nstudio-page .nstudio-final-review .inline-mockup-preview-head{min-height:48px!important;margin:0!important;padding:12px 15px!important;border:0!important;border-bottom:1px solid rgba(66,86,79,.08)!important;border-radius:0!important;background:#f4f7f6!important;color:#344a43!important;box-shadow:none!important}
.nstudio-page .nstudio-final-review .nstudio-final-card-scroll{height:calc(100% - 48px)!important;overflow:auto!important;padding:12px 14px 15px!important;scrollbar-gutter:stable}
.nstudio-page .nstudio-final-review #nstudioDataCheckPanel>.nstudio-data-check-body{height:332px!important;max-height:332px!important;overflow:auto!important;scrollbar-gutter:stable}
.nstudio-page .nstudio-final-review .nstudio-editor-summary dl{grid-template-columns:minmax(70px,.52fr) minmax(0,1.48fr)!important;gap:6px 10px!important}
.nstudio-page .nstudio-final-review .nstudio-editor-summary dt,.nstudio-page .nstudio-final-review .nstudio-editor-summary dd{margin:0!important;padding:3px 0!important;font-size:12px!important;line-height:1.5!important}
.nstudio-page .nstudio-final-review .nstudio-editor-summary dd{overflow-wrap:anywhere}
@media(max-width:1100px) and (min-width:1001px){.nstudio-page .nstudio-final-review .nstudio-editor-summary{grid-template-columns:minmax(0,.9fr) minmax(0,.72fr) minmax(0,1.38fr)!important;gap:10px!important}}

/* ===== desktop design sidebar ===== */
.nstudio-page .nstudio-design-main-tabs{
  display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important;
  margin:2px 0 22px!important;padding:5px!important;border:1px solid #cbd6d2!important;
  border-radius:11px!important;background:#e9eeec!important;box-shadow:0 1px 3px rgba(34,54,47,.06)!important;
}
.nstudio-page .nstudio-design-main-tabs button{
  display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;
  min-width:0!important;min-height:44px!important;padding:9px 10px!important;border:0!important;border-radius:8px!important;
  background:transparent!important;color:#47554f!important;font:inherit!important;font-size:12px!important;font-weight:800!important;cursor:pointer!important;
}
.nstudio-page .nstudio-design-main-tabs button:hover{background:#f8faf9!important;color:#243b34!important}
.nstudio-page .nstudio-design-main-tabs button.is-active{background:#425f56!important;color:#fff!important;box-shadow:0 1px 5px rgba(31,53,46,.18)!important}
.nstudio-page .nstudio-design-main-tabs button .icon{margin:0!important;font-size:13px!important}
.nstudio-page .nstudio-design-main-tabs button.is-active .icon{color:#fff!important}
.nstudio-page .nstudio-design-main-panel[hidden]{display:none!important}
.nstudio-page .nstudio-design-main-panel{min-width:0!important}

.nstudio-page .nstudio-design-main-panel[data-nstudio-design-main-panel="add"] .nstudio-design-primary-tools{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin:0 0 20px!important;
}
.nstudio-page .nstudio-design-main-panel[data-nstudio-design-main-panel="add"] .nstudio-design-primary-tool{
  min-height:60px!important;padding:8px 5px!important;border:1px solid #dce4e1!important;border-radius:10px!important;
  background:#fff!important;color:#465953!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
  gap:5px!important;font:inherit!important;font-size:11px!important;font-weight:750!important;cursor:pointer!important;
}
.nstudio-page .nstudio-design-main-panel[data-nstudio-design-main-panel="add"] .nstudio-design-primary-tool .icon{margin:0!important;font-size:16px!important;color:#5b776e!important}
.nstudio-page .nstudio-design-main-panel[data-nstudio-design-main-panel="add"] .nstudio-design-primary-tool:hover,
.nstudio-page .nstudio-design-main-panel[data-nstudio-design-main-panel="add"] .nstudio-design-primary-tool.is-active{border-color:#8ea69e!important;background:#f1f6f4!important;color:#29483f!important}

.nstudio-page .nstudio-design-inline-tool{margin-top:18px!important;padding-top:0!important;border-top:0!important}
.nstudio-page .nstudio-design-inline-tool-section:not([hidden]){margin-top:16px!important}
.nstudio-page .nstudio-design-inline-tool-head{
  margin:0 0 16px!important;padding:0 0 11px!important;border:0!important;border-bottom:1px solid #e4e8e6!important;
  border-radius:0!important;background:transparent!important;box-shadow:none!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;
}
.nstudio-page .nstudio-design-inline-tool-head strong{font-size:13px!important;line-height:1.35!important;color:#303936!important}
.nstudio-page .nstudio-inline-tool-close{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;min-height:32px!important;padding:5px 8px!important;border:1px solid #d9e0dd!important;border-radius:7px!important;background:#fff!important;color:#5d6964!important;font:inherit!important;font-size:10px!important;font-weight:800!important;cursor:pointer!important}
.nstudio-page .nstudio-inline-tool-close .icon{margin:0!important}
.nstudio-page .nstudio-design-quick-heading,.nstudio-page .nstudio-design-quick-card .nstudio-design-quick-heading{margin:0 0 13px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.nstudio-page #nstudioRightUploadPanelMount .nstudio-design-quick-upload{display:block!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.nstudio-page #nstudioRightUploadPanelMount,.nstudio-page #nstudioRightTextPanelMount,.nstudio-page #nstudioRightKamonPanelMount,.nstudio-page #nstudioRightMaterialPanelMount,.nstudio-page #nstudioRightAiPanelMount,.nstudio-page #nstudioRightShapePanelMount{padding-bottom:8px!important}
.nstudio-page #nstudioRightMaterialPanelMount .nstudio-asset-source-shell{margin:0!important;border:0!important;box-shadow:none!important;background:transparent!important}
.nstudio-page .nstudio-context-adjust-panel{margin:0 0 20px!important;padding:11px!important;border:1px solid #d8dfdc!important;border-radius:10px!important;background:#f7f9f8!important}
.nstudio-page .nstudio-context-adjust-panel[hidden]{display:none!important}
.nstudio-page .nstudio-context-adjust-panel>#nstudioMultiAlignPanel,.nstudio-page .nstudio-context-adjust-panel>.nstudio-selected-adjust-wrap{margin:0 0 10px!important}
.nstudio-page .nstudio-context-adjust-panel>.nstudio-selected-adjust-wrap:last-child,.nstudio-page .nstudio-context-adjust-panel>#nstudioMultiAlignPanel:last-child{margin-bottom:0!important}
.nstudio-page .nstudio-design-main-panel[data-nstudio-design-main-panel="surface"] .nstudio-design-cloth-card{margin:0!important;padding:4px 0 8px!important;border:0!important;background:transparent!important;box-shadow:none!important}
.nstudio-page .nstudio-design-main-panel[data-nstudio-design-main-panel="surface"] .nstudio-design-section-separator{margin:20px 0!important}
.nstudio-page .nmt-preview-title.nstudio-text-preview-compact{display:none!important}

/* Desktop: material/background are true side drawers. One content DOM is reused by mobile. */
@media (min-width:901px){
  .nstudio-page .nstudio-side-drawer{display:flex!important}
  
}

/* ===== mobile workspace ===== */
.nstudio-page .nstudio-mobile-bottom-nav,
.nstudio-page .nstudio-mobile-workspace-backdrop,
.nstudio-page .nstudio-mobile-sheet-close,
.nstudio-page .nstudio-mobile-adjust-sheet{display:none}

@media (max-width:900px){
  html.nstudio-mobile-sheet-lock,html.nstudio-mobile-sheet-lock body{overscroll-behavior:none!important}

  .nstudio-page:not(.is-nstudio-embed){padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))!important;overflow-x:clip!important}
  .nstudio-page #nstudio-editor>.wrap,.nstudio-page .nstudio-app-shell,.nstudio-page .order-layout,.nstudio-page .preview-panel{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
  .nstudio-page #nstudio-editor>.wrap{padding-left:6px!important;padding-right:6px!important}
  .nstudio-page .nstudio-app-shell{margin:0!important;padding:8px 6px 12px!important}
  .nstudio-page .nstudio-app-shell>.nstudio-top-control-section{display:grid!important;grid-template-columns:1fr!important;grid-template-areas:"title" "save" "types"!important;gap:14px!important;min-height:0!important;padding:8px 8px 14px!important}
  .nstudio-page .nstudio-top-control-section .nstudio-mode-heading{width:max-content!important;max-width:100%!important;min-height:68px!important;margin:0 auto!important;grid-template-columns:58px minmax(0,auto)!important;column-gap:10px!important;justify-content:center!important}
  .nstudio-page .nstudio-top-control-section .nstudio-mode-mascot{width:56px!important;max-width:56px!important;max-height:68px!important}
  .nstudio-page .nstudio-top-control-section .nstudio-mode-title{font-size:27px!important}
  .nstudio-page .nstudio-top-control-section .nstudio-mode-tagline{font-size:11px!important}
  .nstudio-page .nstudio-top-control-section .nstudio-save-hub{justify-content:center!important;padding-top:10px!important;border-top:1px solid #e6ebe8!important}
  .nstudio-page .nstudio-top-control-section .nstudio-type-grid{gap:7px!important}
  .nstudio-page .nstudio-top-control-section .nstudio-type-grid .option span{min-height:44px!important;padding:8px 5px!important;font-size:11px!important}
  .nstudio-page .order-layout{display:block!important;margin:0!important;padding:0!important}
  .nstudio-page .order-layout>.preview-panel{display:block!important;position:relative!important;width:100%!important;margin:0!important;padding:8px!important;z-index:1!important}
  .nstudio-page .preview-head.nstudio-column-heading-editor{display:flex!important;justify-content:center!important;text-align:center!important}
  .nstudio-page .preview-head .nstudio-column-heading-copy{width:100%!important;display:flex!important;justify-content:center!important}
  .nstudio-page .editor-mode-row{justify-content:center!important}
  .nstudio-page .editor-mode-switch{width:min(100%,560px)!important;margin:0 auto!important}

  /* Spec and design become the only two workspace sheets. */
  .nstudio-page:not(.is-nstudio-embed) .order-layout>.nstudio-spec-sidebar,
  .nstudio-page:not(.is-nstudio-embed) .order-layout>.nstudio-design-sidebar{
    position:fixed!important;z-index:99720!important;left:50%!important;right:auto!important;bottom:calc(70px + env(safe-area-inset-bottom,0px))!important;
    width:min(680px,calc(100vw - 4px))!important;height:min(78dvh,720px)!important;min-height:0!important;max-height:calc(100dvh - 88px - env(safe-area-inset-bottom,0px))!important;
    margin:0!important;padding:0 10px 14px!important;border:1px solid rgba(57,79,72,.13)!important;border-radius:18px 18px 12px 12px!important;
    background:#fff!important;box-shadow:0 -10px 34px rgba(23,38,33,.20)!important;overflow:auto!important;overscroll-behavior:contain!important;
    opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translate(-50%,calc(100% + 92px))!important;
    transition:transform .22s ease,opacity .16s ease,visibility .16s ease!important;
  }
  .nstudio-page:not(.is-nstudio-embed).nstudio-mobile-sheet-spec .order-layout>.nstudio-spec-sidebar,
  .nstudio-page:not(.is-nstudio-embed).nstudio-mobile-sheet-design .order-layout>.nstudio-design-sidebar,
  .nstudio-page:not(.is-nstudio-embed).nstudio-mobile-sheet-surface .order-layout>.nstudio-design-sidebar{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translate(-50%,0)!important}
  .nstudio-page .order-layout>.nstudio-spec-sidebar>.sidebar-spec-title,
  .nstudio-page .order-layout>.nstudio-design-sidebar>.nstudio-design-sidebar-head{
    position:sticky!important;z-index:6!important;top:0!important;min-height:54px!important;margin:0 -10px 12px!important;padding:10px 52px 10px 14px!important;
    border-bottom:1px solid #e6e9e7!important;background:rgba(255,255,255,.97)!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;
  }
  .nstudio-page .order-layout>.nstudio-spec-sidebar .nstudio-mobile-sheet-close,
  .nstudio-page .order-layout>.nstudio-design-sidebar .nstudio-mobile-sheet-close{display:flex!important}
  .nstudio-page .order-layout>.nstudio-design-sidebar .nstudio-design-main-tabs{display:none!important}
  .nstudio-page .order-layout>.nstudio-design-sidebar>.nstudio-context-adjust-panel{display:none!important}
  .nstudio-page.nstudio-mobile-sheet-design .order-layout>.nstudio-design-sidebar [data-nstudio-design-main-panel="surface"]{display:none!important}
  .nstudio-page.nstudio-mobile-sheet-design .order-layout>.nstudio-design-sidebar [data-nstudio-design-main-panel="add"]{display:block!important}
  .nstudio-page.nstudio-mobile-sheet-surface .order-layout>.nstudio-design-sidebar [data-nstudio-design-main-panel="add"]{display:none!important}
  .nstudio-page.nstudio-mobile-sheet-surface .order-layout>.nstudio-design-sidebar [data-nstudio-design-main-panel="surface"]{display:block!important}
  .nstudio-page .nstudio-design-main-panel[data-nstudio-design-main-panel="add"] .nstudio-design-primary-tools{grid-template-columns:repeat(3,minmax(0,1fr))!important;margin-bottom:18px!important}
  .nstudio-page .nstudio-design-main-panel[data-nstudio-design-main-panel="add"] .nstudio-design-primary-tool{min-height:56px!important}
  .nstudio-page #nstudioQuickUploadMount .nstudio-asset-upload-dropzone{min-height:0!important;padding:8px!important;border:0!important;background:transparent!important;display:block!important;text-align:left!important}
  .nstudio-page #nstudioQuickUploadMount .nstudio-asset-upload-icon,.nstudio-page #nstudioQuickUploadMount .nstudio-asset-upload-title,.nstudio-page #nstudioQuickUploadMount .nstudio-asset-upload-copy,.nstudio-page #nstudioQuickUploadMount .nstudio-asset-upload-note{display:none!important}
  .nstudio-page #nstudioQuickUploadMount .main-upload-prominent{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:44px!important;padding:9px 11px!important;font-size:12px!important;border-radius:9px!important}

  /* Mobile uses in-sheet switching, never the desktop drawers. */
  .nstudio-page .nstudio-side-drawer,.nstudio-page .nstudio-drawer-backdrop{display:none!important}
  .nstudio-page .nstudio-mobile-surface-home[hidden]{display:none!important}
  
  
  

  /* Fixed bottom navigation: always dark. */
  .nstudio-page .nstudio-mobile-bottom-nav{
    position:fixed!important;z-index:99740!important;left:50%!important;bottom:calc(8px + env(safe-area-inset-bottom,0px))!important;transform:translateX(-50%)!important;
    display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;width:min(520px,calc(100vw - 12px))!important;
    padding:5px!important;border:1px solid #111!important;border-radius:14px!important;background:#242424!important;color:#fff!important;box-shadow:0 8px 28px rgba(0,0,0,.34)!important;
  }
  .nstudio-page .nstudio-mobile-bottom-nav button{min-width:0!important;min-height:50px!important;padding:7px 4px!important;border:0!important;border-radius:10px!important;background:transparent!important;color:#fff!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;font:inherit!important;font-size:11px!important;line-height:1.15!important;font-weight:850!important;cursor:pointer!important}
  .nstudio-page .nstudio-mobile-bottom-nav button .icon{margin:0!important;font-size:17px!important}
  .nstudio-page .nstudio-mobile-bottom-nav button:hover,.nstudio-page .nstudio-mobile-bottom-nav button:focus-visible{background:#383838!important;color:#fff!important;outline:none!important}
  .nstudio-page .nstudio-mobile-bottom-nav button.is-active{background:#4a4a4a!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)!important}

  .nstudio-page .nstudio-mobile-workspace-backdrop{position:fixed!important;z-index:99700!important;inset:0!important;display:block!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;background:rgba(21,31,28,.42)!important;transition:opacity .18s ease,visibility .18s ease!important}
  .nstudio-page.nstudio-mobile-sheet-open .nstudio-mobile-workspace-backdrop{opacity:1!important;visibility:visible!important;pointer-events:auto!important}

  /* Short contextual edit entry point. */
  .nstudio-page .nstudio-mobile-adjust-prompt{position:absolute!important;z-index:28!important;transform:translateX(-50%)!important;max-width:190px!important;min-height:40px!important;padding:8px 12px!important;border:1px solid rgba(255,255,255,.28)!important;border-radius:999px!important;background:#252525!important;color:#fff!important;box-shadow:0 5px 18px rgba(0,0,0,.28)!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;font-size:11px!important;font-weight:850!important;line-height:1.2!important;cursor:pointer!important;white-space:nowrap!important;text-align:center!important}
  .nstudio-page .nstudio-mobile-adjust-prompt[hidden]{display:none!important}
  .nstudio-page .nstudio-mobile-adjust-prompt .icon{margin:0!important;font-size:14px!important}

  .nstudio-page .nstudio-mobile-adjust-sheet{position:fixed!important;z-index:99730!important;left:50%!important;right:auto!important;bottom:calc(70px + env(safe-area-inset-bottom,0px))!important;width:min(680px,calc(100vw - 4px))!important;height:min(76dvh,700px)!important;max-height:calc(100dvh - 88px - env(safe-area-inset-bottom,0px))!important;margin:0!important;padding:0 10px 14px!important;border:1px solid rgba(57,79,72,.13)!important;border-radius:18px 18px 12px 12px!important;background:#fff!important;box-shadow:0 -10px 34px rgba(23,38,33,.20)!important;overflow:auto!important;overscroll-behavior:contain!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translate(-50%,calc(100% + 92px))!important;transition:transform .22s ease,opacity .16s ease,visibility .16s ease!important;display:block!important}
  .nstudio-page.nstudio-mobile-sheet-adjust .nstudio-mobile-adjust-sheet{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translate(-50%,0)!important}
  .nstudio-page .nstudio-mobile-adjust-head{position:sticky!important;z-index:6!important;top:0!important;min-height:54px!important;margin:0 -10px 12px!important;padding:10px 52px 10px 14px!important;border-bottom:1px solid #e6e9e7!important;background:rgba(255,255,255,.97)!important;display:flex!important;align-items:center!important;justify-content:flex-start!important}
  .nstudio-page .nstudio-mobile-adjust-head strong{font-size:14px!important;color:#29332f!important}
  .nstudio-page .nstudio-mobile-adjust-head .nstudio-mobile-sheet-close{display:flex!important}
  .nstudio-page .nstudio-mobile-adjust-mount>.nstudio-context-adjust-panel{display:block!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important}
  .nstudio-page .nstudio-mobile-adjust-mount>.nstudio-context-adjust-panel[hidden]{display:none!important}

  /* Final review stays below the workspace and starts collapsed as three compact buttons. */
  .nstudio-page:not(.is-nstudio-embed) #nstudioFinalReview{position:relative!important;z-index:1!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin:18px 0 84px!important;padding:8px!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;overflow:visible!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important}
  .nstudio-page:not(.is-nstudio-embed) #nstudioFinalReview>.nstudio-final-review-heading{display:none!important}
  .nstudio-page:not(.is-nstudio-embed) #nstudioFinalReview>.nstudio-final-review-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important}
  .nstudio-page:not(.is-nstudio-embed) #nstudioFinalReview>.nstudio-final-review-tabs button{min-width:0!important;min-height:44px!important;padding:7px 5px!important;border:1px solid #d9dfdc!important;border-radius:9px!important;background:#f6f8f7!important;color:#52625d!important;font:inherit!important;font-size:10px!important;font-weight:850!important;white-space:normal!important;cursor:pointer!important}
  .nstudio-page:not(.is-nstudio-embed) #nstudioFinalReview>.nstudio-final-review-tabs button .icon{display:block!important;margin:0 auto 3px!important;font-size:15px!important}
  .nstudio-page:not(.is-nstudio-embed) #nstudioFinalReview>.nstudio-final-review-tabs button.is-active{background:#425f56!important;border-color:#425f56!important;color:#fff!important}
  .nstudio-page:not(.is-nstudio-embed) #nstudioFinalReview .nstudio-editor-summary{display:none!important;width:100%!important;margin:10px 0 0!important}
  .nstudio-page:not(.is-nstudio-embed) #nstudioFinalReview.is-mobile-review-expanded .nstudio-editor-summary{display:block!important}
  .nstudio-page:not(.is-nstudio-embed) #nstudioFinalReview .nstudio-final-card{display:none!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important}
  .nstudio-page:not(.is-nstudio-embed) #nstudioFinalReview.is-mobile-review-expanded .nstudio-final-card.is-final-tab-active{display:block!important}
  .nstudio-page:not(.is-nstudio-embed) #nstudioFinalReview .nstudio-final-card-scroll{height:auto!important;max-height:360px!important}

  /* Embed mobile: local workspace, no spec, design/surface only. */
  .nstudio-page.is-nstudio-embed{padding-bottom:0!important;overflow-x:clip!important}
  .nstudio-page.is-nstudio-embed .order-layout>.nstudio-spec-sidebar,.nstudio-page.is-nstudio-embed #nstudioFinalReview{display:none!important}
  .nstudio-page.is-nstudio-embed #nstudio-editor>.wrap{padding:0!important}
  .nstudio-page.is-nstudio-embed .nstudio-app-shell{margin:0!important;padding:4px!important;border:0!important;border-radius:0!important}
  .nstudio-page.is-nstudio-embed .order-layout.nstudio-embed-mobile-workspace{position:relative!important;isolation:isolate!important;min-height:430px!important;overflow:hidden!important;border-radius:10px!important}
  .nstudio-page.is-nstudio-embed .order-layout.nstudio-embed-mobile-workspace>.preview-panel{position:relative!important;z-index:1!important;padding:6px 6px 72px!important}
  .nstudio-page.is-nstudio-embed .order-layout.nstudio-embed-mobile-workspace>.nstudio-mobile-bottom-nav{position:absolute!important;z-index:40!important;left:8px!important;right:8px!important;bottom:8px!important;width:auto!important;max-width:none!important;transform:none!important;margin:0!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .nstudio-page.is-nstudio-embed .nstudio-mobile-bottom-nav [data-nstudio-mobile-sheet="spec"]{display:none!important}
  .nstudio-page.is-nstudio-embed .order-layout.nstudio-embed-mobile-workspace>.nstudio-mobile-workspace-backdrop{position:absolute!important;z-index:20!important;inset:0!important;border-radius:10px!important}
  .nstudio-page.is-nstudio-embed .order-layout.nstudio-embed-mobile-workspace>.nstudio-design-sidebar{display:block!important;position:absolute!important;z-index:30!important;left:8px!important;right:8px!important;top:8px!important;bottom:68px!important;width:auto!important;height:auto!important;max-height:none!important;margin:0!important;padding:0 10px 14px!important;border:1px solid rgba(0,0,0,.13)!important;border-radius:16px!important;background:#fff!important;box-shadow:0 -10px 34px rgba(0,0,0,.22)!important;overflow:auto!important;overscroll-behavior:contain!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(calc(100% + 84px))!important;transition:transform .22s ease,opacity .16s ease,visibility .16s ease!important}
  .nstudio-page.is-nstudio-embed.nstudio-mobile-sheet-design .order-layout.nstudio-embed-mobile-workspace>.nstudio-design-sidebar,.nstudio-page.is-nstudio-embed.nstudio-mobile-sheet-surface .order-layout.nstudio-embed-mobile-workspace>.nstudio-design-sidebar{transform:translateY(0)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
  .nstudio-page.is-nstudio-embed .order-layout.nstudio-embed-mobile-workspace>.nstudio-mobile-adjust-sheet{position:absolute!important;z-index:35!important;left:8px!important;right:8px!important;top:8px!important;bottom:68px!important;width:auto!important;height:auto!important;max-height:none!important;transform:translateY(calc(100% + 84px))!important}
  .nstudio-page.is-nstudio-embed.nstudio-mobile-sheet-adjust .order-layout.nstudio-embed-mobile-workspace>.nstudio-mobile-adjust-sheet{transform:translateY(0)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
}

@media (max-width:560px){
  .nstudio-page:not(.is-nstudio-embed) .order-layout>.nstudio-spec-sidebar,.nstudio-page:not(.is-nstudio-embed) .order-layout>.nstudio-design-sidebar,.nstudio-page .nstudio-mobile-adjust-sheet{width:calc(100vw - 4px)!important;height:min(80dvh,700px)!important;bottom:calc(68px + env(safe-area-inset-bottom,0px))!important;border-radius:16px 16px 8px 8px!important}
  .nstudio-page .nstudio-mobile-bottom-nav{width:calc(100vw - 8px)!important;bottom:calc(4px + env(safe-area-inset-bottom,0px))!important;border-radius:12px!important}
  .nstudio-page .nstudio-mobile-bottom-nav button{min-height:48px!important}
  .nstudio-page .design-shell{height:min(62dvh,580px)!important;min-height:360px!important}
}

/* ---- original style block boundary ---- */

/* v44: visual cleanup / editor history / compact review */
.nstudio-page{margin-top:0!important;}
.nstudio-page .nstudio-app-shell{
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.nstudio-page .nstudio-app-shell>.order-layout{background:#fff!important;}
.nstudio-page .order-layout>aside.panel:first-child,
.nstudio-page .preview-panel,
.nstudio-page .nstudio-design-sidebar{
  box-shadow:none!important;
}

/* product selector */
.nstudio-page .nstudio-top-control-section .nstudio-type-grid .option span{
  min-height:52px!important;
  padding:10px 12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  text-align:center!important;
  font-size:14px!important;
  line-height:1.3!important;
  font-weight:800!important;
}
.nstudio-page .nstudio-top-control-section .nstudio-type-grid .option span .icon{
  margin:0!important;
  font-size:15px!important;
  line-height:1!important;
}
.nstudio-page .nstudio-top-control-section .nstudio-type-grid .option input:checked+span{
  background:#e7f0f6!important;color:#365d75!important;border-color:#8faebe!important;
  box-shadow:inset 0 0 0 1px rgba(74,119,146,.10)!important;
}
.nstudio-page .nstudio-top-control-section .nstudio-type-grid .option input:checked+span .icon{color:#4d7690!important;}
.nstudio-page .nstudio-final-review{border-top:0!important;}
@media (min-width:901px){
  .nstudio-page .order-layout>.nstudio-spec-sidebar,
  .nstudio-page .order-layout>.preview-panel,
  .nstudio-page .order-layout>.nstudio-design-sidebar{
    border:1px solid #e1e4e3!important;border-radius:12px!important;background:#fff!important;
  }
}

/* specification inputs: wrapper is the only visible textbox */
.nstudio-page .nstudio-spec-sidebar .image-size-input-wrap{
  height:40px!important;
  min-height:40px!important;
  padding:0 9px!important;
  background:#fff!important;
  border:1px solid #d8dddb!important;
  box-shadow:none!important;
  align-items:center!important;
}
.nstudio-page .nstudio-spec-sidebar .image-size-input-wrap input,
.nstudio-page .nstudio-spec-sidebar input[type="number"]{
  height:38px!important;
  min-height:0!important;
  margin:0!important;
  padding:0 3px!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  line-height:38px!important;
}
.nstudio-page .nstudio-spec-sidebar .image-size-input-wrap:focus-within{
  border-color:#78978e!important;
  background:#fff!important;
  box-shadow:0 0 0 2px rgba(62,105,93,.08)!important;
}

/* product + undo/redo row */
.nstudio-page .nstudio-editor-context-row{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  min-height:40px!important;
  margin:0 0 10px!important;
}
.nstudio-page .nstudio-editor-product-name{
  display:flex!important;
  align-items:center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.nstudio-page .nstudio-editor-product-name .nstudio-product-name{
  font-size:12px!important;
  line-height:1.35!important;
  color:#5b6662!important;
}
.nstudio-page .nstudio-editor-history-top{
  display:flex!important;
  width:auto!important;
  margin:0!important;
  gap:5px!important;
}
.nstudio-page .nstudio-editor-history-top .action-btn{
  min-height:34px!important;
  padding:6px 9px!important;
  font-size:11px!important;
  white-space:nowrap!important;
}

/* reset is intentionally tucked away */

/* export belongs to the finish/check area */
.nstudio-page .nstudio-final-export-actions{
  display:flex!important;
  justify-content:center!important;
  margin:14px 0 0!important;
}
.nstudio-page .nstudio-final-export-actions .nstudio-export-dropdown{position:relative!important;overflow:visible!important;}
.nstudio-page .nstudio-final-export-actions .nstudio-export-dropdown>summary.action-btn{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  list-style:none!important;
  cursor:pointer!important;
}
.nstudio-page .nstudio-final-export-actions .nstudio-export-dropdown>summary.action-btn::-webkit-details-marker{display:none!important;}
.nstudio-page .nstudio-final-export-actions .nstudio-export-dropdown>summary.action-btn::after{
  content:"▼";margin-left:3px;font-size:9px;opacity:.65;
}
.nstudio-page .nstudio-final-export-actions .nstudio-export-dropdown>.editor-file-menu{
  position:absolute!important;
  z-index:10000!important;
  left:50%!important;
  right:auto!important;
  top:calc(100% + 6px)!important;
  bottom:auto!important;
  transform:translateX(-50%)!important;
  min-width:250px!important;
}
.nstudio-page .nstudio-final-export-actions .nstudio-export-dropdown>summary.action-btn{
  min-height:42px!important;
  padding:9px 15px!important;
  font-weight:800!important;
}

/* desktop inline tools do not need a return button */
@media (min-width:901px){
  .nstudio-page #nstudioInlineToolClose{display:none!important;}
}

/* mobile sheets */
@media (max-width:900px){
  .nstudio-page .preview-head.nstudio-column-heading-editor{display:none!important;}
  .nstudio-page #nstudio-editor>.wrap{width:100%!important;padding-left:2px!important;padding-right:2px!important;}
  .nstudio-page .nstudio-app-shell{width:100%!important;padding-left:2px!important;padding-right:2px!important;}
  .nstudio-page .order-layout>.preview-panel{width:100%!important;padding-left:4px!important;padding-right:4px!important;border:0!important;border-radius:0!important;}
  .nstudio-page:not(.is-nstudio-embed) .order-layout>.nstudio-spec-sidebar,
  .nstudio-page:not(.is-nstudio-embed) .order-layout>.nstudio-design-sidebar,
  .nstudio-page .nstudio-mobile-adjust-sheet{border:0!important;box-shadow:0 -8px 28px rgba(0,0,0,.16)!important;}
  .nstudio-page #nstudioFinalReview{border:0!important;border-radius:0!important;padding-left:2px!important;padding-right:2px!important;}
  .nstudio-page .nstudio-top-control-section .nstudio-type-grid .option span{
    min-height:50px!important;
    padding:9px 7px!important;
    font-size:13px!important;
  }
  .nstudio-page .nstudio-editor-context-row{
    justify-content:center!important;
    margin-bottom:8px!important;
  }
  .nstudio-page .nstudio-editor-product-name{display:none!important;}
  .nstudio-page .nstudio-editor-history-top .action-btn{
    min-width:44px!important;
    min-height:38px!important;
    padding:7px 10px!important;
    font-size:11px!important;
  }

  .nstudio-page .order-layout>.nstudio-spec-sidebar>.sidebar-spec-title,
  .nstudio-page .order-layout>.nstudio-design-sidebar>.nstudio-design-sidebar-head,
  .nstudio-page .nstudio-mobile-adjust-head{
    position:sticky!important;
    top:0!important;
    min-height:56px!important;
    padding:10px 58px 10px 14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
  }
  .nstudio-page .nstudio-mobile-sheet-close{
    position:absolute!important;
    right:10px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    min-height:38px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:50%!important;
    background:#f1f3f2!important;
    color:#46534e!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  .nstudio-page .nstudio-mobile-sheet-close .icon{margin:0!important;font-size:16px!important;}

  .nstudio-page #nstudioInlineToolClose:not([hidden]){
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    min-width:78px!important;
    min-height:38px!important;
    padding:7px 10px!important;
    font-size:11px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  .nstudio-page #nstudioInlineToolClose[hidden]{display:none!important;}

  /* compact "final review" = heading + 3 buttons, panel opens only after tap */
  .nstudio-page #nstudioFinalReview{
    padding:18px 6px 6px!important;
    border-top:1px solid #e5e8e7!important;
  }
  .nstudio-page #nstudioFinalReview>.nstudio-final-review-heading{
    display:flex!important;
    justify-content:center!important;
    margin:0 0 9px!important;
    padding:0!important;
    min-height:0!important;
    border:0!important;
    background:transparent!important;
    font-size:14px!important;
    line-height:1.3!important;
    font-weight:850!important;
  }
  .nstudio-page #nstudioFinalReview>.nstudio-final-review-heading .nstudio-mobile-sheet-close{display:none!important;}
  .nstudio-page #nstudioFinalReview>.nstudio-final-review-tabs{
    position:static!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
  }
  .nstudio-page #nstudioFinalReview>.nstudio-final-review-tabs button{
    min-height:42px!important;
    padding:7px 5px!important;
    border:1px solid #dadddc!important;
    border-radius:9px!important;
    background:#fff!important;
    font-size:10px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
  }
  .nstudio-page #nstudioFinalReview>.nstudio-final-review-tabs button.is-active{
    background:#f2f4f3!important;
    color:#263b35!important;
  }
  .nstudio-page #nstudioFinalReview:not(.is-mobile-review-expanded) .nstudio-editor-summary{
    display:none!important;
  }
  .nstudio-page .nstudio-final-export-actions{margin-top:10px!important;}
  .nstudio-page .nstudio-final-export-actions .nstudio-export-dropdown>summary.action-btn{
    min-height:40px!important;
    font-size:11px!important;
  }
}

/* ---- original style block boundary ---- */

/* v45: specification border / design spacing / shape module / cloth color / export */
/* 仕様内の各項目には枠を重ねない。カラム外枠は3カラム共通ルールで統一する */
.nstudio-page .order-layout>.nstudio-spec-sidebar>.form-block{border:0!important;}

/* デザイン内の各ツール見出しを上端から離す */
.nstudio-page .nstudio-design-inline-tool{padding-top:18px!important;}
.nstudio-page .nstudio-design-inline-tool-head{margin-top:4px!important;margin-bottom:20px!important;padding-top:0!important;}
.nstudio-page .nstudio-design-inline-tool-section:not([hidden]){margin-top:20px!important;}

/* 素材だけに残っていた旧色を除去。選択状態は他タブ共通スタイルに任せる */
.nstudio-page #nstudioOpenAddDrawer:not(.is-active){background:#fff!important;color:#46534f!important;}
.nstudio-page #nstudioOpenAddDrawer:not(.is-active) .icon{color:#5b776e!important;}

/* 布色は独立した淡い面にし、背景デザインとの距離を取る */
.nstudio-page .nstudio-design-main-panel[data-nstudio-design-main-panel="surface"] .nstudio-design-cloth-card{padding:0!important;background:transparent!important;}
.nstudio-page .nstudio-cloth-color-block{padding:14px!important;border:0!important;border-radius:10px!important;background:#fff!important;}
.nstudio-page .nstudio-cloth-color-block .nstudio-design-quick-heading{margin-bottom:12px!important;}
.nstudio-page .nstudio-design-main-panel[data-nstudio-design-main-panel="surface"] .nstudio-design-section-separator{height:0!important;margin:24px 0 18px!important;border:0!important;}


/* 袋縫い/チ設定は縫製ブロック内で左端を揃え、数値欄はサイズ欄と同じ入力枠 */
.nstudio-page .spec-field-sewing>.nstudio-pocket-spec,
.nstudio-page .spec-field-sewing>.nstudio-tie-spec{
  width:100%!important;margin:12px 0 0!important;padding:12px 0 0!important;border:0!important;border-top:1px dashed rgba(117,96,68,.20)!important;
  border-radius:0!important;background:transparent!important;box-shadow:none!important;box-sizing:border-box!important;
}
.nstudio-page .spec-field-sewing>.nstudio-pocket-spec .spec-block-title,
.nstudio-page .spec-field-sewing>.nstudio-tie-spec .spec-block-title{margin:0 0 10px!important;padding:0!important;font-size:12px!important;color:#76654e!important;}
.nstudio-page .spec-field-sewing .nstudio-pocket-size-row,
.nstudio-page .spec-field-sewing .nstudio-tie-subfield,
.nstudio-page .spec-field-sewing .nstudio-tie-size-row{width:100%!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-sizing:border-box!important;}
.nstudio-page .spec-field-sewing .nstudio-tie-spec-grid{gap:12px!important;align-items:stretch!important;}
.nstudio-page .spec-field-sewing .nstudio-pocket-size-row>label,
.nstudio-page .spec-field-sewing .nstudio-tie-size-row>label{display:grid!important;grid-template-columns:48px minmax(0,132px)!important;align-items:center!important;justify-content:start!important;gap:8px!important;width:100%!important;margin:0!important;}
.nstudio-page .spec-field-sewing .nstudio-tie-size-row{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;}
.nstudio-page .spec-field-sewing .nstudio-tie-subfield{display:grid!important;grid-template-columns:48px 42px minmax(0,86px)!important;align-items:center!important;justify-content:start!important;gap:8px!important;}
.nstudio-page .nstudio-pocket-number,.nstudio-page .nstudio-tie-number{
  display:flex!important;align-items:center!important;width:132px!important;height:40px!important;min-height:40px!important;padding:0 9px!important;
  border:1px solid #d8dddb!important;border-radius:7px!important;background:#fff!important;box-shadow:none!important;box-sizing:border-box!important;overflow:hidden!important;
}
.nstudio-page .nstudio-pocket-number input,.nstudio-page .nstudio-tie-number input{
  flex:1 1 auto!important;width:0!important;min-width:0!important;height:38px!important;margin:0!important;padding:0 3px!important;
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline:0!important;line-height:38px!important;
  -moz-appearance:textfield!important;appearance:textfield!important;
}
.nstudio-page .nstudio-pocket-number input::-webkit-inner-spin-button,.nstudio-page .nstudio-pocket-number input::-webkit-outer-spin-button,
.nstudio-page .nstudio-tie-number input::-webkit-inner-spin-button,.nstudio-page .nstudio-tie-number input::-webkit-outer-spin-button,
.nstudio-page .nstudio-spec-sidebar .image-size-input-wrap input[type=number]::-webkit-inner-spin-button,.nstudio-page .nstudio-spec-sidebar .image-size-input-wrap input[type=number]::-webkit-outer-spin-button{appearance:none!important;-webkit-appearance:none!important;margin:0!important;}
.nstudio-page .nstudio-pocket-number em,.nstudio-page .nstudio-tie-number em{flex:0 0 auto!important;margin-left:4px!important;font-size:10px!important;font-style:normal!important;color:#737d79!important;}
.nstudio-page .nstudio-pocket-number:focus-within,.nstudio-page .nstudio-tie-number:focus-within{border-color:#78978e!important;box-shadow:0 0 0 2px rgba(62,105,93,.08)!important;}
.nstudio-page .spec-field-sewing .nstudio-tie-check{margin:0!important;padding:0!important;}


/* 図形モジュール: 主操作を明確化。追加を左、クリアを右 */
.nstudio-page #nstudioRightShapePanelMount .nstudio-shape-add-btn{
  order:-10!important;min-height:42px!important;border-color:#315d53!important;background:#315d53!important;color:#fff!important;font-weight:850!important;
}
.nstudio-page #nstudioRightShapePanelMount .nstudio-shape-add-btn:hover{background:#284e46!important;border-color:#284e46!important;color:#fff!important;}
.nstudio-page #nstudioRightShapePanelMount .nstudio-shape-clear-btn{
  order:-9!important;min-height:42px!important;border-color:#cbd3d0!important;background:#fff!important;color:#59645f!important;font-weight:800!important;
}
.nstudio-page #nstudioRightShapePanelMount .nstudio-shape-clear-btn:hover{background:#f3f5f4!important;color:#35443f!important;}
.nstudio-page #nstudioRightShapePanelMount .nstudio-module-loading{display:none!important;}

/* 入稿書き出しは最終確認から少し離し、最終アクションとして大きく */
.nstudio-page .nstudio-final-export-actions{margin-top:24px!important;}
.nstudio-page .nstudio-final-export-actions .nstudio-export-dropdown>summary.action-btn{
  min-width:280px!important;min-height:50px!important;padding:12px 20px!important;font-size:14px!important;font-weight:850!important;justify-content:center!important;
}

@media(max-width:900px){
  .nstudio-page .nstudio-design-inline-tool{padding-top:18px!important;}
  .nstudio-page .nstudio-design-inline-tool-head{margin-bottom:16px!important;}
  .nstudio-page .nstudio-cloth-color-block{padding:13px!important;}
  .nstudio-page .nstudio-final-export-actions{margin-top:20px!important;}
  .nstudio-page .nstudio-final-export-actions .nstudio-export-dropdown{width:100%!important;}
  .nstudio-page .nstudio-final-export-actions .nstudio-export-dropdown>summary.action-btn{width:min(100%,360px)!important;min-width:0!important;min-height:48px!important;font-size:13px!important;}
}

/* ---- original style block boundary ---- */

/* v46: 3カラム外枠統一 / embed安定化 / デザイン見出し共通化 */
@media (min-width:901px){
  .nstudio-page .order-layout>.nstudio-spec-sidebar,
  .nstudio-page .order-layout>.preview-panel,
  .nstudio-page .order-layout>#nstudioDesignSidebar{
    border:1px solid #dfe3e2!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:none!important;
  }
}
@media (max-width:900px){
  .nstudio-page .order-layout>.nstudio-spec-sidebar,
  .nstudio-page .order-layout>.preview-panel,
  .nstudio-page .order-layout>#nstudioDesignSidebar{border:0!important;border-radius:0!important;}
}

/* 画像調整は中の調整パネルだけを見せ、外側の二重枠を作らない */
.nstudio-page .nstudio-context-adjust-panel{
  padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
}
.nstudio-page .nstudio-context-adjust-panel>.nstudio-selected-adjust-wrap{margin-top:0!important;padding-top:0!important;border-top:0!important;}

/* 布色は白。背景デザインとの区切りは余白だけで表現 */
.nstudio-page .nstudio-cloth-color-block{background:#fff!important;}

/* デザイン内は「見出し1つ + 説明」の共通フォーマット */
.nstudio-page .nstudio-design-inline-tool-head{
  display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important;
}
.nstudio-page .nstudio-design-inline-tool-head-copy{min-width:0!important;display:block!important;}
.nstudio-page .nstudio-design-inline-tool-head-copy>strong{display:block!important;font-size:14px!important;line-height:1.35!important;color:#334640!important;}
.nstudio-page .nstudio-design-inline-tool-head-copy>small{display:block!important;margin-top:4px!important;font-size:10px!important;line-height:1.5!important;font-weight:500!important;color:#7a8581!important;}
.nstudio-page #nstudioRightUploadPanelMount .nstudio-design-quick-upload{padding-top:0!important;}

/* embedではワークスペース自体の見出しは不要 */
.nstudio-page.is-nstudio-embed .preview-head.nstudio-column-heading-editor,
.nstudio-page.is-nstudio-embed #nstudioDesignSidebar>.nstudio-design-sidebar-head{display:none!important;}
.nstudio-page.is-nstudio-embed #nstudioDesignSidebar{padding-top:10px!important;}

/* embedの上位2タブはアイコンと文字を必ず横中央に揃える */
.nstudio-page.is-nstudio-embed .nstudio-design-main-tabs button{
  display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:7px!important;
  text-align:center!important;line-height:1.2!important;
}
.nstudio-page.is-nstudio-embed .nstudio-design-main-tabs button>.icon{
  display:inline-block!important;position:static!important;flex:0 0 auto!important;width:16px!important;margin:0!important;transform:none!important;text-align:center!important;
}
.nstudio-page.is-nstudio-embed .nstudio-design-main-tabs button>span{display:inline-block!important;min-width:0!important;}

/* embedはiframeの高さではなく横幅だけで編集領域サイズを決める。
   nstudioembed.php が通常フローの実高を親へ通知するため、vh/dvhは使わない。 */
.nstudio-page.is-nstudio-embed .design-shell,
.nstudio-page.is-nstudio-embed .preview-display-shell{
  height:clamp(460px,58vw,620px)!important;
  min-height:0!important;
  max-height:none!important;
}
.nstudio-page.is-nstudio-embed .order-layout,
.nstudio-page.is-nstudio-embed .preview-panel{margin-bottom:0!important;}
@media(min-width:901px){
  .nstudio-page.is-nstudio-embed .order-layout>#nstudioDesignSidebar{
    position:static!important;
    top:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }
}
@media(max-width:900px){
  .nstudio-page.is-nstudio-embed .order-layout.nstudio-embed-mobile-workspace{min-height:0!important;border-radius:0!important;}
  .nstudio-page.is-nstudio-embed .order-layout.nstudio-embed-mobile-workspace>.preview-panel{padding:4px 4px 68px!important;}
  .nstudio-page.is-nstudio-embed #nstudioDesignSidebar{padding-top:8px!important;}
}

/* ---- original style block boundary ---- */

/* v48 targeted fixes: placeholder / kamon selector / column alignment / embed height flow */
.nstudio-page.is-nstudio-bokashi-active .upload-placeholder{display:none!important}

.nstudio-page .nstudio-kamon-pattern-slots--primary,
.nstudio-page .nstudio-kamon-pattern-slots{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}
.nstudio-page .nstudio-kamon-pattern-slot-item{display:grid!important;grid-template-columns:1fr!important;gap:6px!important;padding:8px!important}
.nstudio-page .nstudio-kamon-pattern-slot-head{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;gap:7px!important;min-width:0!important}
.nstudio-page .nstudio-kamon-pattern-slot-head>span{font-size:10px!important;font-weight:850!important;color:#56655f!important;white-space:nowrap!important}
.nstudio-page .nstudio-kamon-pattern-slot-head>strong{min-width:0!important;font-size:11px!important;line-height:1.3!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.nstudio-page .nstudio-kamon-pattern-slot-head .nstudio-kamon-pattern-clear{min-height:0!important;height:auto!important;padding:0!important;border:0!important;background:transparent!important;color:#8b5353!important;font-size:10px!important;font-weight:700!important;text-decoration:underline!important;box-shadow:none!important}
.nstudio-page .nstudio-kamon-pattern-slot-head .nstudio-kamon-pattern-clear:disabled{opacity:.32!important;text-decoration:none!important;cursor:default!important}
.nstudio-page .nstudio-kamon-pattern-slot-item>.nstudio-kamon-pattern-slot{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;width:100%!important;min-height:44px!important;padding:5px 9px!important}
.nstudio-page .nstudio-kamon-select-thumb{display:flex!important;align-items:center!important;justify-content:center!important;width:34px!important;height:34px!important;flex:0 0 34px!important;border:1px solid #dde5e1!important;border-radius:6px!important;background:#fff!important;overflow:hidden!important}
.nstudio-page .nstudio-kamon-select-thumb img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;padding:3px!important}

@media(min-width:901px){
  .nstudio-page .order-layout>.preview-panel{padding-top:14px!important}
  .nstudio-page .order-layout>#nstudioDesignSidebar{padding-top:14px!important}
  .nstudio-page .preview-head.nstudio-column-heading-editor,
  .nstudio-page #nstudioDesignSidebar>.nstudio-design-sidebar-head{height:36px!important;min-height:36px!important;margin:0 0 14px!important;padding:0!important;align-items:flex-start!important}
  .nstudio-page .editor-mode-row,
  .nstudio-page .nstudio-design-main-tabs{margin-top:0!important}
  .nstudio-page.is-nstudio-embed .order-layout{align-items:start!important;height:auto!important;min-height:0!important;overflow:visible!important}
  .nstudio-page.is-nstudio-embed .order-layout>#nstudioDesignSidebar{position:static!important;top:auto!important;height:auto!important;max-height:none!important;overflow:visible!important}
}

/* ---- original style block boundary ---- */

/* 埋め込み右端切れ:
   古い埋め込みCSSの固定360pxと実グリッド340pxの競合を無効化し、
   デザイン欄を必ず割り当て列の内側へ収める。 */
.nstudio-page.is-nstudio-embed .order-layout > #nstudioDesignSidebar,
.nstudio-page.is-nstudio-embed .order-layout > .nstudio-design-sidebar{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  margin-left:0!important;
  margin-right:0!important;
}
.nstudio-page.is-nstudio-embed .order-layout,
.nstudio-page.is-nstudio-embed .preview-panel{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* ランダムはぼかし設定の最下部 */
.nstudio-page .nstudio-bokashi-random-row{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  margin:10px 0 0!important;
  padding:10px 0 0!important;
  border-top:1px solid #e2e7e5!important;
}
.nstudio-page .nstudio-bokashi-random-row small{
  min-width:0!important;
  color:#74807c!important;
  font-size:9px!important;
  line-height:1.4!important;
}
.nstudio-page .nstudio-bokashi-randomize{
  flex:0 0 auto!important;
  min-height:34px!important;
  padding:6px 12px!important;
  border-color:#8aa89e!important;
  background:#edf5f2!important;
  color:#315d53!important;
  font-size:11px!important;
  font-weight:850!important;
}



/* Texture controls: neutral gray range track */
.nstudio-page .nstudio-texture-range input[type=range]{appearance:none;-webkit-appearance:none;height:5px;border:0;border-radius:999px;background:#d7dcda;outline:none}
.nstudio-page .nstudio-texture-range input[type=range]::-webkit-slider-runnable-track{height:5px;border-radius:999px;background:#d7dcda}
.nstudio-page .nstudio-texture-range input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;margin-top:-5.5px;border:1px solid #7e8783;border-radius:50%;background:#f5f6f5;box-shadow:0 1px 2px rgba(0,0,0,.12)}
.nstudio-page .nstudio-texture-range input[type=range]::-moz-range-track{height:5px;border:0;border-radius:999px;background:#d7dcda}
.nstudio-page .nstudio-texture-range input[type=range]::-moz-range-thumb{width:16px;height:16px;border:1px solid #7e8783;border-radius:50%;background:#f5f6f5;box-shadow:0 1px 2px rgba(0,0,0,.12)}


/* v20260830 UI polish: language menu / upload hint / selection / capture / steppers */
.nstudio-page .nstudio-language-control{
  display:inline-flex!important;align-items:center!important;gap:7px!important;min-height:38px!important;
  padding:8px 10px!important;border:0!important;border-radius:9px!important;background:#eef3f1!important;
  color:#344c45!important;font-size:12px!important;font-weight:800!important;line-height:1!important;cursor:pointer!important;
  box-sizing:border-box!important;
}
.nstudio-page .nstudio-language-control:hover{background:#e3ece8!important;}
.nstudio-page .nstudio-language-control>.icon{margin:0!important;color:#526c64!important;}
.nstudio-page .nstudio-language-control .nstudio-language-label{display:none!important;}
.nstudio-page .nstudio-language-control select{
  appearance:auto!important;-webkit-appearance:auto!important;min-width:72px!important;height:22px!important;margin:0!important;padding:0!important;
  border:0!important;outline:0!important;background:transparent!important;color:#344c45!important;font:inherit!important;font-weight:800!important;cursor:pointer!important;
  box-shadow:none!important;
}

/* 画像調整の旧疑似見出しを消し、実見出しだけ表示 */
.nstudio-page .image-size-panel::before{content:none!important;display:none!important;}

/* キャンバスD&D案内: 背景だけ透過して布色を見せる */
.nstudio-page .upload-placeholder{
  background:rgba(255,255,255,.72)!important;
}
.nstudio-page .upload-placeholder:hover{background:rgba(255,255,255,.82)!important;}

/* 背景画像/間口表示中でも、下部の完成プレビュー生成用DOMを裏で計測可能にする */
.nstudio-page #previewPlainShell.is-capture-visible{
  display:block!important;position:absolute!important;left:-10000px!important;top:0!important;width:640px!important;max-width:640px!important;
  visibility:hidden!important;pointer-events:none!important;
}

/* iSpin.js numeric inputs — common NUNO STUDIO styling */
.nstudio-page .nstudio-ispin{
  position:relative!important;display:inline-flex!important;align-items:stretch!important;
  flex:1 1 auto!important;min-width:0!important;max-width:100%!important;vertical-align:middle!important;
  overflow:visible!important;padding:0!important;
}
.nstudio-page .nstudio-ispin>input[type=number]{
  width:100%!important;min-width:0!important;max-width:none!important;padding-right:34px!important;
  -moz-appearance:textfield!important;
}
.nstudio-page .nstudio-ispin>input[type=number]::-webkit-inner-spin-button,
.nstudio-page .nstudio-ispin>input[type=number]::-webkit-outer-spin-button{
  -webkit-appearance:none!important;appearance:none!important;margin:0!important;
}
.nstudio-page .nstudio-ispin-button{
  position:absolute!important;right:2px!important;width:28px!important;height:50%!important;
  min-width:28px!important;min-height:0!important;margin:0!important;padding:0!important;
  border:0!important;border-radius:4px!important;background:transparent!important;box-shadow:none!important;
  color:#64716c!important;cursor:pointer!important;touch-action:manipulation!important;z-index:3!important;
}
.nstudio-page .nstudio-ispin-button-inc{top:1px!important;bottom:auto!important;}
.nstudio-page .nstudio-ispin-button-dec{top:auto!important;bottom:1px!important;}
.nstudio-page .nstudio-ispin-button:before{
  content:''!important;display:block!important;position:absolute!important;left:50%!important;top:50%!important;
  width:0!important;height:0!important;transform:translate(-50%,-50%)!important;
  border-left:4px solid transparent!important;border-right:4px solid transparent!important;
}
.nstudio-page .nstudio-ispin-button-inc:before{border-bottom:5px solid currentColor!important;border-top:0!important;}
.nstudio-page .nstudio-ispin-button-dec:before{border-top:5px solid currentColor!important;border-bottom:0!important;}
.nstudio-page .nstudio-ispin-button:hover{color:#283630!important;background:rgba(70,91,83,.07)!important;}
.nstudio-page .nstudio-ispin-button:active{background:rgba(70,91,83,.13)!important;}
.nstudio-page .nstudio-ispin-button:disabled{opacity:.35!important;cursor:default!important;background:transparent!important;}
@media(max-width:720px){
  .nstudio-page .nstudio-ispin>input[type=number]{padding-right:42px!important;min-height:42px!important;}
  .nstudio-page .nstudio-ispin-button{right:1px!important;width:38px!important;min-width:38px!important;}
  .nstudio-page .nstudio-ispin-button:before{border-left-width:5px!important;border-right-width:5px!important;}
  .nstudio-page .nstudio-ispin-button-inc:before{border-bottom-width:6px!important;}
  .nstudio-page .nstudio-ispin-button-dec:before{border-top-width:6px!important;}
}


/* 2026-08-30: editor header alignment / lighter mode labels */
.nstudio-page .editor-mode-switch .mode-btn{
  font-weight:600!important;
}
.nstudio-page .nstudio-editor-context-row{
  justify-content:space-between!important;
  width:100%!important;
}
.nstudio-page .nstudio-editor-product-name{
  flex:1 1 auto!important;
  min-width:0!important;
  justify-content:flex-start!important;
  text-align:left!important;
}
.nstudio-page .nstudio-editor-product-name .nstudio-product-name{
  display:block!important;
  width:100%!important;
  text-align:left!important;
}
.nstudio-page .nstudio-editor-history-top{
  flex:0 0 auto!important;
  margin-left:auto!important;
  justify-content:flex-end!important;
}

/* Module visibility is UI-only. Hidden modules keep their state/runtime alive. */
.nstudio-page .is-nstudio-module-hidden{display:none!important;}
.nstudio-page .nstudio-design-main-tabs.is-nstudio-tab-switch-hidden{display:none!important;}

/* ===== v46: coarse external UI visibility controls ===== */
/* Standalone keeps the normal UI. Embed keeps its existing defaults, except export is visible. */
.nstudio-page[data-nstudio-ui-header="hide"] .nstudio-top-control-section{display:none!important;}
.nstudio-page[data-nstudio-ui-spec="hide"] .order-layout>.nstudio-spec-sidebar{display:none!important;}
.nstudio-page[data-nstudio-ui-preview="hide"] .order-layout>.preview-panel{display:none!important;}
.nstudio-page[data-nstudio-ui-design="hide"] .order-layout>#nstudioDesignSidebar,
.nstudio-page[data-nstudio-ui-design="hide"] .order-layout>.nstudio-design-sidebar{display:none!important;}
.nstudio-page[data-nstudio-ui-mobile-nav="hide"] #nstudioMobileBottomNav{display:none!important;}
.nstudio-page[data-nstudio-ui-export="hide"] .nstudio-final-export-actions{display:none!important;}
.nstudio-page[data-nstudio-ui-review="hide"][data-nstudio-ui-export="hide"] #nstudioFinalReview{display:none!important;}

/* Embed defaults: header/spec/review hidden, preview/design/export visible. */
.nstudio-page.is-nstudio-embed #nstudioFinalReview{
  display:block!important;
  width:100%!important;
  margin:14px 0 0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.nstudio-page.is-nstudio-embed #nstudioFinalReview>.nstudio-final-review-heading,
.nstudio-page.is-nstudio-embed #nstudioFinalReview>.nstudio-final-review-tabs,
.nstudio-page.is-nstudio-embed #nstudioFinalReview>.nstudio-editor-summary{display:none!important;}
.nstudio-page.is-nstudio-embed .nstudio-final-export-actions{
  display:flex!important;
  justify-content:center!important;
  width:100%!important;
  margin:0!important;
  padding:8px 0 0!important;
}
.nstudio-page.is-nstudio-embed .nstudio-final-export-actions .nstudio-export-dropdown{width:auto!important;max-width:100%!important;}

/* Explicit show can restore the coarse areas that embed normally hides. */
.nstudio-page.is-nstudio-embed[data-nstudio-ui-header="show"] .nstudio-top-control-section{display:grid!important;}
.nstudio-page.is-nstudio-embed[data-nstudio-ui-spec="show"] .order-layout>.nstudio-spec-sidebar{display:block!important;}
.nstudio-page.is-nstudio-embed[data-nstudio-ui-preview="show"] .order-layout>.preview-panel{display:block!important;}
.nstudio-page.is-nstudio-embed[data-nstudio-ui-design="show"] .order-layout>#nstudioDesignSidebar,
.nstudio-page.is-nstudio-embed[data-nstudio-ui-design="show"] .order-layout>.nstudio-design-sidebar{display:block!important;}
.nstudio-page.is-nstudio-embed[data-nstudio-ui-review="show"] #nstudioFinalReview{
  display:block!important;
  margin:18px 0 0!important;
  padding:18px 6px 6px!important;
  border-top:1px solid #e5e8e7!important;
  background:#fff!important;
}
.nstudio-page.is-nstudio-embed[data-nstudio-ui-review="show"] #nstudioFinalReview>.nstudio-final-review-heading{display:flex!important;}
.nstudio-page.is-nstudio-embed[data-nstudio-ui-review="show"] #nstudioFinalReview>.nstudio-final-review-tabs{display:grid!important;}
.nstudio-page.is-nstudio-embed[data-nstudio-ui-review="show"] #nstudioFinalReview.is-mobile-review-expanded>.nstudio-editor-summary{display:block!important;}
.nstudio-page.is-nstudio-embed[data-nstudio-ui-review="show"] #nstudioFinalReview:not(.is-mobile-review-expanded)>.nstudio-editor-summary{display:none!important;}
.nstudio-page.is-nstudio-embed[data-nstudio-ui-export="show"] .nstudio-final-export-actions{display:flex!important;}

@media (min-width:901px){
  /* 3 areas */
  .nstudio-page.is-nstudio-embed[data-nstudio-ui-spec="show"][data-nstudio-ui-preview="show"][data-nstudio-ui-design="show"] .order-layout{
    display:grid!important;
    grid-template-columns:clamp(220px,17vw,280px) minmax(0,1fr) clamp(290px,28vw,360px)!important;
    gap:10px!important;
  }
  .nstudio-page.is-nstudio-embed[data-nstudio-ui-spec="show"][data-nstudio-ui-preview="show"][data-nstudio-ui-design="show"] .order-layout>.nstudio-spec-sidebar{grid-column:1!important;}
  .nstudio-page.is-nstudio-embed[data-nstudio-ui-spec="show"][data-nstudio-ui-preview="show"][data-nstudio-ui-design="show"] .order-layout>.preview-panel{grid-column:2!important;width:auto!important;}
  .nstudio-page.is-nstudio-embed[data-nstudio-ui-spec="show"][data-nstudio-ui-preview="show"][data-nstudio-ui-design="show"] .order-layout>#nstudioDesignSidebar{grid-column:3!important;width:100%!important;max-width:360px!important;}

  /* preview + design (embed default) */
  .nstudio-page.is-nstudio-embed[data-nstudio-ui-spec="hide"][data-nstudio-ui-preview="show"][data-nstudio-ui-design="show"] .order-layout{
    display:grid!important;grid-template-columns:minmax(0,1fr) clamp(290px,28vw,360px)!important;gap:10px!important;
  }
  .nstudio-page.is-nstudio-embed[data-nstudio-ui-spec="hide"][data-nstudio-ui-preview="show"][data-nstudio-ui-design="show"] .order-layout>.preview-panel{grid-column:1!important;width:auto!important;}
  .nstudio-page.is-nstudio-embed[data-nstudio-ui-spec="hide"][data-nstudio-ui-preview="show"][data-nstudio-ui-design="show"] .order-layout>#nstudioDesignSidebar{grid-column:2!important;width:100%!important;max-width:360px!important;}

  /* spec + preview */
  .nstudio-page.is-nstudio-embed[data-nstudio-ui-spec="show"][data-nstudio-ui-preview="show"][data-nstudio-ui-design="hide"] .order-layout{
    display:grid!important;grid-template-columns:clamp(220px,20vw,300px) minmax(0,1fr)!important;gap:10px!important;
  }
  .nstudio-page.is-nstudio-embed[data-nstudio-ui-spec="show"][data-nstudio-ui-preview="show"][data-nstudio-ui-design="hide"] .order-layout>.nstudio-spec-sidebar{grid-column:1!important;}
  .nstudio-page.is-nstudio-embed[data-nstudio-ui-spec="show"][data-nstudio-ui-preview="show"][data-nstudio-ui-design="hide"] .order-layout>.preview-panel{grid-column:2!important;width:auto!important;}

  /* spec + design */
  .nstudio-page.is-nstudio-embed[data-nstudio-ui-spec="show"][data-nstudio-ui-preview="hide"][data-nstudio-ui-design="show"] .order-layout{
    display:grid!important;grid-template-columns:minmax(240px,320px) minmax(290px,360px)!important;justify-content:center!important;gap:10px!important;
  }
  .nstudio-page.is-nstudio-embed[data-nstudio-ui-spec="show"][data-nstudio-ui-preview="hide"][data-nstudio-ui-design="show"] .order-layout>.nstudio-spec-sidebar{grid-column:1!important;}
  .nstudio-page.is-nstudio-embed[data-nstudio-ui-spec="show"][data-nstudio-ui-preview="hide"][data-nstudio-ui-design="show"] .order-layout>#nstudioDesignSidebar{grid-column:2!important;width:100%!important;max-width:360px!important;}

  /* one remaining workspace area */
  .nstudio-page.is-nstudio-embed[data-nstudio-ui-spec="hide"][data-nstudio-ui-design="hide"] .order-layout,
  .nstudio-page.is-nstudio-embed[data-nstudio-ui-spec="hide"][data-nstudio-ui-preview="hide"] .order-layout,
  .nstudio-page.is-nstudio-embed[data-nstudio-ui-preview="hide"][data-nstudio-ui-design="hide"] .order-layout{display:block!important;}
  .nstudio-page.is-nstudio-embed[data-nstudio-ui-spec="show"][data-nstudio-ui-preview="hide"][data-nstudio-ui-design="hide"] .order-layout>.nstudio-spec-sidebar,
  .nstudio-page.is-nstudio-embed[data-nstudio-ui-spec="hide"][data-nstudio-ui-preview="show"][data-nstudio-ui-design="hide"] .order-layout>.preview-panel,
  .nstudio-page.is-nstudio-embed[data-nstudio-ui-spec="hide"][data-nstudio-ui-preview="hide"][data-nstudio-ui-design="show"] .order-layout>#nstudioDesignSidebar{width:100%!important;max-width:none!important;margin:0!important;}
}

@media (max-width:900px){
  .nstudio-page[data-nstudio-ui-mobile-nav="hide"]{padding-bottom:0!important;}
  .nstudio-page.is-nstudio-embed[data-nstudio-ui-mobile-nav="hide"] .order-layout.nstudio-embed-mobile-workspace>.preview-panel{padding-bottom:6px!important;}

  .nstudio-page[data-nstudio-ui-spec="hide"] #nstudioMobileBottomNav [data-nstudio-mobile-sheet="spec"]{display:none!important;}
  .nstudio-page[data-nstudio-ui-design="hide"] #nstudioMobileBottomNav [data-nstudio-mobile-sheet="design"],
  .nstudio-page[data-nstudio-ui-design="hide"] #nstudioMobileBottomNav [data-nstudio-mobile-sheet="surface"]{display:none!important;}
  .nstudio-page.is-nstudio-embed #nstudioMobileBottomNav{
    grid-template-columns:none!important;
    grid-auto-flow:column!important;
    grid-auto-columns:minmax(0,1fr)!important;
  }

  /* When spec is explicitly enabled in an embed, make it a local sheet like design. */
  .nstudio-page.is-nstudio-embed[data-nstudio-ui-spec="show"] .order-layout.nstudio-embed-mobile-workspace>.nstudio-spec-sidebar{
    display:block!important;position:absolute!important;z-index:31!important;left:8px!important;right:8px!important;top:8px!important;bottom:68px!important;
    width:auto!important;height:auto!important;max-height:none!important;margin:0!important;padding:0 10px 14px!important;
    border:1px solid rgba(0,0,0,.13)!important;border-radius:16px!important;background:#fff!important;box-shadow:0 -10px 34px rgba(0,0,0,.22)!important;
    overflow:auto!important;overscroll-behavior:contain!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;
    transform:translateY(calc(100% + 84px))!important;transition:transform .22s ease,opacity .16s ease,visibility .16s ease!important;
  }
  .nstudio-page.is-nstudio-embed[data-nstudio-ui-spec="show"].nstudio-mobile-sheet-spec .order-layout.nstudio-embed-mobile-workspace>.nstudio-spec-sidebar{
    transform:translateY(0)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;
  }
  .nstudio-page.is-nstudio-embed[data-nstudio-ui-spec="show"] #nstudioMobileBottomNav [data-nstudio-mobile-sheet="spec"]{display:flex!important;}
}

/* visibility precedence fixes */
.nstudio-page[data-nstudio-ui-review="hide"] #nstudioFinalReview>.nstudio-final-review-heading,
.nstudio-page[data-nstudio-ui-review="hide"] #nstudioFinalReview>.nstudio-final-review-tabs,
.nstudio-page[data-nstudio-ui-review="hide"] #nstudioFinalReview>.nstudio-editor-summary{display:none!important;}
.nstudio-page[data-nstudio-ui-review="hide"][data-nstudio-ui-export="show"] #nstudioFinalReview{display:block!important;}
.nstudio-page.is-nstudio-embed[data-nstudio-ui-export="hide"] .nstudio-final-export-actions,
.nstudio-page[data-nstudio-ui-export="hide"] .nstudio-final-export-actions{display:none!important;}

/* Optional tutorial launcher. The tutorial engine itself is lazy-loaded and detachable. */
.nstudio-page .nstudio-mode-heading>.nstudio-tutorial-launcher{
  grid-column:3!important;
  grid-row:1/3!important;
  align-self:center!important;
  justify-self:start!important;
  position:static!important;
  z-index:3;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:38px;
  margin-left:8px;
  padding:8px 12px;
  border:1px solid rgba(49,93,83,.28);
  border-radius:999px;
  background:#fff;
  color:#315d53;
  box-shadow:0 4px 12px rgba(35,61,54,.10);
  font:inherit;
  font-size:12px;
  font-weight:850;
  line-height:1.2;
  white-space:nowrap;
  cursor:pointer;
}
.nstudio-page .nstudio-mode-heading>.nstudio-tutorial-launcher:hover{background:#f3f8f5;}
.nstudio-page .nstudio-mode-heading>.nstudio-tutorial-launcher:disabled{opacity:.55;cursor:wait;}
.nstudio-page .nstudio-mode-heading>.nstudio-tutorial-launcher.is-tutorial-active{display:none!important;}
.nstudio-page .nstudio-mode-heading>.nstudio-tutorial-launcher>i.icon{
  width:1em!important;height:1em!important;margin:0!important;line-height:1!important;vertical-align:middle!important;
}
@media(max-width:760px){
  .nstudio-page .nstudio-mode-heading>.nstudio-tutorial-launcher{min-height:34px;margin-left:4px;padding:6px 9px;font-size:11px;}
}


