/* Summon Launch studio: the existing draft form remains the source of truth. */
#draft-dialog.summon-studio {
  width: min(1040px, calc(100% - 40px));
  max-width: none;
  max-height: calc(100dvh - 40px);
  overflow: hidden;
  border-radius: 14px;
}
.summon-studio .dialog-shell {
  display: flex;
  flex-direction: column;
  padding: 25px 32px 0;
  max-height: calc(100dvh - 42px);
}
.summon-studio .dialog-top { margin-bottom: 10px; flex: none; }
.summon-studio .dialog-top .small-label { color: #315cff; font-size: 12px; }
.summon-studio .dialog-shell > h2 { font-size: 34px; letter-spacing: -1.4px; flex: none; }
.summon-studio .dialog-description { margin-top: 10px; flex: none; font-size: 13px; }
.studio-workspace {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .96fr);
  gap: 34px;
  margin: 24px -10px 0 0;
  padding: 0 10px 24px 0;
  scrollbar-width: thin;
  scrollbar-color: #c4d1e9 transparent;
}
.studio-form, .studio-side { min-width: 0; }
.summon-studio .form-fields { margin-top: 0; gap: 15px; }
.summon-studio form label { font-size: 13px; }
.summon-studio form small { font-size: 11px; line-height: 1.6; color: #626e85; }
.summon-studio .beneficiary-field { margin-top: 23px; }
.summon-studio form input { background: #fff; min-height: 48px; }
.summon-studio .ticker-input { background: #fff; }
.summon-studio .ticker-input input { background: transparent; }
.summon-studio .command-output { margin-top: 26px; }
.summon-studio .command-output textarea {
  font-size: 12px;
  min-height: 112px;
  line-height: 1.8;
  padding: 15px;
  background: #f1f5ff;
  border-color: #e1e8f8;
  overflow-wrap: anywhere;
}
.summon-studio .form-status { font-size: 12px; min-height: 40px; margin-top: 15px; }
.summon-studio .studio-existing-note { display: none; }
.studio-preview { background: #eef3ff; border-radius: 10px; overflow: hidden; }
.studio-preview-summary { display: none; }
.studio-preview-body { padding: 18px 22px 17px; }
.studio-art-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.studio-preview-label { color: #50617e; font-size: 12px; }
.studio-motion {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
  border: none;
  background: none;
  color: #526483;
  min-height: 44px;
  padding: 0;
  font-size: 11px;
}
.studio-motion:hover { color: #315cff; }
.studio-motion svg { width: 15px; height: 15px; }
.studio-art { position: relative; height: 215px; margin: -4px -18px -8px; isolation: isolate; }
.studio-sculpture { width: 100%; height: 100%; overflow: visible; fill: none; stroke: none; }
.studio-ground { fill: #dce6fa; }
.studio-voxel-group { animation: studio-float 7s ease-in-out infinite; transform-origin: 50% 50%; }
.studio-voxel { stroke: #eef3ff; stroke-width: .6px; }
.studio-face-left { fill: #315cff; }
.studio-face-right { fill: #2344bf; }
.studio-face-top { fill: #8aa8ff; }
.studio-voxel:nth-child(4n) .studio-face-top { fill: #c4d5ff; }
.studio-voxel:nth-child(4n) .studio-face-left { fill: #6e91ef; }
.studio-voxel:nth-child(4n) .studio-face-right { fill: #4f71d4; }
.studio-assembling .studio-voxel { animation: studio-assemble .65s cubic-bezier(.18,.75,.24,1) both; animation-delay: var(--piece-delay); }
.studio-art code {
  position: absolute;
  font: 10px/1.4 Consolas, "Courier New", monospace;
  color: #5572b1;
  padding: 7px 9px;
  background: #f8faff;
  border: 1px solid #dce5f8;
  border-radius: 4px;
  max-width: 70%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  z-index: 1;
}
.studio-code-name { top: 10px; left: 13px; }
.studio-code-symbol { bottom: 20px; right: 8px; }
.studio-art-bracket { position: absolute; top: 75px; font: 45px/1 Consolas, monospace; font-weight: 200; color: #bfd0f4; }
.bracket-left { left: 12px; }
.bracket-right { right: 12px; }
.studio-token-identity { margin-top: 3px; }
.studio-preview-symbol { font: 12px/1.6 Consolas, monospace; color: #315cff; overflow-wrap: anywhere; }
.studio-preview-name { font-size: 29px; font-weight: 550; letter-spacing: -.9px; line-height: 1.22; margin-top: 5px; overflow-wrap: anywhere; }
.studio-recipient { display: flex; flex-wrap: wrap; gap: 5px 15px; justify-content: space-between; margin-top: 21px; font-size: 11px; }
.studio-recipient > span { color: #626f88; }
.studio-recipient > strong { font-weight: 500; color: #304261; overflow-wrap: anywhere; }
.studio-recipient-profile { display: inline-flex; align-items: center; min-height: 44px; margin-block: -12px; padding: 8px 0 8px 8px; color: #315cff; text-decoration: underline; text-decoration-color: #a8b9f4; text-underline-offset: 4px; }
.studio-recipient-profile:hover { text-decoration-color: currentColor; }
.studio-recipient-profile:focus-visible { outline: 2px solid #315cff; outline-offset: 3px; border-radius: 3px; }
.studio-preview-note { border-top: 1px solid #d8e3f6; padding-top: 12px; margin-top: 12px; font-size: 11px; line-height: 1.6; color: #5e6f8b; }
.studio-collection { margin-top: 24px; }
.studio-collection-header { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.studio-collection-header h3 { font-size: 15px; font-weight: 550; }
.studio-count { font-size: 11px; font-variant-numeric: tabular-nums; color: #626f88; }
.studio-local-note { font-size: 11px; color: #626f88; margin-top: 4px; }
.studio-draft-list { margin-top: 12px; }
.studio-drafts-empty { padding: 12px 0; }
.studio-drafts-empty strong { font-size: 13px; font-weight: 500; color: #4a5a75; }
.studio-drafts-empty p { font-size: 12px; line-height: 1.65; margin-top: 5px; color: #65738b; max-width: 320px; }
.studio-draft-row { display: flex; align-items: stretch; border-top: 1px solid #e8edf5; min-width: 0; }
.studio-draft-load { display: flex; align-items: center; justify-content: space-between; gap: 10px; text-align: left; min-width: 0; flex: 1; border: none; background: transparent; padding: 12px 8px 12px 0; min-height: 58px; }
.studio-draft-load:hover { color: #315cff; }
.studio-draft-text { display: flex; flex-direction: column; min-width: 0; gap: 3px; }
.studio-draft-text strong { font-size: 13px; font-weight: 500; overflow-wrap: anywhere; }
.studio-draft-text > span { font-size: 11px; color: #65738b; overflow-wrap: anywhere; }
.studio-draft-state { font-size: 11px; color: #315cff; flex: none; }
.studio-draft-delete { flex: none; width: 44px; min-height: 44px; background: transparent; border: none; color: #7786a0; display: grid; place-items: center; }
.studio-draft-delete svg { width: 18px; height: 18px; }
.studio-draft-delete:hover { color: #ae493c; background: #fff5f3; }
.studio-footer { flex: none; border-top: 1px solid #e4eaf4; background: #fff; padding: 11px 0 20px; }
.studio-notice { display: flex; justify-content: space-between; align-items: center; gap: 10px; min-height: 27px; margin-bottom: 7px; }
.studio-message { font-size: 11px; color: #5f6f89; line-height: 1.5; }
.studio-notice[data-warning="true"] .studio-message { color: #a34632; }
.studio-undo { border: none; background: transparent; color: #315cff; text-decoration: underline; text-underline-offset: 3px; font-size: 12px; min-height: 44px; padding: 0 8px; }
.studio-undo[hidden] { display: none; }
.studio-footer-actions { display: flex; align-items: stretch; justify-content: space-between; gap: 18px; }
.studio-save { display: flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid #d7e0ef; border-radius: 7px; background: #fff; padding: 12px 17px; min-height: 48px; font-size: 13px; white-space: nowrap; }
.studio-save svg { width: 17px; height: 17px; }
.studio-save:hover:not(:disabled) { border-color: #9db3ec; color: #315cff; }
.summon-studio .draft-actions { display: flex; gap: 10px; margin: 0; }
.summon-studio .draft-actions .button { min-height: 48px; font-size: 13px; padding: 12px 20px; gap: 18px; }
.summon-studio[data-studio-playing="false"] .studio-voxel-group,
.summon-studio[data-studio-playing="false"] .studio-voxel { animation: none !important; }
@keyframes studio-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@keyframes studio-assemble { from { opacity: 0; transform: translate(var(--piece-x),var(--piece-y)); } to { opacity: 1; transform: translate(0,0); } }
@media (max-width: 900px) {
  .studio-workspace { gap: 24px; grid-template-columns: minmax(0,1fr) minmax(0,.9fr); }
  .summon-studio .dialog-shell { padding-inline: 25px; }
  .studio-preview-body { padding-inline: 18px; }
  .studio-art { height: 200px; }
  .studio-motion span { font-size: 10px; }
}
@media (max-width: 760px) {
  #draft-dialog.summon-studio { width: calc(100% - 20px); max-height: calc(100dvh - 20px); border-radius: 11px; }
  .summon-studio .dialog-shell { padding: 15px 20px 0; max-height: calc(100dvh - 22px); }
  .summon-studio .dialog-top { margin-bottom: 7px; }
  .summon-studio .dialog-shell > h2 { font-size: 29px; letter-spacing: -1px; }
  .summon-studio .dialog-description { font-size: 12px; line-height: 1.55; margin-top: 9px; }
  .studio-workspace { display: block; margin-top: 20px; padding-bottom: 20px; }
  .summon-studio .form-fields { grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); gap: 12px; }
  .summon-studio form label { font-size: 12px; }
  .summon-studio form small { font-size: 11px; }
  .summon-studio .beneficiary-field { margin-top: 19px; }
  .summon-studio .command-output { margin-top: 20px; }
  .summon-studio .command-output textarea { min-height: 96px; }
  .summon-studio .form-status { font-size: 11px; min-height: 0; }
  .studio-side { margin-top: 23px; }
  .studio-preview-summary { display: flex; align-items: center; gap: 12px; min-height: 76px; padding: 15px 17px; cursor: pointer; list-style: none; }
  .studio-preview-summary::-webkit-details-marker { display: none; }
  .studio-mini-mark { width: 34px; height: 34px; display: grid; grid-template-columns: 13px 13px; grid-template-rows: 13px 13px; gap: 3px; transform: rotate(-8deg); flex: none; }
  .studio-mini-mark i { display: block; background: #315cff; }
  .studio-mini-mark i:nth-child(2) { transform: translate(3px,-3px); background: #98b3ff; }
  .studio-mini-mark i:nth-child(3) { background: #7295f1; }
  .studio-summary-copy { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1; }
  .studio-summary-label { font-size: 11px; color: #61708a; }
  .studio-summary-name { font-size: 13px; font-weight: 500; overflow-wrap: anywhere; }
  .studio-summary-recipient { font-size: 11px; color: #536580; overflow-wrap: anywhere; }
  .studio-disclosure { color: #315cff; flex: none; }
  .studio-disclosure svg { width: 20px; height: 20px; transition: transform .2s ease; }
  .studio-preview[open] .studio-disclosure svg { transform: rotate(180deg); }
  .studio-preview-body { padding-top: 0; }
  .studio-preview[open] .studio-art-top > .studio-preview-label { visibility: hidden; }
  .studio-art { height: 218px; }
  .studio-preview-name { font-size: 27px; }
  .studio-collection { margin-top: 21px; }
  .studio-footer { padding-bottom: max(14px, env(safe-area-inset-bottom)); padding-top: 8px; }
  .studio-notice { margin-bottom: 8px; min-height: 22px; }
  .studio-footer-actions { gap: 9px; }
  .studio-save { padding: 10px 12px; font-size: 12px; min-width: 0; gap: 6px; }
  .studio-save svg { display: none; }
  .summon-studio .draft-actions { flex: 1; gap: 7px; }
  .summon-studio .draft-actions .button { flex: 1; padding: 10px 11px; gap: 7px; font-size: 12px; min-height: 46px; justify-content: center; }
  .summon-studio .draft-actions .button span[aria-hidden] { display: none; }
}
@media (max-width: 370px) {
  .summon-studio .dialog-shell { padding-inline: 15px; }
  .studio-save { padding-inline: 8px; }
  .summon-studio .draft-actions .button { padding-inline: 8px; font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .summon-studio .studio-voxel-group, .summon-studio .studio-voxel { animation: none !important; }
}
