@font-face {
  font-family: "PixelIslandServiceFont";
  src: url("./assets/fonts/PixelMplus10-Regular.ttf?v=20260605-5") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

:root {
  --letter-gap: .08em;
  --ink: #243044;
  --muted: #6f7b91;
  --paper: #fff7e8;
  --panel: rgba(255, 248, 232, .94);
  --panel-solid: #fff8e9;
  --panel-2: #ffeec9;
  --line: #2d3c50;
  --line-soft: rgba(45, 60, 80, .18);
  --pink: #ff85b3;
  --pink-dark: #f05f98;
  --mint: #73d6a4;
  --sky: #77c9ff;
  --sun: #ffd66e;
  --danger: #ff6b6b;
  --shadow: 6px 6px 0 rgba(34, 45, 63, .14);
  --hard-shadow: 4px 4px 0 rgba(34, 45, 63, .22);
}

* { box-sizing: border-box; }

html, body { height: 100%; }

body {
  margin: 0;
  color: var(--ink);
  background: #92d8ff;
  font-family: "PixelIslandServiceFont", sans-serif;
  letter-spacing: var(--letter-gap);
  overflow: hidden;
}

button, input, select, textarea { font: inherit; }
button { -webkit-tap-highlight-color: transparent; }

.app {
  position: relative;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
}

#worldCanvas {
  display: block;
  width: 100vw;
  height: 100vh;
  image-rendering: pixelated;
  cursor: grab;
  background: #8cd4ff;
}

#worldCanvas.dragging { cursor: grabbing; }
#worldCanvas.placeCursor { cursor: copy; }
#worldCanvas.eraseCursor { cursor: not-allowed; }

.hud {
  position: absolute;
  z-index: 5;
  background: var(--panel);
  border: 2px solid var(--line);
  border-radius: 0;
  box-shadow: var(--shadow);
  backdrop-filter: blur(8px);
}

.topHud {
  top: 14px;
  left: 14px;
  right: 14px;
  min-height: 70px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 14px;
  pointer-events: none;
}

.logo {
  font-weight: 900;
  letter-spacing: .04em;
  font-size: 20px;
}

.logo span {
  display: inline-block;
  background: var(--pink);
  border: 2px solid var(--line);
  padding: 1px 6px;
  margin-left: 6px;
  font-size: 13px;
  transform: rotate(-2deg);
}

.subline {
  margin-top: 3px;
  color: var(--muted);
  font-size: 13px;
}

.authorCard {
  width: 190px;
  border: 2px solid var(--line);
  background: #fffdf5;
  padding: 6px 8px;
  pointer-events: auto;
}
.authorCard span {
  display: block;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
}
.authorCard input {
  margin-top: 3px;
  padding: 5px 6px;
  border-width: 2px;
  background: #fffaf0;
}

.clockCard {
  width: 230px;
  border: 2px solid var(--line);
  background: #fffdf5;
  padding: 8px 10px;
}

.phaseLabel {
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: 14px;
}

.phaseBar {
  margin-top: 6px;
  height: 10px;
  background: #dfe8f0;
  border: 2px solid var(--line);
  overflow: hidden;
}

.phaseBar span {
  display: block;
  width: 0%;
  height: 100%;
  background: linear-gradient(90deg, #ffd66e, #77c9ff, #6862e8);
}

.clockHint {
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
}

.edgeAdd {
  position: absolute;
  z-index: 8;
  left: 0;
  top: 50%;
  width: 56px;
  height: 86px;
  transform: translateY(-50%);
  border: 3px solid var(--line);
  border-left: 0;
  border-radius: 0 18px 18px 0;
  background: var(--pink);
  color: white;
  font-size: 42px;
  font-weight: 900;
  line-height: 1;
  box-shadow: var(--hard-shadow);
  cursor: pointer;
}

.edgeAdd:hover { background: var(--pink-dark); }
.edgeAdd:active { transform: translateY(calc(-50% + 2px)); box-shadow: 2px 2px 0 rgba(34,45,63,.22); }

 .toolHud {
  right: 14px;
  top: 116px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 7px;
  padding: 9px;
}

.iconButton,
button,
.ghostButton,
.tab,
.tool,
.segmented button {
  border: 2px solid var(--line);
  border-radius: 0;
  background: #fffdf5;
  color: var(--ink);
  padding: 8px 11px;
  font-weight: 850;
  cursor: pointer;
  box-shadow: 3px 3px 0 rgba(36, 48, 68, .16);
  transition: transform .05s, box-shadow .05s, background .12s;
}

button:hover,
.ghostButton:hover,
.tab:hover,
.tool:hover,
.segmented button:hover { background: #fff1c8; }

button:active,
.ghostButton:active,
.tab:active,
.tool:active,
.segmented button:active {
  transform: translate(2px, 2px);
  box-shadow: 1px 1px 0 rgba(36, 48, 68, .16);
}

button.active,
.tab.active,
.tool.active,
.segmented button.active {
  background: var(--sun);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.4), 3px 3px 0 rgba(36,48,68,.18);
}

button.primary {
  background: var(--mint);
  color: #163a2a;
}

button.secondary { background: var(--panel-2); }
button.danger, .tool.danger, .iconButton.danger { background: #ffe4e4; color: #833232; }
button.danger.active, .iconButton.danger.active { background: var(--danger); color: #fffdf5; }

.divider {
  height: 2px;
  background: var(--line);
  opacity: .22;
  margin: 2px 0;
}

.infoHud {
  right: 14px;
  bottom: 14px;
  width: min(360px, calc(100vw - 28px));
  padding: 12px;
}

.selectedAsset {
  font-weight: 900;
  padding-bottom: 8px;
  border-bottom: 2px dashed rgba(45,60,80,.25);
}

.tileInfo {
  white-space: pre-wrap;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
  margin-top: 8px;
}

.studioDrawer {
  position: absolute;
  z-index: 7;
  top: 0;
  left: 0;
  width: min(500px, calc(100vw - 20px));
  height: 100vh;
  background: var(--panel-solid);
  border-right: 3px solid var(--line);
  box-shadow: 10px 0 0 rgba(36, 48, 68, .12);
  transform: translateX(-104%);
  transition: transform .18s ease-out;
  display: grid;
  grid-template-rows: auto auto 1fr;
}

.studioDrawer.open { transform: translateX(0); }

.drawerHead {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px 8px;
  border-bottom: 3px solid var(--line);
  background: #ffe6f0;
}

.drawerHead h1 {
  margin: 0;
  font-size: 24px;
  font-weight: 950;
}

.drawerHead p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.ghostButton {
  width: 36px;
  height: 36px;
  padding: 0;
  font-size: 24px;
  line-height: 1;
}

.tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  padding: 8px;
  background: #fff2d0;
  border-bottom: 3px solid var(--line);
}

.tab { padding: 8px 5px; font-size: 14px; }

.drawerBody {
  overflow-y: auto;
  overflow-anchor: none;
  scroll-behavior: auto;
  padding: 8px;
  background:
    linear-gradient(45deg, rgba(255,255,255,.4) 25%, transparent 25%) 0 0/18px 18px,
    var(--panel-solid);
}

.tabPanel { display: none; }
.tabPanel.active { display: block; }

.compactNameField { margin-bottom: 5px; }
.roleHintInline { margin: 0 0 10px; }

.card {
  background: #fffdf5;
  border: 2px solid var(--line);
  box-shadow: 4px 4px 0 rgba(36,48,68,.12);
  padding: 9px;
  margin-bottom: 8px;
}

.stack > * + * { margin-top: 10px; }
.cardTitle {
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-size: 13px;
  color: #3c4b60;
}

.field {
  display: block;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

input, select, textarea {
  display: block;
  width: 100%;
  margin-top: 5px;
  border: 2px solid var(--line);
  border-radius: 0;
  background: #fffaf0;
  color: var(--ink);
  padding: 9px 10px;
  outline: none;
}

input:focus, select:focus, textarea:focus { background: #fff; box-shadow: 0 0 0 3px rgba(119,201,255,.35); }
textarea { resize: vertical; }
input[type="color"] { height: 39px; padding: 3px; }
input[type="checkbox"] { width: auto; margin: 0 8px 0 0; }

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

.segmented {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.segmented button { font-size: 13px; padding: 8px 5px; }

.hint {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
  margin: 0;
}

.editorCard { padding-bottom: 10px; }
.editorTop {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 9px;
}

.sideSwitcher {
  display: flex;
  gap: 5px;
  align-items: center;
}
.sideSwitcher button { padding: 6px 7px; font-size: 12px; }
.compactEditorTop {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.sideSwitcherLabel {
  font-size: 11px;
  font-weight: 900;
  color: #334155;
  text-transform: uppercase;
}

.toolRow {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
  align-items: center;
  margin-bottom: 8px;
}

.editorToolRow { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.editorHistoryRow { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.editorMoveRow { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.editorFileRow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.toolRow input { margin: 0; }
.tool { padding: 7px 5px; font-size: 12px; }
button:disabled, .tool:disabled { opacity: .45; cursor: not-allowed; transform: none; box-shadow: none; }

#paintCanvas {
  display: block;
  width: min(100%, 330px);
  margin: 0 auto;
  aspect-ratio: 1 / 1;
  image-rendering: pixelated;
  border: 3px solid var(--line);
  background:
    linear-gradient(45deg, #f4ebdc 25%, transparent 25%) 0 0/16px 16px,
    linear-gradient(45deg, transparent 75%, #f4ebdc 75%) 0 0/16px 16px,
    #fffaf0;
  cursor: crosshair;
  user-select: none;
  touch-action: none;
}

.compactSettings .twoCols { align-items: center; }
.toggleLine {
  color: var(--ink);
  font-size: 14px;
  font-weight: 850;
  display: flex;
  align-items: center;
}

.behaviorNote {
  border: 2px dashed rgba(45,60,80,.22);
  padding: 8px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.actionRow {
  display: flex;
  gap: 9px;
  margin: 12px 0;
}
.actionRow.wrap { flex-wrap: wrap; }
.actionRow button { flex: 1; }
.lineageNote { min-height: 18px; color: var(--muted); font-size: 13px; }

.assetList {
  display: grid;
  gap: 10px;
  align-content: start;
  grid-auto-rows: max-content;
  overflow-anchor: none;
}
.collectionToolbar {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 2px solid rgba(36,48,68,.22);
  background: #f8fbff;
}
.collectionSummary {
  font-size: 13px;
  font-weight: 900;
  color: var(--ink);
}
.collectionSearch {
  width: 100%;
  margin: 0;
  padding: 8px 9px;
  border: 2px solid rgba(36,48,68,.28);
  background: #fff;
  font-size: 13px;
}
.collectionFilters {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.collectionFilter {
  flex: 0 0 auto;
  padding: 6px 8px;
  border: 2px solid rgba(36,48,68,.24);
  background: #fff;
  box-shadow: none;
  font-size: 12px;
}
.collectionFilter.active {
  border-color: var(--line);
  background: #dff4ff;
}
.assetCard {
  display: grid;
  grid-template-columns: 68px 1fr;
  gap: 10px;
  border: 2px solid var(--line);
  background: #fff;
  padding: 8px;
  box-shadow: 0 2px 0 rgba(36,48,68,.08);
}
.assetCard.selected { background: #eefbf3; border-color: #3f7d58; }
.assetPreview {
  width: 64px;
  height: 64px;
  image-rendering: pixelated;
  background: #fff3d9;
  border: 2px solid var(--line);
}
.assetMeta strong { display: block; font-size: 15px; }
.assetMeta span { display: block; margin-top: 3px; color: var(--muted); font-size: 13px; line-height: 1.3; }
.assetStatusRow {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 5px;
}
.assetMeta .assetStatus {
  display: inline-flex;
  width: fit-content;
  margin-top: 0;
  padding: 2px 6px;
  border: 1px solid rgba(36,48,68,.2);
  background: #f5f5f5;
  color: #3d4652;
  font-size: 11px;
  font-weight: 900;
}
.assetMeta .assetStatus.placed { background: #e3f8e8; color: #28633e; }
.assetMeta .assetStatus.role { background: #eef2ff; color: #3e4f78; }
.assetActions {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 8px;
}
.assetActions button { padding: 5px 7px; font-size: 12px; }

.modeGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.modeGrid button { padding: 8px 5px; font-size: 13px; }

.legend {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  font-size: 13px;
  color: var(--muted);
}
.legend span { display: flex; align-items: center; gap: 6px; }
.legend i {
  display: inline-block;
  width: 18px;
  height: 18px;
  border: 2px solid var(--line);
}
.legend .water { background: #67b5d9; }
.legend .sand { background: #ead493; }
.legend .grass { background: #8bce76; }
.legend .highland { background: #a7be80; }

.toast {
  position: absolute;
  z-index: 20;
  left: 50%;
  bottom: 22px;
  transform: translateX(-50%);
  background: #fffdf5;
  border: 3px solid var(--line);
  box-shadow: var(--hard-shadow);
  padding: 10px 14px;
  font-weight: 900;
}

[hidden] { display: none !important; }

@media (max-width: 760px) {
  .topHud { align-items: flex-start; flex-direction: column; right: 70px; }
  .clockCard, .authorCard { width: 100%; }
  .toolHud { top: auto; bottom: 122px; right: 10px; }
  .infoHud { left: 10px; right: 10px; width: auto; }
  .studioDrawer { width: calc(100vw - 18px); }
  .toolRow { grid-template-columns: 44px repeat(3, minmax(0, 1fr)); }
}

.toolHud {
  top: 142px;
  right: 18px;
}
.edgeAdd {
  top: calc(50% + 24px);
  width: 62px;
  height: 92px;
  background: linear-gradient(180deg, #ff97c2, #ff75aa);
}
.studioDrawer {
  width: min(520px, calc(100vw - 28px));
}
.drawerHead { background: #ffe1ef; }
.drawerBody {
  background:
    linear-gradient(90deg, rgba(255,255,255,.42) 0 1px, transparent 1px) 0 0/20px 20px,
    linear-gradient(0deg, rgba(255,255,255,.42) 0 1px, transparent 1px) 0 0/20px 20px,
    #fff8e9;
}
.card {
  border-width: 3px;
  box-shadow: 5px 5px 0 rgba(36,48,68,.13);
}
.heroEditor {
  background: #fffdf7;
  border-color: #26364c;
}
#paintCanvas {
  margin-bottom: 10px;
  max-height: min(42vh, 330px);
}
.toolRow {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: 0;
}
.paletteGrid {
  display: grid;
  grid-template-columns: repeat(13, 1fr);
  gap: 3px;
  margin: 6px 0 6px;
  padding: 6px;
  border: 2px solid rgba(36,48,68,.28);
  background: #fff6df;
}
.paletteSwatch {
  position: relative;
  aspect-ratio: 1 / 1;
  min-height: 18px;
  border: 2px solid rgba(36,48,68,.38);
  box-shadow: 2px 2px 0 rgba(36,48,68,.13);
  cursor: pointer;
}
.paletteSwatch.active {
  outline: 3px solid #ff7aad;
  outline-offset: 1px;
  border-color: #26364c;
}
.paletteSwatch::after {
  content: attr(data-code);
  position: absolute;
  right: 2px;
  bottom: 0;
  color: rgba(20,26,38,.52);
  font-size: 8px;
  font-weight: 900;
  text-shadow: 0 1px 0 rgba(255,255,255,.7);
}
.quickSetupBar { margin-bottom: 6px; }
.settingsCard .segmented { margin-top: 2px; }
.markerRow {
  display: grid;
  gap: 6px;
}
.markerChip {
  border: 2px dashed rgba(36,48,68,.25);
  background: #fff6df;
  padding: 8px;
  font-size: 13px;
  color: var(--muted);
  font-weight: 800;
}

.summonCard {
  background: linear-gradient(180deg, #fffdf5, #fff2d7);
}
.finishActions {
  display: grid;
  grid-template-columns: 1.35fr .8fr .6fr;
}
.bigPrimary {
  min-height: 48px;
  font-size: 15px;
  background: linear-gradient(180deg, #89e4ae, #65d596) !important;
}
.sideSwitcher button:first-child.active::after,
.sideSwitcher button:nth-child(2).active::after {
  content: "";
  display: inline-block;
  width: 6px;
}
.spawnPop {
  pointer-events: none;
}
.selectedAsset { font-weight: 900; padding-bottom: 8px; border-bottom: 2px dashed rgba(45,60,80,.25); }
@media (max-width: 720px) {
  .toolHud { top: auto; bottom: 126px; right: 10px; }
  .finishActions { grid-template-columns: 1fr; }
  .paletteGrid { grid-template-columns: repeat(8, 1fr); }
}

.paletteGrid button { width: 100%; aspect-ratio: 1 / 1; padding: 0; min-height: 22px; }
.sideSwitcher button { white-space: nowrap; }
.heroEditor .hint { line-height: 1.35; }

.compactEditorTop { margin-bottom: 4px; min-height: 0; }

.studioDrawer { width: min(600px, calc(100vw - 24px)); }
.paintLayout {
  display: grid;
  grid-template-columns: minmax(220px, 360px) 1fr;
  align-items: start;
  gap: 10px;
  margin: 4px 0 8px;
}
#paintCanvas {
  width: 100%;
  max-width: 360px;
  max-height: none;
  margin: 0;
}
.paletteGrid {
  margin: 0;
  grid-template-columns: repeat(6, 1fr);
  align-content: start;
  gap: 4px;
  max-height: 360px;
  overflow: hidden;
}
.paletteSwatch, .paletteGrid button {
  min-height: 20px;
}
.sideSwitcher { justify-content: flex-start; }
.authorCard span { white-space: nowrap; }
@media (max-width: 720px) {
  .paintLayout { grid-template-columns: 1fr; }
  .paletteGrid { grid-template-columns: repeat(10, 1fr); max-height: none; }
}

.palettePanel { display: grid; gap: 8px; }
.selectionBubble {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 9;
  min-width: 126px;
  max-width: 210px;
  padding: 8px;
  background: #fffdf5;
  border: 3px solid var(--line);
  box-shadow: 4px 4px 0 rgba(36,48,68,.20);
  pointer-events: auto;
  text-align: center;
}
.selectionBubble::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -10px;
  width: 14px;
  height: 14px;
  background: #fffdf5;
  border-right: 3px solid var(--line);
  border-bottom: 3px solid var(--line);
  transform: translateX(-50%) rotate(45deg);
}
.bubbleName {
  font-size: 13px;
  font-weight: 950;
  line-height: 1.2;
  word-break: break-word;
}
.bubbleAuthor {
  margin-top: 2px;
  font-size: 11px;
  color: var(--muted);
  font-weight: 800;
}
.bubbleVotes {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 6px;
  align-items: center;
  margin-top: 6px;
}
.bubbleVotes button {
  padding: 3px 7px;
  min-width: 30px;
  font-size: 12px;
}
#voteScore {
  font-weight: 950;
  font-size: 13px;
  min-width: 20px;
}

.bubbleRemixFrom, .bubbleRemixCount {
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}
.bubbleActions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px;
  margin-top: 6px;
}
.bubbleActions button {
  padding: 4px 6px;
  font-size: 11px;
}
.bubbleVotes button.mutedVote, .assetActions button.mutedAction {
  opacity: .45;
}
.bubbleVotes button.activeVote {
  background: var(--sun);
}

button, .tab, .tool, .iconButton, .cardTitle, .logo {
  text-transform: uppercase;
  font-weight: 900;
}
.libraryHead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.hiddenAssetPanel {
  border: 2px dashed rgba(36,48,68,.35);
  background: #fff3d6;
  padding: 8px;
}
.compactAssetList .assetCard { opacity: .82; }
.librarySectionTitle {
  margin: 12px 0 6px;
  padding: 5px 7px;
  background: #ffe6f0;
  border: 2px solid var(--line);
  box-shadow: 3px 3px 0 rgba(36,48,68,.12);
  font-size: 13px;
  font-weight: 900;
}
.advancedRow {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 8px;
  align-items: center;
  margin-top: 8px;
}
.advancedOnly.active { background: #bde9ff; }
.depthLegend {
  font-size: 11px;
  color: var(--muted);
}

.toolRow { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.editorHistoryRow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.advancedRow {
  grid-template-columns: max-content max-content max-content 1fr;
  gap: 6px;
}
.librarySectionTitle {
  display: block;
  width: 100%;
  text-align: left;
  margin: 10px 0 6px;
  cursor: default;
}
.librarySectionTitle::after {
  content: "";
  float: right;
  color: var(--muted);
  font-size: 11px;
}
.assetSectionGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  align-content: start;
  max-height: 360px;
  overflow-y: auto;
  overflow-anchor: none;
  padding-right: 4px;
}
.libraryEmptyNote {
  color: var(--muted);
  font-size: 13px;
  border: 2px dashed rgba(36,48,68,.2);
  padding: 8px;
  background: #fff9e8;
}
.assetSectionGrid .assetCard {
  grid-template-columns: 54px 1fr;
  gap: 8px;
}
.assetSectionGrid .assetPreview {
  width: 52px;
  height: 52px;
}
.assetSectionGrid .assetActions button { padding: 4px 5px; font-size: 11px; }
@media (max-width: 720px) {
  .assetSectionGrid { grid-template-columns: 1fr; max-height: none; }
  .toolRow { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .editorHistoryRow { grid-template-columns: 1fr 1fr; }
  .advancedRow { grid-template-columns: 1fr 1fr 1fr; }
}

.syncStats {
  padding: 8px 10px;
  border-radius: 12px;
  background: rgba(20, 25, 32, 0.06);
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.advancedRow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  overflow: hidden;
}
.advancedRow .tool {
  flex: 0 1 auto;
  min-width: 0;
  max-width: 100%;
  padding: 7px 7px;
  white-space: nowrap;
}
#advancedHint {
  flex: 1 0 100%;
  min-width: 0;
}
.bubbleActions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.bubbleActions button:only-child,
.bubbleActions button:nth-child(3):last-child {
  grid-column: span 2;
}

.hiddenSectionTitle {
  margin: 8px 0 6px;
  padding: 5px 7px;
  background: #ffe6f0;
  border: 2px solid var(--line);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}
.reportDialog {
  position: fixed;
  z-index: 9998;
  inset: 0;
  display: grid;
  place-items: center;
  background: rgba(20, 25, 34, .34);
}
.reportDialog[hidden] { display: none; }
.reportCard {
  width: min(360px, calc(100vw - 28px));
  background: #fffdf5;
  border: 3px solid var(--line);
  box-shadow: 8px 8px 0 rgba(36,48,68,.25);
  padding: 14px;
}
.reportCard .hint { margin: 8px 0 10px; }
.reportActions button { min-width: 0; }
.assetActions button { min-width: 0; }

.toggleList { display:flex; flex-direction:column; gap:10px; }
.checkRow { display:flex; align-items:center; gap:10px; font-size:14px; color:#243044; }
.checkRow input { width:16px; height:16px; }

body, button, input, select, textarea { font-size: 16px; }
.logo { font-size: 24px; }
.subline { font-size: 15px; }
.authorCard span, .clockHint { font-size: 13px; }
.phaseLabel { font-size: 15px; }
.iconButton, .tool, .tab, button { font-size: 15px; line-height: 1.15; }
.toolHud .iconButton { font-size: 15px; min-width: 74px; padding: 10px 12px; }
.cardTitle { font-size: 17px; }
.field, .hint, .lineageNote, .syncStats { font-size: 15px; line-height: 1.45; }
.toolRow { gap: 8px; }
.editorHistoryRow { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.advancedRow { grid-template-columns: repeat(6, max-content) 1fr; align-items: start; }
.assetMeta strong { font-size: 17px; }
.assetMeta span { font-size: 14px; }
.assetActions button { font-size: 13px; padding: 6px 7px; }
.selectionBubble { font-size: 15px; }
.bubbleName { font-size: 16px; }
.bubbleAuthor, .bubbleRemixFrom, .bubbleRemixCount { font-size: 13px; }
.bubbleActions button, .bubbleVotes button { font-size: 13px; padding: 6px 8px; }
.paletteGrid button, .paletteSwatch { font-size: 8px !important; }
.checkRow { font-size: 15px; }
@media (max-width: 760px) {
  body, button, input, select, textarea { font-size: 15px; }
  .toolHud .iconButton { min-width: 68px; }
  .editorHistoryRow { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .advancedRow { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.displayLimitField input { font-size: 17px; min-height: 36px; width: 110px; }
.rotationBadge { font-size: 14px; color: #4d5b72; }

.authorCard { min-width: 210px; }
.authorCard small { display:block; margin-top:6px; font-size:13px; line-height:1.35; opacity:.82; }
.miniButton { margin-top:6px; padding:6px 8px; border:2px solid #243044; background:#fff3d9; box-shadow:2px 2px 0 rgba(36,48,68,.22); cursor:pointer; font-size:13px; }
.homeLink { position:fixed; left:12px; top:12px; z-index:6; display:inline-flex; align-items:center; gap:6px; padding:7px 9px; border:2px solid #243044; background:rgba(255,247,222,.92); box-shadow:3px 3px 0 rgba(36,48,68,.22); color:#243044; text-decoration:none; font-weight:800; letter-spacing:.02em; }
.homeLinkIcon { display:grid; place-items:center; width:22px; height:22px; border:2px solid currentColor; background:#fffdf5; line-height:1; }
.homeLinkText { font-size:14px; }
.likedCodex { margin:8px 0 14px; padding:10px; border:2px dashed rgba(36,48,68,.35); background:rgba(255,255,255,.45); font-size:15px; }
.likedCodexTitle { font-weight:700; margin-bottom:6px; }
.likedCodexList { display:flex; gap:8px; flex-wrap:wrap; }
.likedCodexItem { display:flex; align-items:center; gap:6px; border:2px solid rgba(36,48,68,.25); background:#fffdf5; padding:4px 6px; max-width:180px; }
.likedCodexItem canvas { width:28px; height:28px; image-rendering:pixelated; }
.hiddenReasonText { color:#6f2f3b; font-weight:700; }
.exhibitionNote { padding:8px 10px; background:#fff3d9; border:2px solid rgba(36,48,68,.2); margin-bottom:8px; font-size:15px; line-height:1.45; }

.toolHud { display: none !important; }
.topHud { min-height: 50px; padding: 8px 12px; gap: 10px; align-items: center; }
.authorCard {
  width: auto !important;
  min-width: 0 !important;
  max-width: min(520px, 48vw);
  display: flex !important;
  align-items: center;
  gap: 8px;
  padding: 5px 7px !important;
  white-space: nowrap;
}
.authorCard span { display:inline !important; margin:0; font-size:12px !important; }
.authorCard input { margin-top:0 !important; width:132px; min-height:28px; }
.authorCard small { display:inline !important; margin-top:0 !important; line-height:1.15 !important; font-size:12px !important; max-width:240px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.miniButton { margin-top:0 !important; padding:5px 7px !important; font-size:12px !important; white-space:nowrap; }
.clockCard { width: 190px; padding: 6px 8px; }
.subline { white-space: nowrap; }
.advancedRow { grid-template-columns: repeat(5, max-content) 1fr !important; }
@media (max-width: 900px) {
  .topHud { right: 76px; align-items:flex-start; }
  .authorCard { max-width: calc(100vw - 110px); flex-wrap: wrap; white-space: normal; }
  .authorCard small { max-width: 100%; }
}

.islandTopBar {
  top: 12px;
  left: 50%;
  right: auto;
  width: min(560px, calc(100vw - 24px));
  min-height: 0 !important;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 10px !important;
  background: rgba(255, 253, 245, .78) !important;
  border: 1px solid rgba(36, 48, 68, .24) !important;
  box-shadow: 0 6px 18px rgba(22, 31, 46, .12) !important;
  backdrop-filter: blur(10px);
  pointer-events: auto;
}
.brandBlock { min-width: 0; }
.islandTopBar .logo { font-size: 18px; line-height: 1; white-space: nowrap; }
.islandTopBar .subline {
  margin-top: 2px;
  max-width: 300px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 12px;
  opacity: .72;
}
.topActions { display: flex; gap: 6px; align-items: center; }
.topButton {
  padding: 7px 10px !important;
  border-width: 1px !important;
  box-shadow: none !important;
  background: rgba(255, 253, 245, .86) !important;
  font-size: 13px !important;
}
.topButton.primary { background: var(--mint) !important; }
.utilityControl { display: none !important; }
.edgeAdd { display: none !important; }
.advancedTool { display: none !important; }
.studioDrawer.advancedTools .advancedTool { display: inline-flex !important; }
.studioDrawer.advancedTools .toolRow .advancedTool { display: block !important; }
.editorToolRow { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.editorHistoryRow { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.studioDrawer.advancedTools .editorToolRow { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
.studioDrawer.advancedTools .editorHistoryRow { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }
#editHint { display: none !important; }
#advancedHint { display: none !important; }
#editHint::after { content: none; }

#worldCanvas { background: #8dd7ff; }
.selectionBubble {
  border-width: 2px !important;
  box-shadow: 0 8px 20px rgba(22,31,46,.16) !important;
  background: rgba(255,253,245,.94) !important;
}
@media (max-width: 720px) {
  .islandTopBar { width: calc(100vw - 16px); top: 8px; }
  .islandTopBar .subline { display: none; }
  .topButton { padding: 7px 8px !important; }
}

.islandClickHint {
  position: fixed;
  left: 14px;
  bottom: 14px;
  z-index: 24;
  padding: 6px 8px;
  border: 1px solid rgba(36,48,68,.22);
  background: rgba(255,253,245,.72);
  box-shadow: 0 5px 16px rgba(22,31,46,.10);
  backdrop-filter: blur(8px);
  font-size: 12px;
  color: rgba(36,48,68,.78);
  pointer-events: none;
}
.islandTopBar {
  width: min(960px, calc(100vw - 24px)) !important;
}
.accountCard.utilityControl {
  display: flex !important;
  align-items: center;
  gap: 7px;
  max-width: 430px !important;
  padding: 5px 7px !important;
  border: 1px solid rgba(36,48,68,.2) !important;
  background: rgba(255,253,245,.68) !important;
  box-shadow: none !important;
}
.accountFields {
  display: grid;
  grid-template-columns: 96px 112px 112px;
  gap: 5px;
  align-items: end;
}
.accountField {
  display: grid;
  gap: 2px;
  font-size: 10px !important;
  line-height: 1;
  color: rgba(36,48,68,.72);
}
.accountField input {
  width: 100% !important;
  min-height: 24px !important;
  padding: 3px 5px !important;
  font-size: 11px !important;
  border-width: 1px !important;
  background: rgba(255,255,255,.72);
}
.accountField input[readonly] { opacity: .72; }
.accountCard small {
  max-width: 118px !important;
  white-space: normal !important;
  font-size: 10px !important;
  line-height: 1.15 !important;
  opacity: .78;
}
.accountCard .miniButton {
  font-size: 10px !important;
  padding: 4px 5px !important;
  border-width: 1px !important;
  box-shadow: none !important;
}
.clockCard.utilityControl { display: none !important; }
.accountSettingsCard .accountCard.utilityControl {
  max-width: none !important;
  width: 100% !important;
  justify-content: space-between;
  flex-wrap: wrap;
  background: #fffdf5 !important;
}
.accountSettingsCard .accountFields {
  grid-template-columns: minmax(90px, 1fr) minmax(120px, 1.2fr) minmax(120px, 1.2fr);
  flex: 1 1 360px;
}
.accountSettingsCard .accountCard small {
  max-width: none !important;
  flex-basis: 100%;
}
@media (max-width: 560px) {
  .accountSettingsCard .accountFields { grid-template-columns: 1fr; }
}

.editorToolRow { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.editorHistoryRow { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.studioDrawer.advancedTools .editorToolRow { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.studioDrawer.advancedTools .editorHistoryRow { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.advancedToolGroup {
  display: grid;
  gap: 8px;
  margin: 2px 0 8px;
}
.advancedToolGroup[hidden] { display: none !important; }
.advancedDrawRow { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
.advancedActionRow { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.studioDrawer.advancedTools .advancedTool { display: block !important; }
.toolBrush { background: #e8fff0 !important; }
.toolErase { background: #ffe9e2 !important; }
.toolFill { background: #e7f0ff !important; }
.toolPick { background: #fff0d4 !important; }
.toolUndo, .toolRedo { background: #f2ecff !important; }
.toolLine { background: #e9f7ff !important; }
.toolRect { background: #edf9e3 !important; }
.toolSelect { background: #ffe8f3 !important; }
.toolDoor { background: #f5ead7 !important; }
.toolOutline { background: #fff6d8 !important; }
.toolFlipH, .toolFlipV { background: #eaf2ff !important; }
.toolClearSel { background: #f7e9ff !important; }
.toolAdvanced { background: #f5f1e7 !important; }
.toolLight { background: #fff0a8 !important; }
.toolDepth { background: #dfeeff !important; }
.toolParticle { background: #e8fffb !important; }
.tool.active, button.active {
  outline: 2px solid rgba(36,48,68,.55);
  outline-offset: -4px;
  filter: saturate(1.08);
}
.particleControl {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 7px;
  border: 2px solid var(--line);
  background: #e8fffb;
  box-shadow: 3px 3px 0 rgba(36,48,68,.14);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}
.particleControl[hidden] { display: none !important; }
.particleControl select {
  min-height: 26px;
  padding: 2px 5px;
  font-size: 12px;
}
.finishActions { grid-template-columns: 1.4fr 1fr !important; }
@media (max-width: 980px) {
  .islandTopBar { width: calc(100vw - 16px) !important; flex-wrap: wrap; justify-content: center; }
  .accountCard.utilityControl { order: 3; max-width: 100% !important; }
  .accountFields { grid-template-columns: repeat(3, minmax(72px, 1fr)); }
  .accountCard small { max-width: 100% !important; }
}
@media (max-width: 560px) {
  .accountFields { grid-template-columns: 1fr; }
  .finishActions { grid-template-columns: 1fr !important; }
  .advancedDrawRow, .advancedActionRow { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

.cuteMenuButton {
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  padding: 0 !important;
  display: grid;
  place-items: center;
  border: 2px solid rgba(36,48,68,.72) !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, #ffe3f0, #ffc3dd) !important;
  box-shadow: 3px 3px 0 rgba(36,48,68,.18) !important;
  font-size: 19px !important;
  line-height: 1 !important;
  cursor: pointer;
}
.cuteMenuButton:hover { transform: translateY(-1px); filter: saturate(1.08); }
.cuteMenuButton:active { transform: translate(2px, 2px); box-shadow: 1px 1px 0 rgba(36,48,68,.18) !important; }
.islandTopBar .brandBlock { margin-right: auto; }
.particleControlGroup {
  display: grid !important;
  grid-template-columns: minmax(92px, 120px) auto;
  align-items: end;
  gap: 6px 8px;
  max-width: min(100%, 360px);
  text-transform: none;
}
.particleControlGroup label { font-size: 11px; font-weight: 900; color: rgba(36,48,68,.76); }
.particleRangeButtons {
  display: grid;
  grid-template-columns: repeat(2, minmax(74px, 1fr));
  gap: 5px;
}
.particleRangeButtons .tool { padding: 6px 7px !important; font-size: 12px !important; }
#particleRangeStatus {
  grid-column: 1 / -1;
  font-size: 11px;
  color: rgba(36,48,68,.72);
  line-height: 1.25;
}
@media (max-width: 560px) {
  .particleControlGroup { grid-template-columns: 1fr; }
  .particleRangeButtons { grid-template-columns: 1fr 1fr; }
}

.drawDockButton {
  position: fixed;
  z-index: 28;
  left: 50%;
  bottom: 22px;
  transform: translateX(-50%);
  min-width: 210px;
  min-height: 62px;
  padding: 12px 28px !important;
  border: 4px solid var(--line) !important;
  border-radius: 22px !important;
  background: linear-gradient(180deg, #ffe18f, #ff9dbf 62%, #ff7aa8) !important;
  color: #253044 !important;
  box-shadow: 0 8px 0 rgba(36,48,68,.24), 0 14px 26px rgba(22,31,46,.18) !important;
  font-size: 24px !important;
  letter-spacing: .06em;
  line-height: 1 !important;
  cursor: pointer;
}
.drawDockButton:hover { filter: saturate(1.08) brightness(1.02); }
.drawDockButton:active { transform: translate(-50%, 4px); box-shadow: 0 4px 0 rgba(36,48,68,.24), 0 8px 18px rgba(22,31,46,.16) !important; }
.drawDockButton[hidden] { display: none !important; }
.islandTopBar .cuteMenuButton { display: none !important; }
.islandTopBar .brandBlock { margin-right: 0 !important; }
.islandClickHint { bottom: 96px !important; }

.selectionBubble {
  position: fixed !important;
  left: var(--bubble-left, 0px) !important;
  top: var(--bubble-top, 0px) !important;
  z-index: 36 !important;
  min-width: 138px !important;
  max-width: 224px !important;
  padding: 8px 9px !important;
  display: block !important;
  text-align: center !important;
  border: 3px solid var(--line) !important;
  border-radius: 14px !important;
  background: rgba(255,253,245,.98) !important;
  box-shadow: 0 6px 0 rgba(36,48,68,.18), 0 10px 20px rgba(22,31,46,.15) !important;
}
.selectionBubble[hidden] { display: none !important; }
.selectionBubble::after {
  display: block !important;
  content: '' !important;
  position: absolute;
  left: 50%;
  bottom: -10px;
  width: 14px;
  height: 14px;
  background: rgba(255,253,245,.98);
  border-right: 3px solid var(--line);
  border-bottom: 3px solid var(--line);
  transform: translateX(-50%) rotate(45deg);
}
.bubbleName { font-size: 14px !important; }
.bubbleAuthor, .bubbleRemixFrom, .bubbleRemixCount { font-size: 11px !important; margin-top: 2px !important; }
.bubbleVotes { margin-top: 6px !important; grid-template-columns: 1fr auto 1fr !important; justify-content: center; }
.bubbleActions {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 5px !important;
  margin-top: 6px !important;
}
.bubbleActions button { min-height: 32px; font-size: 11px !important; }
.bubbleRemixPrimary {
  background: linear-gradient(180deg, #ffb3d1, #ff7daf) !important;
  border-width: 3px !important;
}
.bubbleMenuButton {
  margin-top: 6px;
  min-width: 64px;
  min-height: 28px;
  padding: 5px 8px !important;
  border-radius: 12px !important;
  background: #fff2d7 !important;
  font-size: 11px !important;
}
.bubbleMenuActions {
  display: flex;
  justify-content: center;
  gap: 6px;
  padding-top: 4px;
  margin-top: 4px;
  border-top: 1px dashed rgba(36,48,68,.25);
}
.bubbleMenuActions[hidden] { display: none !important; }
.bubbleMenuActions button { font-size: 11px !important; padding: 5px 8px !important; }
@media (max-width: 760px) {
  .drawDockButton { min-width: 176px; min-height: 56px; font-size: 20px !important; bottom: 16px; }
  .islandClickHint { display: none; }
}

.analogClock {
  --clock-rotate: 0deg;
  position: fixed;
  top: clamp(104px, 14vh, 158px);
  right: 18px;
  z-index: 28;
  width: 82px;
  height: 100px;
  display: grid;
  place-items: center;
  gap: 4px;
  pointer-events: none;
}
.analogClockDial {
  position: relative;
  width: 72px;
  height: 72px;
  border: 4px solid var(--line);
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,245,.42) 0 6%, rgba(255,255,245,0) 7%),
    conic-gradient(from -90deg,
      #142147 0deg 54deg,
      #5468aa 70deg,
      #f5b067 96deg,
      #8bd8ff 128deg 232deg,
      #ff9d4f 266deg,
      #c84f2e 292deg,
      #1b2a58 326deg 360deg);
  box-shadow: 0 5px 0 rgba(36,48,68,.20), 0 8px 18px rgba(18,28,44,.18);
  image-rendering: pixelated;
}
.analogClockDial::after {
  content: '';
  position: absolute;
  inset: 8px;
  border: 1px dashed rgba(36,48,68,.25);
  border-radius: 50%;
}
.analogClockHand {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 4px;
  height: 28px;
  transform-origin: 50% 100%;
  transform: translate(-50%, -100%) rotate(var(--clock-rotate, 0deg));
  background: #243044;
  border-radius: 6px 6px 2px 2px;
  box-shadow: 1px 0 0 rgba(255,255,255,.45);
}
.analogClockHand::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -5px;
  width: 10px;
  height: 10px;
  transform: translateX(-50%);
  border: 3px solid var(--line);
  background: #fff7e8;
  border-radius: 50%;
}
.analogClockLabel {
  min-width: 70px;
  padding: 2px 7px;
  border: 2px solid var(--line);
  border-radius: 999px;
  background: rgba(255,248,232,.9);
  box-shadow: 0 3px 0 rgba(36,48,68,.16);
  text-align: center;
  font-size: 11px;
  font-weight: 950;
}
.analogPhaseBar { display: none !important; }
@media (max-width: 760px) {
  .analogClock { top: 82px; right: 10px; transform: scale(.86); transform-origin: top right; }
}

.inlineField {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
}
.inlineField > input,
.inlineField > select { margin-top: 0 !important; }
.quickSetupBar.twoCols { gap: 8px 12px; }
.compactNameField.inlineField { margin-top: 6px; }
.tabs .tab[data-tab="settings"] { display: inline-flex; }

.assetCard { cursor: pointer; align-items: center; }
.assetCard:not(.expanded) .assetMeta { align-self: center; }
.assetCard:not(.expanded) { padding: 7px 8px; }
.assetCard:not(.expanded) .assetMeta strong { font-size: 14px; }
.assetCard:not(.expanded) .assetMeta span { font-size: 12px; margin-top: 2px; }
.assetCard.expanded { align-items: start; }

.selectionBubble {
  position: fixed !important;
  z-index: 50 !important;
  pointer-events: auto !important;
}
.selectionBubble.belowSprite::after { display: none !important; }

.analogClock {
  top: 14px;
  right: 18px;
}
@media (max-width: 760px) {
  .analogClock { top: 8px; right: 10px; transform: scale(.72); transform-origin: top right; }
}

#tab-settings .card {
  text-align: center;
}
#tab-settings .hint {
  margin-left: auto;
  margin-right: auto;
  max-width: 34ch;
}
#tab-settings .toggleList {
  align-items: center;
}
#tab-settings .checkRow,
#tab-settings .displayLimitField {
  justify-content: center;
  text-align: center;
}
#tab-settings .displayLimitField input {
  margin-left: auto;
  margin-right: auto;
}
.tabs .tab[data-tab="settings"] {
  justify-content: center;
  align-items: center;
  text-align: center;
}

.drawQuotaBadge {
  position: fixed;
  z-index: 27;
  left: calc(50% + 154px);
  bottom: 34px;
  transform: translateX(-50%);
}
.drawDockButton[hidden] + .drawQuotaBadge { display: none !important; }
.quotaBadge {
  display: inline-grid;
  place-items: center;
  min-height: 28px;
  padding: 5px 10px;
  border: 2px solid rgba(36,48,68,.72);
  border-radius: 999px;
  background: #fff8e4;
  box-shadow: 3px 3px 0 rgba(36,48,68,.16);
  color: #253044;
  font-size: 12px;
  font-weight: 950;
  line-height: 1;
  white-space: nowrap;
}
.quotaBadge.quotaEmpty { background: #ffe2e7; }
.finishActions {
  grid-template-columns: minmax(0, 1.3fr) auto minmax(0, .9fr) !important;
  align-items: center;
}
.finishQuotaBadge { justify-self: center; }
.dimensionField {
  grid-template-columns: 58px minmax(0, 1fr) !important;
}
.drawerHead {
  padding: 6px 10px 5px !important;
}
.drawerHead h1 { font-size: 20px !important; }
.drawerHead p { margin-top: 1px !important; font-size: 12px !important; }
.tabs { padding: 5px 7px !important; gap: 5px !important; }
.tab { padding: 6px 4px !important; }
.drawerBody { padding: 6px !important; }
.card.editorCard.heroEditor { padding-top: 7px !important; }
.quickSetupBar.twoCols {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px 8px !important;
  margin-bottom: 4px !important;
}
.compactNameField.inlineField { margin-top: 4px !important; }
.compactEditorTop { margin-bottom: 2px !important; }
.paintLayout {
  gap: 6px !important;
  margin: 2px 0 6px !important;
  grid-template-columns: minmax(220px, 360px) minmax(150px, 1fr) !important;
}
.palettePanel { gap: 4px !important; }
.paletteGrid {
  grid-template-columns: repeat(5, minmax(28px, 1fr)) !important;
  gap: 3px !important;
  padding: 4px !important;
  max-height: 360px;
}
.paletteSwatch, .paletteGrid button {
  min-height: 28px !important;
}
.paletteSwatch::after { font-size: 9px !important; }
#tab-settings .card {
  display: grid;
  justify-items: center;
  text-align: center;
}
#tab-settings .toggleList {
  width: min(100%, 340px);
  display: grid;
  justify-items: center;
}
#tab-settings .checkRow,
#tab-settings .displayLimitField {
  width: 100%;
  display: flex;
  justify-content: center;
  text-align: center;
}
@media (max-width: 760px) {
  .drawQuotaBadge {
    left: 50%;
    bottom: 78px;
    transform: translateX(-50%);
  }
  .finishActions { grid-template-columns: 1fr !important; }
  .quickSetupBar.twoCols { grid-template-columns: 1fr 1fr !important; }
  .paintLayout { grid-template-columns: 1fr !important; }
  .paletteGrid { grid-template-columns: repeat(8, minmax(26px, 1fr)) !important; }
}

.drawDockButton,
#saveAndPlace.bigPrimary {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  white-space: nowrap;
}
.drawDockButton { min-width: 176px; }
.drawQuotaBadge,
.finishQuotaBadge {
  position: static !important;
  transform: none !important;
  justify-self: auto !important;
  display: inline-grid !important;
  min-height: 20px !important;
  padding: 3px 6px !important;
  font-size: 10px !important;
  box-shadow: none !important;
  border-width: 1px !important;
  background: rgba(255, 248, 228, .92) !important;
}
.drawDockButton[hidden] .drawQuotaBadge { display: none !important; }
.finishActions {
  grid-template-columns: minmax(0, 1.4fr) minmax(0, .9fr) !important;
}
.paletteGrid {
  grid-template-columns: repeat(10, minmax(18px, 1fr)) !important;
  gap: 2px !important;
  padding: 3px !important;
  max-height: none !important;
  overflow: visible !important;
}
.paletteSwatch,
.paletteGrid button {
  min-height: 24px !important;
  aspect-ratio: 1 / 1;
}
.paletteSwatch::after { font-size: 8px !important; right: 1px !important; }
@media (max-width: 760px) {
  .drawDockButton { min-width: 156px; }
  .finishActions { grid-template-columns: 1fr !important; }
  .paletteGrid { grid-template-columns: repeat(10, minmax(20px, 1fr)) !important; }
}

.studioDrawer {
  width: min(1060px, calc(100vw - 24px)) !important;
}
.card.editorCard.heroEditor {
  padding: 10px 10px 12px !important;
}
.creationMetaRow {
  display: grid;
  grid-template-columns: minmax(230px, 1.55fr) 96px 24px 96px minmax(160px, .75fr);
  align-items: center;
  gap: 12px;
  margin: 2px 0 12px;
}
.creationMetaRow .metaInput,
.creationMetaRow select.metaInput {
  height: 64px;
  margin: 0 !important;
  border: 3px solid var(--line);
  background: #fffaf0;
  color: var(--ink);
  font-size: 24px;
  font-weight: 850;
  letter-spacing: .04em;
  padding: 10px 18px;
  box-sizing: border-box;
}
.creationMetaRow .metaDimension {
  text-align: center;
  padding-left: 8px;
  padding-right: 8px;
}
.creationMetaRow .metaRole {
  text-align: center;
  text-align-last: center;
}
.creationMetaRow .dimensionSeparator {
  display: grid;
  place-items: center;
  color: #e33a4d;
  font-size: 25px;
  font-weight: 900;
  line-height: 1;
}
.creationMetaRow input::placeholder {
  color: rgba(91, 105, 132, .64);
  font-weight: 520;
  opacity: 1;
}
.creationMetaRow select:invalid,
.creationMetaRow select.placeholderRole {
  color: rgba(91, 105, 132, .64);
  font-weight: 520;
}
.compactEditorTop {
  display: none !important;
}
.paintLayout {
  display: grid !important;
  grid-template-columns: minmax(420px, 2.2fr) minmax(250px, 340px) !important;
  gap: 24px !important;
  align-items: start !important;
  margin: 0 0 12px !important;
}
#paintCanvas {
  width: 100% !important;
  max-width: 650px !important;
  aspect-ratio: 1 / 1 !important;
  justify-self: stretch !important;
  border-width: 4px !important;
}
.palettePanel {
  width: 100% !important;
  align-self: start !important;
  overflow: hidden !important;
}
.paletteGrid {
  width: 100% !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: repeat(10, minmax(0, 1fr)) !important;
  gap: 3px !important;
  padding: 6px !important;
  margin: 0 !important;
  border: 3px solid rgba(36,48,68,.34) !important;
  background: #fff6df !important;
  overflow: hidden !important;
  align-content: start !important;
}
.paletteSwatch,
.paletteGrid button {
  min-width: 0 !important;
  min-height: 0 !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  box-sizing: border-box !important;
  padding: 0 !important;
}
.paletteSwatch::after {
  font-size: 7px !important;
  right: 1px !important;
  bottom: -1px !important;
}
.editorToolRow,
.editorHistoryRow {
  max-width: 650px;
}
.advancedRow,
#editHint {
  max-width: 650px;
}
@media (max-width: 820px) {
  .studioDrawer { width: min(100vw - 16px, 680px) !important; }
  .creationMetaRow {
    grid-template-columns: 1fr 70px 18px 70px;
  }
  .creationMetaRow .metaRole {
    grid-column: 1 / -1;
  }
  .creationMetaRow .metaInput,
  .creationMetaRow select.metaInput {
    height: 52px;
    font-size: 19px;
  }
  .paintLayout { grid-template-columns: 1fr !important; gap: 10px !important; }
  .paletteGrid { grid-template-columns: repeat(10, minmax(0, 1fr)) !important; }
  .editorToolRow,
  .editorHistoryRow,
  .advancedRow,
  #editHint { max-width: none; }
}

.studioDrawer {
  width: min(424px, calc(100vw - 20px)) !important;
}
.creationMetaRow {
  grid-template-columns: minmax(0, 1fr) 62px 14px 62px !important;
  gap: 7px !important;
  margin-bottom: 8px !important;
}
.creationMetaRow .metaRole {
  grid-column: 1 / -1 !important;
}
.creationMetaRow .metaInput,
.creationMetaRow select.metaInput {
  height: 44px !important;
  font-size: 17px !important;
  padding: 7px 10px !important;
  border-width: 2px !important;
}
.creationMetaRow .dimensionSeparator {
  font-size: 18px !important;
}
.paintLayout {
  grid-template-columns: 1fr !important;
  gap: 8px !important;
}
#paintCanvas {
  max-width: 100% !important;
}
.palettePanel {
  max-width: 100% !important;
}
.editorToolRow,
.editorHistoryRow,
.advancedRow,
#editHint {
  max-width: none !important;
}
.drawDockButton .quotaBadge,
.drawQuotaBadge {
  background: rgba(255, 126, 169, .34) !important;
  border-color: rgba(36, 48, 68, .62) !important;
  color: #253044 !important;
}
#saveAndPlace .quotaBadge,
.finishQuotaBadge {
  background: rgba(63, 158, 103, .24) !important;
  border-color: rgba(22, 58, 42, .48) !important;
  color: #163a2a !important;
}
.quotaBadge.quotaEmpty {
  background: rgba(255, 98, 118, .34) !important;
  color: #5d1f2b !important;
}
.bubbleActions {
  grid-template-columns: 1fr !important;
}
.bubbleActions button,
.bubbleRemixPrimary,
#bubbleRemix,
#bubbleTeleport {
  width: 100% !important;
  justify-self: stretch !important;
}
@media (max-width: 760px) {
  .studioDrawer { width: min(424px, calc(100vw - 12px)) !important; }
  .creationMetaRow { grid-template-columns: minmax(0, 1fr) 58px 12px 58px !important; }
}

@media (min-width: 761px) {
  .studioDrawer {
    width: min(960px, calc(100vw - 20px)) !important;
  }
  .paintLayout {
    display: grid !important;
    grid-template-columns: minmax(520px, 1fr) minmax(238px, 292px) !important;
    gap: 14px !important;
    align-items: start !important;
  }
  #paintCanvas {
    width: 100% !important;
    max-width: 640px !important;
    justify-self: stretch !important;
  }
  .palettePanel {
    width: 100% !important;
    max-width: 292px !important;
    justify-self: stretch !important;
  }
  .paletteGrid {
    grid-template-columns: repeat(10, minmax(0, 1fr)) !important;
  }
  .editorToolRow,
  .editorHistoryRow,
  .advancedRow,
  #editHint {
    max-width: 640px !important;
  }
}

@media (min-width: 761px) {
  .studioDrawer {
    width: clamp(440px, 40vw, 620px) !important;
  }

  .creationMetaRow {
    display: grid !important;
    grid-template-columns: minmax(150px, 1fr) 58px 14px 58px minmax(96px, .64fr) !important;
    gap: 8px !important;
    align-items: center !important;
    margin: 2px 0 10px !important;
  }

  .creationMetaRow .metaRole {
    grid-column: auto !important;
  }

  .creationMetaRow .metaInput,
  .creationMetaRow select.metaInput {
    height: 46px !important;
    min-width: 0 !important;
    margin: 0 !important;
    border-width: 2px !important;
    font-size: 17px !important;
    font-weight: 850 !important;
    letter-spacing: .02em !important;
    padding: 7px 10px !important;
    box-sizing: border-box !important;
  }

  .creationMetaRow .metaDimension {
    padding-left: 4px !important;
    padding-right: 4px !important;
    text-align: center !important;
  }

  .creationMetaRow .dimensionSeparator {
    display: grid !important;
    place-items: center !important;
    color: #e33a4d !important;
    font-size: 18px !important;
    font-weight: 950 !important;
  }

  .paintLayout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) clamp(92px, 9.2vw, 128px) !important;
    gap: 10px !important;
    align-items: start !important;
    margin: 0 0 10px !important;
  }

  #paintCanvas {
    width: 100% !important;
    max-width: none !important;
    aspect-ratio: 1 / 1 !important;
    justify-self: stretch !important;
  }

  .palettePanel {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    align-self: stretch !important;
    justify-self: stretch !important;
    overflow: visible !important;
  }

  .paletteGrid {
    width: 100% !important;
    box-sizing: border-box !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 3px !important;
    padding: 5px !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  .paletteSwatch,
  .paletteGrid button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1 !important;
  }

  .editorToolRow,
  .editorHistoryRow,
  .advancedRow,
  #editHint {
    max-width: none !important;
  }
}

@media (min-width: 761px) and (max-width: 1100px) {
  .studioDrawer {
    width: min(440px, calc(100vw - 20px)) !important;
  }

  .creationMetaRow {
    grid-template-columns: minmax(126px, 1fr) 50px 12px 50px minmax(84px, .58fr) !important;
    gap: 6px !important;
  }

  .creationMetaRow .metaInput,
  .creationMetaRow select.metaInput {
    height: 42px !important;
    font-size: 15px !important;
    padding: 6px 8px !important;
  }

  .paintLayout {
    grid-template-columns: minmax(0, 1fr) 92px !important;
    gap: 8px !important;
  }

  .paletteGrid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 2px !important;
    padding: 4px !important;
  }
}

:root {
  --editorSurface: #efe9dc;
  --editorPanel: #f6f1e5;
  --editorLine: #314159;
  --editorMuted: #9a9aa0;
  --editorAccent: #ef4d63;
  --editorActive: #f28aaa;
}

.card.editorCard.heroEditor {
  background: var(--editorSurface) !important;
}

.compactEditorTop {
  display: none !important;
}

.creationMetaRow .metaInput,
.creationMetaRow select.metaInput {
  background: var(--editorPanel) !important;
  border-color: var(--editorLine) !important;
  color: var(--editorLine) !important;
  box-shadow: none !important;
}
.creationMetaRow input::placeholder,
.creationMetaRow select:invalid {
  color: var(--editorMuted) !important;
}
.creationMetaRow .metaRole {
  text-align: center !important;
  text-align-last: center !important;
}

.paintLayout {
  align-items: stretch !important;
}

#paintCanvas {
  display: block !important;
  background: #ece8df !important;
  border: 6px solid var(--editorLine) !important;
  box-sizing: border-box !important;
}

.palettePanel {
  background: var(--editorPanel) !important;
  border: 5px solid rgba(49, 65, 89, .28) !important;
  padding: 10px !important;
  box-sizing: border-box !important;
}

.paletteGrid {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  gap: 6px !important;
  align-content: start !important;
}

.paletteSwatch,
.paletteGrid button {
  position: relative !important;
  border: 4px solid rgba(76, 76, 76, .45) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.paletteSwatch::after,
.paletteGrid button::after {
  content: attr(data-code) !important;
  position: absolute !important;
  right: 3px !important;
  bottom: 0 !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  color: rgba(30, 40, 55, .66) !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.52) !important;
}

.paletteSwatch.active,
.paletteGrid button.active {
  border-color: var(--editorActive) !important;
  box-shadow: inset 0 0 0 5px rgba(255, 192, 208, .92) !important;
}

.basicEditorTools,
.editorUtilityRow {
  display: grid !important;
  gap: 0 !important;
  margin: 0 0 14px !important;
  border: 5px solid var(--editorAccent) !important;
  background: var(--editorSurface) !important;
}

.basicEditorTools {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.editorUtilityRow {
  grid-template-columns: minmax(0, 1.14fr) repeat(2, minmax(0, 1fr)) !important;
}

.basicEditorTools .tool,
.editorUtilityRow .tool {
  min-height: 98px !important;
  border: none !important;
  border-right: 5px solid var(--editorAccent) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #7f7d7a !important;
  font-size: clamp(20px, 2.4vw, 38px) !important;
  font-weight: 500 !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
}
.basicEditorTools .tool:last-child,
.editorUtilityRow .tool:last-child {
  border-right: none !important;
}
.basicEditorTools .tool.active,
.editorUtilityRow .tool.active {
  background: rgba(255,255,255,.24) !important;
  color: #434951 !important;
}
.basicEditorTools .tool:disabled,
.editorUtilityRow .tool:disabled {
  color: rgba(127,125,122,.55) !important;
}

.advancedPanel {
  border: 0 !important;
  background: transparent !important;
  padding: 8px 0 0 !important;
  margin-top: 0 !important;
}

.advancedPanelHeader {
  display: none !important;
}

.advancedPanel .advancedDrawRow,
.advancedPanel .advancedActionRow,
.advancedPanel .extraAdvancedRow {
  margin-bottom: 10px !important;
}

.advancedPanel .toolRow {
  gap: 8px !important;
}

.advancedPanel .tool,
.advancedPanel select,
.advancedPanel .particleControl {
  border-width: 3px !important;
  border-color: rgba(49, 65, 89, .78) !important;
  border-radius: 0 !important;
}

.advancedPanel .hint {
  display: block !important;
  color: #5d6570 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

#editHint {
  margin: 2px 0 0 !important;
  max-width: none !important;
}

@media (min-width: 761px) {
  .studioDrawer {
    width: min(40vw, 1024px) !important;
    max-width: calc(100vw - 20px) !important;
  }

  .creationMetaRow {
    grid-template-columns: minmax(170px, 1.5fr) 78px 26px 78px minmax(110px, .96fr) !important;
    gap: 16px !important;
    margin: 0 0 18px !important;
  }

  .creationMetaRow .metaInput,
  .creationMetaRow select.metaInput {
    height: 92px !important;
    padding: 14px 20px !important;
    border-width: 4px !important;
    font-size: 32px !important;
    font-weight: 800 !important;
  }

  .creationMetaRow .dimensionSeparator {
    font-size: 52px !important;
  }

  .paintLayout {
    grid-template-columns: minmax(0, 1fr) 255px !important;
    gap: 22px !important;
    margin-bottom: 18px !important;
  }

  .paletteGrid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  .paletteSwatch,
  .paletteGrid button {
    aspect-ratio: 1 / 1 !important;
  }
}

@media (max-width: 760px) {
  .paintLayout {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .palettePanel {
    width: 100% !important;
  }

  .paletteGrid {
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
  }

  .basicEditorTools .tool,
  .editorUtilityRow .tool {
    min-height: 64px !important;
    font-size: 18px !important;
  }

  .advancedPanelHeader {
    font-size: 26px !important;
  }

  .creationMetaRow {
    grid-template-columns: minmax(0, 1fr) 58px 14px 58px !important;
    gap: 8px !important;
  }
  .creationMetaRow .metaRole {
    grid-column: 1 / -1 !important;
  }
}

.paintMainColumn {
  display: grid !important;
  grid-template-rows: auto auto auto !important;
  gap: 14px !important;
  min-width: 0 !important;
}
.paintMainColumn #paintCanvas {
  width: 100% !important;
  max-width: none !important;
}
.basicEditorTools,
.editorUtilityRow {
  margin: 0 !important;
}
.advancedPanel {
  min-height: 174px !important;
}
@media (min-width: 761px) {
  .paintLayout {
    align-items: start !important;
  }
  .palettePanel {
    min-height: 100% !important;
  }
}
@media (max-width: 760px) {
  .paintMainColumn {
    gap: 10px !important;
  }
}

:root {
  --createGap: 12px;
}

.card.editorCard.heroEditor {
  background: var(--panel) !important;
}

@media (min-width: 761px) {
  .studioDrawer {
    width: clamp(430px, 40vw, 760px) !important;
    max-width: calc(100vw - 20px) !important;
  }

  .creationMetaRow {
    grid-template-columns: minmax(136px, 1.35fr) clamp(52px, 5vw, 76px) 20px clamp(52px, 5vw, 76px) minmax(94px, .92fr) !important;
    gap: 12px !important;
    margin: 0 0 var(--createGap) !important;
    align-items: stretch !important;
  }

  .creationMetaRow .metaInput,
  .creationMetaRow select.metaInput {
    height: 54px !important;
    min-height: 0 !important;
    border: 2px solid var(--line) !important;
    background: #fffdf5 !important;
    box-shadow: 3px 3px 0 rgba(36, 48, 68, .14) !important;
    color: var(--ink) !important;
    font-size: 16px !important;
    font-weight: 850 !important;
    padding: 9px 10px !important;
  }

  .creationMetaRow .metaDimension {
    text-align: center !important;
  }

  .creationMetaRow .dimensionSeparator {
    display: grid !important;
    place-items: center !important;
    color: var(--danger) !important;
    font-size: 26px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
  }

  .paintLayout {
    grid-template-columns: minmax(0, 1fr) clamp(104px, 10.5vw, 156px) !important;
    gap: 14px !important;
    align-items: start !important;
    margin-bottom: 14px !important;
  }

  .paintMainColumn {
    display: grid !important;
    grid-template-rows: auto auto auto !important;
    gap: 10px !important;
    min-width: 0 !important;
  }

  .paintMainColumn #paintCanvas {
    width: 100% !important;
    max-width: none !important;
    aspect-ratio: 1 / 1 !important;
    border: 3px solid var(--line) !important;
    background:
      linear-gradient(45deg, #f4ebdc 25%, transparent 25%) 0 0/16px 16px,
      linear-gradient(45deg, transparent 75%, #f4ebdc 75%) 0 0/16px 16px,
      #fffaf0 !important;
  }

  .palettePanel {
    width: 100% !important;
    align-self: stretch !important;
    background: #fff7de !important;
    border: 2px solid rgba(36, 48, 68, .28) !important;
    padding: 8px !important;
    box-sizing: border-box !important;
  }

  .paletteGrid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 4px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    align-content: start !important;
  }

  .paletteSwatch,
  .paletteGrid button {
    border: 2px solid rgba(36, 48, 68, .42) !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    aspect-ratio: 1 / 1 !important;
  }

  .paletteSwatch.active,
  .paletteGrid button.active {
    border-color: var(--danger) !important;
    box-shadow: inset 0 0 0 3px rgba(255,255,255,.55) !important;
    outline: 2px solid rgba(36, 48, 68, .65) !important;
    outline-offset: -5px !important;
  }

  .basicEditorTools,
  .editorUtilityRow {
    display: grid !important;
    gap: 8px !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  .basicEditorTools {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  .editorUtilityRow {
    grid-template-columns: minmax(0, 1.12fr) repeat(2, minmax(0, 1fr)) !important;
  }

  .basicEditorTools .tool,
  .editorUtilityRow .tool {
    min-height: 42px !important;
    border: 2px solid var(--line) !important;
    border-radius: 0 !important;
    box-shadow: 3px 3px 0 rgba(36, 48, 68, .16) !important;
    color: var(--ink) !important;
    font-size: 15px !important;
    line-height: 1.15 !important;
    font-weight: 850 !important;
    padding: 8px 7px !important;
    text-transform: none !important;
  }

  .basicEditorTools .tool:active,
  .editorUtilityRow .tool:active {
    transform: translate(2px, 2px) !important;
    box-shadow: 1px 1px 0 rgba(36, 48, 68, .16) !important;
  }

  .advancedPanel {
    margin-top: 0 !important;
    padding: 12px !important;
    border: 2px solid var(--line) !important;
    background: var(--panel-2) !important;
    min-height: 0 !important;
    box-shadow: 4px 4px 0 rgba(36, 48, 68, .12) !important;
  }

  .advancedPanelHeader {
    font-size: 17px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    color: var(--ink) !important;
    margin: 0 0 8px !important;
  }

  .advancedPanel .advancedDrawRow,
  .advancedPanel .advancedActionRow,
  .advancedPanel .extraAdvancedRow {
    margin-bottom: 8px !important;
  }

  .advancedPanel .hint {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }
}

@media (min-width: 761px) and (max-width: 1180px) {
  .creationMetaRow {
    grid-template-columns: minmax(120px, 1.25fr) 48px 16px 48px minmax(82px, .86fr) !important;
    gap: 8px !important;
  }
  .creationMetaRow .metaInput,
  .creationMetaRow select.metaInput {
    height: 46px !important;
    font-size: 14px !important;
    padding: 7px 8px !important;
  }
  .creationMetaRow .dimensionSeparator {
    font-size: 22px !important;
  }
  .paintLayout {
    grid-template-columns: minmax(0, 1fr) 108px !important;
    gap: 10px !important;
  }
  .paletteGrid {
    gap: 3px !important;
  }
}

@media (max-width: 760px) {
  .basicEditorTools,
  .editorUtilityRow {
    gap: 8px !important;
    border: 0 !important;
    background: transparent !important;
  }
  .basicEditorTools .tool,
  .editorUtilityRow .tool {
    min-height: 40px !important;
    border: 2px solid var(--line) !important;
    box-shadow: 3px 3px 0 rgba(36, 48, 68, .16) !important;
    font-size: 14px !important;
    font-weight: 850 !important;
  }
  .advancedPanel {
    border: 2px solid var(--line) !important;
    background: var(--panel-2) !important;
    padding: 10px !important;
  }
  .advancedPanelHeader {
    font-size: 16px !important;
    font-weight: 900 !important;
  }
}

#tab-draw .card.editorCard.heroEditor {
  padding: 8px !important;
}

.creationMetaRow {
  align-items: center !important;
}

.creationMetaRow .metaInput,
.creationMetaRow select.metaInput {
  height: 28px !important;
  min-height: 28px !important;
  padding: 3px 7px !important;
  font-size: 13px !important;
  line-height: 1.1 !important;
  border-width: 2px !important;
}

.creationMetaRow .dimensionSeparator {
  font-size: 16px !important;
}

.paintLayout {
  align-items: start !important;
}

.drawControlPanel {
  display: grid;
  gap: 8px;
  align-self: start;
  min-width: 0;
}

.drawControlPanel .basicEditorTools,
.drawControlPanel .editorUtilityRow {
  margin: 0 !important;
}

.drawControlPanel .advancedPanel {
  margin: 0 !important;
}

#saveAndPlace.bigPrimary {
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  line-height: 1.15 !important;
  flex-wrap: wrap !important;
  row-gap: 3px !important;
  padding-left: 8px !important;
  padding-right: 8px !important;
}

#saveAndPlace.bigPrimary > span:first-child {
  min-width: 0 !important;
}

#saveAndPlace .finishQuotaBadge {
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  line-height: 1.1 !important;
  font-size: 10px !important;
  padding: 2px 5px !important;
}

.collectionViewTabs.tabs {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  border: 2px solid var(--line);
  box-shadow: 3px 3px 0 rgba(36,48,68,.12);
  margin: 2px 0 0;
  padding: 6px !important;
  gap: 6px !important;
}

.collectionViewTab.tab {
  align-self: start;
  min-width: 0;
  min-height: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 7px 5px !important;
  font-size: 13px !important;
}

@media (min-width: 761px) {
  .studioDrawer {
    width: clamp(520px, 42vw, 760px) !important;
  }

  .creationMetaRow {
    grid-template-columns: minmax(120px, 1.35fr) clamp(42px, 4vw, 58px) 12px clamp(42px, 4vw, 58px) minmax(82px, .9fr) !important;
    gap: 8px !important;
    margin-bottom: 8px !important;
  }

  .paintLayout {
    grid-template-columns: minmax(0, 1fr) clamp(148px, 12vw, 210px) !important;
    gap: 12px !important;
    margin-bottom: 10px !important;
  }

  .paintMainColumn {
    grid-template-rows: auto auto !important;
    gap: 8px !important;
  }

  .paintMainColumn #paintCanvas {
    max-height: min(58vh, 560px) !important;
  }

  .paintMainColumn .palettePanel {
    min-height: 0 !important;
    align-self: start !important;
    padding: 7px !important;
  }

  .paintMainColumn .paletteGrid {
    grid-template-columns: repeat(10, minmax(0, 1fr)) !important;
    gap: 3px !important;
  }

  .paintMainColumn .paletteSwatch,
  .paintMainColumn .paletteGrid button {
    border-width: 2px !important;
  }

  .drawControlPanel .basicEditorTools {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
  }

  .drawControlPanel .editorUtilityRow {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
  }

  .drawControlPanel .basicEditorTools .tool,
  .drawControlPanel .editorUtilityRow .tool {
    min-height: 36px !important;
    padding: 7px 6px !important;
    font-size: 13px !important;
  }

  .drawControlPanel .advancedPanel {
    padding: 8px !important;
    max-height: calc(100vh - 330px);
    overflow: auto;
  }

  .drawControlPanel .advancedPanelHeader {
    display: block !important;
    font-size: 13px !important;
    margin-bottom: 6px !important;
  }

  .advancedPanel .advancedDrawRow,
  .advancedPanel .advancedActionRow,
  .advancedPanel .extraAdvancedRow {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 5px !important;
    margin-bottom: 6px !important;
  }

  .advancedPanel .tool {
    min-height: 30px !important;
    padding: 5px 4px !important;
    font-size: 11px !important;
  }

  .advancedPanel .particleControlGroup {
    grid-column: 1 / -1;
  }
}

@media (min-width: 761px) and (max-height: 780px) {
  .drawerHead {
    padding-top: 4px !important;
    padding-bottom: 3px !important;
  }
  .drawerHead p {
    display: none;
  }
  .tabs {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }
  .drawControlPanel .advancedPanel {
    max-height: calc(100vh - 285px);
  }
}

@media (max-width: 760px) {
  .creationMetaRow .metaInput,
  .creationMetaRow select.metaInput {
    height: 26px !important;
    min-height: 26px !important;
    font-size: 13px !important;
    padding: 3px 6px !important;
  }

  .paintLayout {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .paintMainColumn {
    grid-template-rows: auto auto !important;
  }

  .paintMainColumn .paletteGrid {
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
  }

  .drawControlPanel {
    gap: 8px;
  }

  .drawControlPanel .advancedPanel {
    margin-top: 0 !important;
  }

  #saveAndPlace.bigPrimary {
    flex-direction: column;
  }

  .collectionViewTab.tab {
    font-size: 12px !important;
  }
}

@media (min-width: 761px) {
  .studioDrawer.advancedTools .drawControlPanel .editorToolRow,
  .studioDrawer.advancedTools .drawControlPanel .basicEditorTools,
  .studioDrawer.advancedTools .drawControlPanel .editorUtilityRow {
    grid-template-columns: 1fr !important;
  }
}

:root { --drawer-z: 70; --bubble-z: 34; }
[hidden], .advancedToolGroup[hidden], .advancedOnly[hidden], #particleDirectionWrap[hidden] { display: none !important; }
.studioDrawer { z-index: var(--drawer-z) !important; }
.selectionBubble { z-index: var(--bubble-z) !important; }
.studioDrawer:not(.advancedTools) .advancedPanel { display: none !important; }

.tool {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  border: 2px solid var(--line, #243044) !important;
  color: var(--line, #243044) !important;
  background: var(--toolBg, #f7f4ea) !important;
  box-shadow: 2px 2px 0 rgba(36,48,68,.14) !important;
}
.tool:where(:not(:disabled)):hover { transform: translate(-1px, -1px); box-shadow: 3px 3px 0 rgba(36,48,68,.16) !important; }
.tool.active { color: #fffdf5 !important; background: var(--toolActiveBg, var(--toolAccent, #243044)) !important; }
.toolIcon, .toolPixelIcon, .tool .pixelIcon { display:inline-block; width:14px; height:14px; flex:0 0 14px; image-rendering:pixelated; }
.toolBrush { --toolBg:#dcfce7; --toolAccent:#16a34a; --toolActiveBg:#15803d; }
.toolErase { --toolBg:#fee2e2; --toolAccent:#ef4444; --toolActiveBg:#dc2626; }
.toolFill { --toolBg:#fef3c7; --toolAccent:#f59e0b; --toolActiveBg:#d97706; }
.toolPick { --toolBg:#e0f2fe; --toolAccent:#0284c7; --toolActiveBg:#0369a1; }
.toolAdvanced { --toolBg:#ede9fe; --toolAccent:#7c3aed; --toolActiveBg:#6d28d9; }
.toolUndo, .toolRedo { --toolBg:#f3f4f6; --toolAccent:#64748b; --toolActiveBg:#475569; }
.toolLine, .toolDepth { --toolBg:#dbeafe; --toolAccent:#2563eb; --toolActiveBg:#1d4ed8; }
.toolRect, .toolParticle { --toolBg:#ccfbf1; --toolAccent:#0d9488; --toolActiveBg:#0f766e; }
.toolSelect { --toolBg:#fae8ff; --toolAccent:#c026d3; --toolActiveBg:#a21caf; }
.toolDoor { --toolBg:#ffedd5; --toolAccent:#c2410c; --toolActiveBg:#9a3412; }
.toolOutline { --toolBg:#e0e7ff; --toolAccent:#4f46e5; --toolActiveBg:#4338ca; }
.toolFlipH, .toolFlipV { --toolBg:#fce7f3; --toolAccent:#db2777; --toolActiveBg:#be185d; }
.toolClearSel { --toolBg:#f1f5f9; --toolAccent:#475569; --toolActiveBg:#334155; }
.toolLight { --toolBg:#fef9c3; --toolAccent:#ca8a04; --toolActiveBg:#a16207; }
.tool.danger, #clearPaint { --toolBg:#ffe4e6; --toolAccent:#e11d48; --toolActiveBg:#be123c; }
#toolPick.toolPick, #redoPaint.toolRedo { border-right: 2px solid var(--line, #243044) !important; }

@media (min-width: 761px) {
  .studioDrawer.advancedTools { width: clamp(560px, 48vw, 720px) !important; max-width: calc(100vw - 20px) !important; }
  .studioDrawer.advancedTools .paintLayout { grid-template-columns: minmax(0, 1fr) clamp(220px, 18vw, 270px) !important; gap: 10px !important; }
  .studioDrawer.advancedTools .paintMainColumn #paintCanvas { max-height: min(58vh, 560px) !important; max-width: none !important; justify-self: stretch !important; }
  .studioDrawer.advancedTools .palettePanel { width: min(100%, 620px) !important; padding: 6px !important; justify-self: stretch !important; }
  .studioDrawer.advancedTools .paletteGrid { grid-template-columns: repeat(14, minmax(16px, 1fr)) !important; gap: 3px !important; }
  .studioDrawer.advancedTools .drawControlPanel { display:grid !important; grid-template-columns: minmax(76px, 90px) minmax(120px, 1fr) !important; grid-template-rows:auto auto !important; gap:7px 8px !important; }
  .studioDrawer.advancedTools .basicEditorTools { grid-column:1 !important; grid-row:1 !important; }
  .studioDrawer.advancedTools .editorUtilityRow { grid-column:1 !important; grid-row:2 !important; }
  .studioDrawer.advancedTools .advancedPanel { grid-column:2 !important; grid-row:1 / span 2 !important; display:grid !important; padding:7px !important; overflow:visible !important; }
  .studioDrawer.advancedTools .advancedDrawRow,
  .studioDrawer.advancedTools .advancedActionRow,
  .studioDrawer.advancedTools .extraAdvancedRow { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap:5px !important; }
  .studioDrawer.advancedTools .advancedPanel :is(.tool, select, .particleControl) { min-height:30px !important; padding:5px !important; font-size:11px !important; }
  .studioDrawer.advancedTools .particleControlGroup { grid-column:1 / -1 !important; }
}

.collectionToolbar { display:flex !important; align-items:center !important; gap:6px !important; flex-wrap:nowrap !important; padding:7px !important; overflow:hidden !important; }
.collectionSummary { flex:0 0 auto !important; white-space:nowrap !important; font-size:12px !important; }
.collectionSearch { flex:0 0 108px !important; width:108px !important; min-width:92px !important; min-height:26px !important; padding:3px 6px !important; font-size:11px !important; }
.collectionFilters { flex:1 1 auto !important; min-width:0 !important; display:flex !important; flex-wrap:nowrap !important; gap:5px !important; overflow-x:auto !important; overflow-y:hidden !important; scrollbar-width:thin; }
.collectionFilter { flex:0 0 auto !important; padding:4px 7px !important; font-size:11px !important; white-space:nowrap !important; }

@media (max-width: 760px) {
  .collectionToolbar { align-items:stretch !important; overflow-x:auto !important; }
  .collectionSummary { display:none !important; }
  .collectionSearch { flex-basis:104px !important; width:104px !important; }
  .studioDrawer { z-index: var(--drawer-z) !important; }
}


/* Follow-up layout: let the palette consume the unused horizontal area below the editor and tool column. */
@media (min-width: 761px) {
  #tab-draw .paintLayout {
    grid-template-columns: minmax(0, 1fr) clamp(220px, 18vw, 270px) !important;
    grid-template-rows: auto auto !important;
    align-items: start !important;
  }
  #tab-draw .paintMainColumn {
    display: contents !important;
  }
  #tab-draw .paintMainColumn #paintCanvas {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    max-width: none !important;
    justify-self: stretch !important;
  }
  #tab-draw .drawControlPanel {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }
  #tab-draw .paintMainColumn .palettePanel {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    max-width: none !important;
    justify-self: stretch !important;
    padding: 6px !important;
  }
  #tab-draw .paintMainColumn .paletteGrid,
  .studioDrawer.advancedTools #tab-draw .paintMainColumn .paletteGrid {
    grid-template-columns: repeat(auto-fill, minmax(28px, 1fr)) !important;
    gap: 4px !important;
    max-height: none !important;
    overflow: visible !important;
  }
  #tab-draw .paintMainColumn .paletteGrid button,
  #tab-draw .paintMainColumn .paletteSwatch {
    min-height: 28px !important;
  }
}



/* v3 placement confirmation: explicit button, never the old bottom preview bar. */
.placeHereButton {
  position: fixed;
  z-index: 92;
  transform: translate(-50%, -100%);
  padding: 9px 12px !important;
  border: 3px solid var(--line) !important;
  border-radius: 13px !important;
  background: #fff2a8 !important;
  color: #243044 !important;
  box-shadow: 0 6px 0 rgba(36,48,68,.22), 0 10px 18px rgba(22,31,46,.18) !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  letter-spacing: .04em;
  cursor: pointer;
  pointer-events: auto !important;
  touch-action: manipulation;
}
.placeHereButton[hidden] { display: none !important; }
#confirmDialog.reportDialog { position: fixed !important; z-index: 10000 !important; }
.reportDialog { z-index: 9998; }
.assetStatus.validating { background: #fff2a8; }
.assetStatus.failed { background: #ffe2e2; color: #8b2424; }

/* Shared-only editor polish: five obvious primary draw controls. */
.editorToolRow,
.basicEditorTools,
.studioDrawer.advancedTools .editorToolRow,
.studioDrawer.advancedTools .basicEditorTools {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}
.basicEditorTools #toolBrush {
  background: linear-gradient(180deg, #dcfce7, #86efac) !important;
  color: #12422a !important;
}
.basicEditorTools #toolErase {
  background: linear-gradient(180deg, #fee2e2, #fca5a5) !important;
  color: #6f1515 !important;
}
.basicEditorTools #toolFill {
  background: linear-gradient(180deg, #dbeafe, #93c5fd) !important;
  color: #123f7a !important;
}
.basicEditorTools #toolPick {
  background: linear-gradient(180deg, #fef3c7, #fde68a) !important;
  color: #70470a !important;
}
.basicEditorTools #clearPaint {
  background: linear-gradient(180deg, #ffe4e6, #fb7185) !important;
  color: #711827 !important;
}
.basicEditorTools .tool.active {
  outline: 4px solid rgba(36, 48, 68, .55) !important;
  outline-offset: -6px !important;
  color: #111827 !important;
}
.basicEditorTools #clearPaint {
  border-right: 2px solid var(--line, #243044) !important;
}
.studioDrawer .compactEditorTop {
  display: flex !important;
}
