
/* ===== css/style.css ===== */

:root {
  --bg: #110F1B;
  --bg-2: #171428;
  --bg-3: #1F1A31;
  --line: rgba(180, 148, 255, 0.18);
  --line-strong: rgba(198, 150, 255, 0.42);
  --white: #FFFFFF;
  --muted: rgba(255,255,255,0.64);
  --accent: #8A5BFF;
  --accent-2: #C288FF;
  --accent-soft: rgba(138, 91, 255, 0.18);
  --success: #3EDD97;
  --chip: #221D36;
  --shadow: 0 12px 28px rgba(0,0,0,0.34);
  --radius: 18px;
  --radius-sm: 12px;
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; width: 100%; height: 100%; background: var(--bg); color: var(--white); font-family: Arial, Helvetica, sans-serif; overflow: hidden; }
body { display: flex; }
button, input { font-family: inherit; }
.app-shell { width: 100%; height: 100%; display: flex; flex-direction: column; gap: 14px; padding: 14px; }
.topbar { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.brand-block { display:flex; gap:12px; align-items:center; }
.brand-dot { width:14px; height:14px; border-radius:50%; background: linear-gradient(135deg,var(--accent),var(--accent-2)); box-shadow: 0 0 22px rgba(138,91,255,0.7); }
.eyebrow { font-size:10px; letter-spacing:0.14em; text-transform:uppercase; color:var(--muted); }
h1, h2 { margin: 0; font-weight: 700; }
h1 { font-size: 22px; }
h2 { font-size: 18px; }
.status-pill { font-size: 12px; color: var(--muted); padding: 10px 14px; border:1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,0.03); }
.status-pill.ready { color: #d9cbff; border-color: rgba(138,91,255,0.44); background: rgba(138,91,255,0.12); }
.tabbar { display:flex; gap:8px; overflow-x:auto; padding-bottom:2px; }
.tab-btn { border:none; background: var(--chip); color:var(--muted); border-radius: 999px; padding: 11px 16px; cursor:pointer; font-size:13px; white-space:nowrap; border:1px solid transparent; transition: .18s ease; }
.tab-btn.active, .tab-btn:hover { color:var(--white); background: linear-gradient(180deg, rgba(138,91,255,.24), rgba(138,91,255,.12)); border-color: var(--line-strong); box-shadow: inset 0 0 0 1px rgba(255,255,255,0.04); }
.content { min-height:0; flex:1; position:relative; }
.page { display:none; width:100%; height:100%; overflow:auto; padding-right:4px; }
.page.active { display:block; }
.page-grid { display:grid; gap:14px; }
.presets-layout { grid-template-columns: minmax(320px, 1.25fr) minmax(320px, 1fr); }
.graph-layout { grid-template-columns: minmax(340px, 1.2fr) minmax(300px, .85fr); }
.two-col { grid-template-columns: repeat(2, minmax(280px, 1fr)); }
.stack-layout { display:flex; flex-direction:column; gap:14px; }
.card { background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01)); border:1px solid var(--line); box-shadow: var(--shadow); border-radius: var(--radius); padding: 16px; }
.card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom: 14px; }
.card-head.compact { margin-bottom: 12px; }
.primary-btn, .tool-btn, .preset-card, .graph-card, .color-chip, .square-btn, .segment-btn { transition: .18s ease; }
.primary-btn, .tool-btn, .square-btn, .segment-btn { cursor:pointer; }
.primary-btn { border:none; padding: 12px 16px; border-radius: 12px; background: linear-gradient(90deg, var(--accent), var(--accent-2)); color:var(--qwix-accent-ink,var(--accent-ink,#fff8ed)); font-weight:700; letter-spacing:.01em; box-shadow: 0 8px 20px rgba(138,91,255,.25); }
.primary-btn:hover { transform: translateY(-1px); }
.full-width { width:100%; }
.tool-btn { border:1px solid var(--line); background: var(--bg-2); color: var(--white); padding: 11px 12px; border-radius: 12px; font-weight: 600; }
.tool-btn:hover, .square-btn:hover, .segment-btn:hover { border-color: var(--line-strong); background: rgba(138,91,255,0.12); }
.help-text { margin: 0 0 14px; font-size: 12px; line-height: 1.5; color: var(--muted); }
.preset-stage { min-height: 290px; border:1px solid var(--line); border-radius: 16px; background: radial-gradient(circle at top, rgba(138,91,255,.12), rgba(255,255,255,.015)); display:flex; align-items:center; justify-content:center; overflow:hidden; position:relative; }
.preview-sample { position:relative; display:flex; align-items:center; justify-content:center; width:100%; height:100%; }
.preview-word { font-size: 56px; font-weight: 700; letter-spacing: 0.02em; color: var(--white); position:relative; }
.preview-char { display:inline-block; }
.preview-shadow { position:absolute; inset:auto; color: rgba(194,136,255,.24); transform: translate(8px, 0); filter: blur(1px); }
.meta-row { display:flex; justify-content:space-between; gap:12px; color: var(--muted); font-size: 12px; margin-top: 10px; }
.preset-grid, .graph-preset-grid, .color-grid { display:grid; gap:10px; }
.preset-grid { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }
.graph-preset-grid { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); }
.color-grid { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); }
.preset-card, .graph-card { border:1px solid var(--line); background: rgba(255,255,255,.02); border-radius: 14px; padding: 10px; cursor:pointer; }
.preset-card.active, .graph-card.active { border-color: var(--line-strong); background: rgba(138,91,255,0.12); }
.preset-card:hover, .graph-card:hover { border-color: var(--line-strong); transform: translateY(-1px); }
.preset-thumb { height: 92px; border-radius: 10px; border:1px solid rgba(255,255,255,0.06); background: linear-gradient(180deg, rgba(0,0,0,.32), rgba(255,255,255,.02)); display:flex; align-items:center; justify-content:center; overflow:hidden; margin-bottom: 10px; position:relative; }
.thumb-label { font-size: 12px; color: var(--muted); text-transform: uppercase; letter-spacing: .08em; }
.preset-title, .graph-title { font-size: 13px; font-weight:700; line-height:1.35; margin-bottom: 4px; }
.preset-subtitle, .graph-subtitle { font-size: 11px; color: var(--muted); }
.graph-stage { height: 340px; border:1px solid var(--line); border-radius: 16px; background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(0,0,0,.12)); padding: 8px; }
#graphSvg { width:100%; height:100%; }
.graph-path.main { fill:none; stroke:url(#graphGlow); stroke-width:4; stroke-linecap:round; stroke-linejoin:round; }
.graph-path.ghost { fill:none; stroke: rgba(255,255,255,.18); stroke-width:2; }
.grid-lines line { stroke: rgba(255,255,255,.06); stroke-width:1; }
#graphStart, #graphEnd { fill: #F5B640; }
.graph-readout { margin-top: 10px; font-size: 13px; color: var(--muted); }
.square-grid { display:grid; gap:10px; }
.anchor-grid { grid-template-columns: repeat(3, minmax(62px, 1fr)); }
.align-grid { grid-template-columns: repeat(3, minmax(62px, 1fr)); }
.square-btn { min-height: 72px; border-radius: 16px; border:1px solid var(--line); background: var(--bg-2); color: var(--white); display:flex; align-items:center; justify-content:center; font-weight:700; font-size: 13px; padding: 6px; text-align:center; }
.move-frame-grid, .layer-create-grid { display:grid; gap:10px; }
.move-frame-grid { grid-template-columns: repeat(4, minmax(80px,1fr)); margin-bottom: 12px; }
.layer-create-grid { grid-template-columns: repeat(5, minmax(90px,1fr)); }
.button-stack { display:grid; gap:10px; }
.color-chip { border:1px solid var(--line); background: rgba(255,255,255,.02); padding:10px; border-radius: 14px; cursor:pointer; display:flex; align-items:center; gap:10px; }
.color-chip:hover { border-color: var(--line-strong); background: rgba(138,91,255,0.10); }
.swatch { width:18px; height:18px; border-radius: 6px; border:1px solid rgba(255,255,255,.2); flex:0 0 auto; }
.switch-row { display:flex; gap:10px; align-items:center; margin-bottom: 10px; font-size: 13px; color: var(--white); }
.switch-row input { accent-color: var(--accent); }
.segmented-control { display:inline-flex; background: rgba(255,255,255,.03); border:1px solid var(--line); border-radius: 999px; padding: 4px; gap:4px; margin-bottom: 12px; }
.segment-btn { border:none; background: transparent; color: var(--muted); padding: 10px 18px; border-radius: 999px; }
.segment-btn.active { background: linear-gradient(90deg, rgba(138,91,255,.28), rgba(194,136,255,.22)); color: var(--white); }
.code-block { margin:0; white-space:pre-wrap; background: #0B0913; border:1px solid var(--line); color:#F2EDFF; border-radius: 16px; padding: 18px; font-size:12px; line-height:1.55; }
.expression-card { min-height: calc(100% - 4px); }

/* animated preview helpers */
.sample-bounce .preview-word { animation: bounceScale 1.2s ease-in-out infinite; }
.sample-left-right .preview-word { animation: slideRight 1.2s ease-in-out infinite; }
.sample-right-left .preview-word { animation: slideLeft 1.2s ease-in-out infinite; }
.sample-up-down .preview-word { animation: slideDown 1.2s ease-in-out infinite; }
.sample-down-up .preview-word { animation: slideUp 1.2s ease-in-out infinite; }
.sample-rise .preview-word { animation: riseUp .95s ease-in-out infinite alternate; }
.sample-blur .preview-word { animation: blurUp 1.4s ease-in-out infinite; }
.sample-opacity .preview-word { animation: opacityFlicker 1.4s ease-in-out infinite; }
.sample-characters .preview-char { animation: charBounce 1s ease-in-out infinite; }
.sample-characters .preview-char:nth-child(2){ animation-delay:.08s; }
.sample-characters .preview-char:nth-child(3){ animation-delay:.16s; }
.sample-characters .preview-char:nth-child(4){ animation-delay:.24s; }
.sample-tracking .preview-word { animation: trackingReveal 1.4s ease-in-out infinite; }
.sample-count .preview-word::after { content:'0'; animation: countAnim 2.2s steps(10) infinite; margin-left:8px; color: var(--accent-2); }
@keyframes bounceScale { 0%,100%{ transform:scale(.95);} 45%{transform:scale(1.06);} 65%{transform:scale(.99);} }
@keyframes slideRight { 0%{transform:translateX(-44px);opacity:0;} 45%{transform:translateX(0);opacity:1;} 65%{transform:translateX(8px);} 100%{transform:translateX(0);} }
@keyframes slideLeft { 0%{transform:translateX(44px);opacity:0;} 45%{transform:translateX(0);opacity:1;} 65%{transform:translateX(-8px);} 100%{transform:translateX(0);} }
@keyframes slideDown { 0%{transform:translateY(-44px);opacity:0;} 45%{transform:translateY(0);opacity:1;} 65%{transform:translateY(8px);} 100%{transform:translateY(0);} }
@keyframes slideUp { 0%{transform:translateY(44px);opacity:0;} 45%{transform:translateY(0);opacity:1;} 65%{transform:translateY(-8px);} 100%{transform:translateY(0);} }
@keyframes riseUp { 0%{transform:translateY(18px);opacity:0;} 100%{transform:translateY(0);opacity:1;} }
@keyframes blurUp { 0%{filter:blur(8px);opacity:0;transform:translateY(18px);} 50%,100%{filter:blur(0);opacity:1;transform:translateY(0);} }
@keyframes opacityFlicker { 0%,100%{opacity:.15;} 30%{opacity:1;} 55%{opacity:.45;} 70%{opacity:1;} }
@keyframes charBounce { 0%,100%{ transform:translateY(0);} 45%{transform:translateY(-10px);} 65%{transform:translateY(2px);} }
@keyframes trackingReveal { 0%{ letter-spacing:.35em; opacity:0; } 50%,100%{ letter-spacing:.02em; opacity:1; } }
@keyframes countAnim { 0%{content:'0';} 10%{content:'1';} 20%{content:'2';} 30%{content:'3';} 40%{content:'4';} 50%{content:'5';} 60%{content:'6';} 70%{content:'7';} 80%{content:'8';} 90%{content:'9';} 100%{content:'10';} }

@media (max-width: 940px) {
  .presets-layout, .graph-layout, .two-col { grid-template-columns: 1fr; }
  .move-frame-grid, .layer-create-grid { grid-template-columns: repeat(2,1fr); }
}


/* ===== v2 compact adjustments ===== */
* { outline: none !important; }
*:focus, *:focus-visible { outline: none !important; box-shadow: none !important; }
::-webkit-scrollbar { width: 0px; height: 0px; background: transparent; }
.page, .tabbar { scrollbar-width: none; -ms-overflow-style: none; }

.app-shell { gap: 9px; padding: 9px; min-width: 520px; }
.topbar { min-height: 34px; }
h1 { font-size: 16px; }
h2 { font-size: 14px; }
.eyebrow { font-size: 8px; letter-spacing: .13em; }
.status-pill { padding: 6px 10px; font-size: 10px; }
.tabbar { gap: 5px; padding-bottom: 0; }
.tab-btn { padding: 7px 10px; font-size: 11px; border-radius: 10px; }
.card { padding: 10px; border-radius: 14px; }
.card-head { margin-bottom: 9px; }
.help-text { font-size: 10px; margin-bottom: 9px; line-height: 1.35; }
.primary-btn { padding: 9px 11px; border-radius: 10px; font-size: 11px; }
.tool-btn { padding: 8px 9px; border-radius: 10px; font-size: 11px; }
.page-grid { gap: 9px; }
.stack-layout { gap: 9px; }
.presets-layout { grid-template-columns: minmax(260px, 1fr) minmax(260px, 1fr); }
.graph-layout { grid-template-columns: minmax(290px, 1.05fr) minmax(270px, .95fr); }
.two-col { grid-template-columns: repeat(2, minmax(230px, 1fr)); }
.preset-stage { min-height: 180px; border-radius: 12px; }
.preview-word { font-size: 38px; }
.preset-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 7px; }
.preset-card, .graph-card { padding: 7px; border-radius: 11px; }
.preset-thumb { height: 64px; border-radius: 9px; margin-bottom: 7px; }
.preset-title, .graph-title { font-size: 11px; }
.preset-subtitle, .graph-subtitle { font-size: 9px; }
.meta-row, .graph-readout { font-size: 10px; margin-top: 7px; }
.graph-stage { height: 240px; border-radius: 12px; padding: 6px; }
.graph-preset-grid { grid-template-columns: repeat(auto-fill, minmax(64px, 1fr)); gap: 7px; }
.graph-card { min-height: 62px; display:flex; flex-direction:column; justify-content:space-between; align-items:stretch; }
.graph-thumb-svg { width:100%; height:34px; border-radius:7px; background:rgba(255,255,255,.025); }
.slider-grid { display:grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 9px; }
.slider-box { border:1px solid var(--line); border-radius:10px; padding:8px; background:rgba(255,255,255,.02); }
.slider-box label { display:flex; justify-content:space-between; font-size:10px; color:var(--muted); margin-bottom:6px; }
.slider-box input { width:100%; accent-color: var(--accent); }
.square-grid { gap: 6px; }
.anchor-grid, .align-grid { grid-template-columns: repeat(3, 42px); justify-content:start; }
.square-btn { min-height: 42px; min-width: 42px; border-radius: 10px; font-size: 13px; padding: 0; }
.move-frame-grid { grid-template-columns: repeat(4, minmax(50px, 1fr)); gap: 6px; }
.layer-create-grid { grid-template-columns: repeat(5, minmax(50px, 1fr)); gap: 6px; }
.button-stack { gap: 6px; }
.color-grid { grid-template-columns: repeat(auto-fill, minmax(28px, 1fr)); gap: 7px; max-width: 520px; }
.color-chip { padding: 4px; min-height: 29px; border-radius: 8px; justify-content:center; }
.color-chip span:not(.swatch) { display:none; }
.swatch { width:19px; height:19px; border-radius: 5px; }
.segmented-control { padding: 3px; margin-bottom: 8px; }
.segment-btn { padding: 7px 12px; font-size: 11px; }
.code-block { font-size: 10px; padding: 11px; border-radius: 12px; }
.graph-toolbar { display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:6px; margin-top:9px; }
.graph-toolbar .tool-btn { padding:8px 5px; }
@media (max-width: 760px) {
  .app-shell { min-width: 430px; }
  .presets-layout, .graph-layout, .two-col { grid-template-columns: 1fr; }
  .graph-stage { height: 190px; }
  .preset-stage { min-height: 145px; }
  .preview-word { font-size: 30px; }
  .tab-btn { padding: 6px 8px; font-size: 10px; }
  .brand-block .eyebrow { display:none; }
  .status-pill { display:none; }
}


/* ===== v3 graph + GIF preview ===== */
.bezier-grid { grid-template-columns: repeat(4, minmax(80px, 1fr)); }
.preview-gif {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.preview-fallback-hidden {
  display: none;
}
@media (max-width: 760px) {
  .bezier-grid { grid-template-columns: repeat(2, minmax(80px, 1fr)); }
}


/* ===== v4 draggable graph handles ===== */
#graphSvg { overflow: visible; touch-action: none; }
.graph-handle-line {
  stroke: #F5B640;
  stroke-width: 2;
  stroke-linecap: round;
  opacity: .95;
}
.graph-handle {
  fill: #F5B640;
  stroke: rgba(255,255,255,.75);
  stroke-width: 1.5;
  cursor: grab;
  filter: drop-shadow(0 0 6px rgba(245, 182, 64, .45));
}
.graph-handle:active { cursor: grabbing; }
.graph-toolbar { grid-template-columns: repeat(3, minmax(0,1fr)); }


/* ===== v5 polish: graph handles, icon cards, custom modal ===== */
.graph-handle-line {
  stroke: rgba(194, 136, 255, 0.78);
  stroke-width: 1.35;
  stroke-linecap: round;
}
.graph-handle {
  fill: #C288FF;
  stroke: #F4E9FF;
  stroke-width: 1.15;
  cursor: grab;
  filter: drop-shadow(0 0 5px rgba(194, 136, 255, .42));
}
#graphStart, #graphEnd {
  fill: #C288FF;
  stroke: #F4E9FF;
  stroke-width: 1;
  r: 3.8;
}
.graph-path.main {
  stroke-width: 3.2;
}
.preset-icon {
  width: 100%;
  height: 100%;
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.icon-tile {
  width: 42px;
  height: 42px;
  border-radius: 11px;
  border: 1px solid rgba(194, 136, 255, .36);
  background: linear-gradient(145deg, rgba(138,91,255,.26), rgba(255,255,255,.035));
  display: flex;
  align-items: center;
  justify-content: center;
  color: #F7F1FF;
  box-shadow: inset 0 0 18px rgba(194,136,255,.06);
}
.icon-tile svg {
  width: 28px;
  height: 28px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.icon-mini-text {
  font-weight: 800;
  font-size: 16px;
  letter-spacing: .02em;
}
.icon-orbit::before,
.icon-orbit::after {
  content: "";
  position: absolute;
  width: 62px;
  height: 28px;
  border-radius: 50%;
  border: 1px solid rgba(194, 136, 255, .42);
  transform: rotate(-24deg);
}
.icon-orbit::after { transform: rotate(24deg); opacity: .55; }
.preset-card.active .icon-tile,
.preset-card:hover .icon-tile {
  border-color: rgba(255,255,255,.62);
  background: linear-gradient(145deg, rgba(138,91,255,.48), rgba(194,136,255,.12));
}
.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(7, 5, 12, .58);
  backdrop-filter: blur(10px);
}
.modal-backdrop.open { display: flex; }
.aptk-modal {
  width: min(420px, calc(100vw - 32px));
  border-radius: 18px;
  border: 1px solid rgba(194,136,255,.36);
  background: linear-gradient(180deg, #19152A, #110F1B);
  box-shadow: 0 24px 70px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.035) inset;
  padding: 18px;
  color: var(--white);
}
.modal-eyebrow {
  font-size: 9px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(255,255,255,.48);
  margin-bottom: 8px;
}
.aptk-modal h3 {
  margin: 0 0 8px;
  font-size: 19px;
}
.aptk-modal p {
  margin: 0 0 12px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}
.modal-input {
  width: 100%;
  border: 1px solid rgba(194,136,255,.38);
  background: rgba(255,255,255,.045);
  border-radius: 12px;
  padding: 11px 12px;
  color: var(--white);
  font-size: 13px;
}
.modal-input:focus {
  border-color: rgba(194,136,255,.82);
  box-shadow: 0 0 0 3px rgba(138,91,255,.18) !important;
}
.modal-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  margin-top: 14px;
}
.modal-btn {
  border: 1px solid rgba(194,136,255,.25);
  border-radius: 11px;
  padding: 9px 14px;
  color: var(--white);
  cursor: pointer;
}
.modal-btn.ghost {
  background: rgba(255,255,255,.05);
}
.modal-btn.primary {
  background: linear-gradient(90deg, var(--accent), var(--accent-2));
  border-color: transparent;
  font-weight: 700;
}


/* final video preset previews */
.preview-video {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.preview-gif {
  object-fit: contain;
}


/* ===== LAYOUT REWORK: compact practical UI ===== */
html, body {
  overflow: hidden !important;
}

.compact-shell {
  padding: 6px !important;
  gap: 5px !important;
  min-width: 0 !important;
}

.compact-topbar {
  min-height: 22px !important;
}

.brand-dot {
  width: 9px !important;
  height: 9px !important;
}

h1 {
  font-size: 13px !important;
  line-height: 1 !important;
}

h2 {
  font-size: 11px !important;
  line-height: 1.12 !important;
}

.status-pill {
  display: none !important;
}

.compact-tabbar {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 4px !important;
  overflow: hidden !important;
}

.tab-btn {
  min-width: 0 !important;
  padding: 5px 4px !important;
  font-size: 9px !important;
  border-radius: 8px !important;
}

.compact-content,
.page {
  overflow: hidden !important;
}

.card {
  padding: 6px !important;
  border-radius: 10px !important;
}

.mini-head {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 6px;
  margin-bottom: 5px;
}

.eyebrow {
  font-size: 7px !important;
  letter-spacing: .1em !important;
}

.primary-btn {
  padding: 6px 9px !important;
  font-size: 9px !important;
  border-radius: 8px !important;
}

.text-page-compact {
  height: 100%;
  display: grid;
  grid-template-rows: minmax(170px, 1fr) auto;
  gap: 6px;
}

.preset-stage {
  height: clamp(155px, 45vh, 270px) !important;
  min-height: 155px !important;
  border-radius: 10px !important;
}

.preview-video,
.preview-gif {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.meta-row {
  display: none !important;
}

.preset-icons-card {
  padding: 5px !important;
}

.icon-only-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(38px, 1fr)) !important;
  gap: 4px !important;
}

.preset-card {
  padding: 3px !important;
  border-radius: 8px !important;
  min-height: 36px !important;
}

.preset-thumb {
  height: 32px !important;
  min-height: 32px !important;
  margin: 0 !important;
  border: none !important;
  background: rgba(255,255,255,.025) !important;
}

.preset-title,
.preset-subtitle {
  display: none !important;
}

.preset-icon,
.icon-tile {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
}

.icon-tile {
  border-radius: 7px !important;
}

.icon-tile svg {
  width: 20px !important;
  height: 20px !important;
}

.icon-mini-text {
  font-size: 13px !important;
}

.arrow-label {
  position: relative;
  font-weight: 900;
  font-size: 16px;
  line-height: 1;
}

.arrow-label b {
  position: absolute;
  right: -11px;
  top: -7px;
  font-size: 8px;
  color: #C288FF;
}

/* Graph */
.graph-page-compact {
  height: 100%;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 6px;
}

.square-graph-stage {
  width: 100%;
  aspect-ratio: 1 / 1;
  height: auto !important;
  max-height: min(58vh, 330px);
  min-height: 190px;
  padding: 5px !important;
  border-radius: 10px !important;
}

#graphSvg {
  width: 100%;
  height: 100%;
}

.graph-bottom-bar {
  display: grid;
  grid-template-columns: 28px 1fr 28px;
  gap: 5px;
  align-items: center;
  margin-top: 5px;
}

.tiny-icon-btn,
.tiny-value-btn {
  border: 1px solid var(--line);
  background: rgba(255,255,255,.035);
  color: var(--white);
  border-radius: 7px;
  height: 24px;
  cursor: pointer;
  font-size: 10px;
}

.tiny-value-btn {
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .02em;
}

.hidden-graph-controls {
  display: none !important;
}

.graph-icons-card {
  min-height: 0;
  overflow: hidden;
}

.compact-graph-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(42px, 1fr)) !important;
  gap: 4px !important;
  overflow: hidden !important;
}

.graph-card {
  min-height: 44px !important;
  padding: 3px !important;
  border-radius: 7px !important;
}

.graph-thumb-svg {
  height: 31px !important;
}

.graph-title {
  display: none !important;
}

/* Unified toolkit */
.toolkit-compact {
  height: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
  gap: 6px;
  overflow: hidden;
}

.tool-section {
  border: 1px solid var(--line);
  background: rgba(255,255,255,.025);
  border-radius: 10px;
  padding: 6px;
  min-width: 0;
}

.wide-section {
  grid-column: 1 / -1;
}

.section-title {
  font-size: 7.5px;
  letter-spacing: .12em;
  color: var(--muted);
  margin-bottom: 5px;
  text-transform: uppercase;
}

.tiny-check {
  display: flex;
  gap: 4px;
  align-items: center;
  font-size: 8px;
  color: var(--muted);
  margin-bottom: 5px;
}

.anchor-grid,
.align-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 28px) !important;
  gap: 4px !important;
}

.square-btn {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  border-radius: 7px !important;
  padding: 0 !important;
  font-size: 11px !important;
}

.mini-button-row {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  gap: 4px;
}

.icon-action-btn {
  min-width: 0;
  height: 28px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.035);
  color: var(--white);
  border-radius: 7px;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.icon-action-btn svg {
  width: 17px;
  height: 17px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.icon-action-btn:hover,
.square-btn:hover,
.tiny-icon-btn:hover,
.tiny-value-btn:hover {
  border-color: rgba(194,136,255,.65);
  background: rgba(138,91,255,.15);
}

.wide-icon {
  font-size: 9px;
}

.layer-icons-row {
  grid-template-columns: repeat(5, 1fr);
  grid-auto-flow: unset;
}

.color-grid {
  display: grid !important;
  grid-template-columns: repeat(16, minmax(14px, 1fr)) !important;
  gap: 3px !important;
}

.color-chip {
  min-width: 0 !important;
  min-height: 19px !important;
  height: 19px !important;
  padding: 2px !important;
  border-radius: 5px !important;
}

.swatch {
  width: 13px !important;
  height: 13px !important;
  border-radius: 3px !important;
}

.micro-segment {
  margin-top: 5px;
  margin-bottom: 0 !important;
  padding: 2px !important;
}

.micro-segment .segment-btn {
  padding: 4px 6px !important;
  font-size: 8px !important;
}

/* Expression */
.code-block {
  font-size: 8px !important;
  line-height: 1.35 !important;
  max-height: calc(100vh - 120px);
  overflow: hidden;
  padding: 8px !important;
}

/* Responsive fallback */

.expression-scale-mode {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px;
  margin-top: 7px;
}

.expression-scale-mode-btn {
  min-height: 24px;
  border-radius: 9px;
  border: 1px solid rgba(255,255,255,0.075);
  background: rgba(255,255,255,0.045);
  color: rgba(255,255,255,0.72);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}

.expression-scale-mode-btn.is-active {
  color: #fff;
  background: rgba(49, 130, 255, 0.30);
  border-color: rgba(49, 130, 255, 0.65);
}

.expression-toggle-row:not(.is-active) .expression-scale-mode {
  opacity: 0.52;
  pointer-events: none;
}

@media (max-width: 390px) {
  .toolkit-compact {
    grid-template-columns: 1fr;
  }

  .wide-section {
    grid-column: auto;
  }

  .color-grid {
    grid-template-columns: repeat(8, 20px) !important;
  }

  .preset-stage {
    height: clamp(145px, 42vh, 230px) !important;
  }
}


/* ===== LAYOUT REWORK V2: graph presets + text preview spacing ===== */

/* Slightly bigger readable UI */
h1 {
  font-size: 14px !important;
}

h2 {
  font-size: 12px !important;
}

.tab-btn {
  font-size: 10px !important;
  padding: 6px 5px !important;
}

.primary-btn,
.tool-btn,
.icon-action-btn {
  font-size: 10px !important;
}

/* TEXT PRESETS: remove dead empty space and make preview/icons clearer */
.text-page-compact {
  height: auto !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: auto auto !important;
  align-content: start !important;
  gap: 6px !important;
  overflow: hidden !important;
}

.preview-card {
  height: auto !important;
  min-height: 0 !important;
}

.preset-stage {
  height: clamp(185px, 44vh, 255px) !important;
  min-height: 185px !important;
  max-height: 255px !important;
}

.preset-icons-card {
  height: auto !important;
  min-height: 0 !important;
}

.icon-only-grid {
  grid-template-columns: repeat(auto-fit, minmax(43px, 1fr)) !important;
  gap: 5px !important;
}

.preset-card {
  min-height: 42px !important;
  padding: 4px !important;
}

.preset-thumb {
  height: 38px !important;
  min-height: 38px !important;
}

.icon-tile svg {
  width: 23px !important;
  height: 23px !important;
}

.icon-mini-text,
.arrow-label {
  font-size: 16px !important;
}

.arrow-label b {
  right: -12px !important;
  top: -8px !important;
  font-size: 9px !important;
}

/* GRAPH: make square graph smaller so presets fit below */
.graph-page-compact {
  height: 100% !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  gap: 6px !important;
  overflow: hidden !important;
}

.graph-preview-card {
  min-height: 0 !important;
}

.square-graph-stage {
  width: min(100%, 215px) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 1 / 1 !important;
  margin: 0 auto !important;
}

.graph-bottom-bar {
  margin-top: 5px !important;
}

.graph-icons-card {
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 5px !important;
}

/* Styled scrollbar only inside graph presets area */
.graph-icons-card::-webkit-scrollbar {
  width: 5px !important;
  height: 5px !important;
}

.graph-icons-card::-webkit-scrollbar-track {
  background: rgba(255,255,255,.035) !important;
  border-radius: 999px !important;
}

.graph-icons-card::-webkit-scrollbar-thumb {
  background: rgba(194,136,255,.58) !important;
  border-radius: 999px !important;
}

.compact-graph-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(48px, 1fr)) !important;
  gap: 5px !important;
  overflow: visible !important;
  align-content: start !important;
}

.graph-card {
  min-height: 48px !important;
  height: 48px !important;
  padding: 4px !important;
  border-radius: 8px !important;
  display: grid !important;
  grid-template-rows: 29px 11px !important;
  gap: 2px !important;
}

.graph-thumb-svg {
  width: 100% !important;
  height: 29px !important;
  display: block !important;
}

.graph-title {
  display: block !important;
  font-size: 7.6px !important;
  line-height: 1 !important;
  height: 10px !important;
  margin: 0 !important;
  text-align: center !important;
  color: rgba(255,255,255,.58) !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}

.graph-card.active .graph-title,
.graph-card:hover .graph-title {
  color: #fff !important;
}

/* Graph values bar a little more readable */
.tiny-value-btn {
  font-size: 9.5px !important;
  height: 25px !important;
}

.tiny-icon-btn {
  height: 25px !important;
}

/* Height-specific tuning for docked panels like the screenshot */
@media (max-height: 480px) {
  .preset-stage {
    height: 178px !important;
    min-height: 178px !important;
  }

  .square-graph-stage {
    width: min(100%, 190px) !important;
  }

  .graph-card {
    min-height: 44px !important;
    height: 44px !important;
    grid-template-rows: 26px 10px !important;
  }

  .graph-thumb-svg {
    height: 26px !important;
  }

  .graph-title {
    font-size: 7px !important;
  }
}

@media (min-height: 560px) {
  .square-graph-stage {
    width: min(100%, 250px) !important;
  }

  .preset-stage {
    height: clamp(210px, 46vh, 300px) !important;
    max-height: 300px !important;
  }
}


/* ===== Layout rework v3: graph split view + tools redesign ===== */

/* Graph professional split layout */
.graph-page-pro {
  --graph-left-ratio: 0.56;
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-rows: minmax(0, auto) minmax(0, 1fr);
  gap: 6px;
  overflow: hidden;
}

.graph-left-pane,
.graph-right-pane {
  min-width: 0;
  min-height: 0;
}

.graph-left-pane {
  display: flex;
  flex-direction: column;
}

.graph-square-wrap {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.square-graph-stage {
  width: min(100%, 280px) !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  min-height: 0 !important;
  max-height: min(44vh, 280px) !important;
  margin: 0 auto !important;
}

.graph-values-row {
  display: grid;
  grid-template-columns: 52px 1fr 52px;
  gap: 5px;
  margin-top: 6px;
}

.graph-side-btn,
.graph-values-btn,
.graph-apply-wide {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255,255,255,.04);
  color:var(--qwix-accent-ink,var(--accent-ink,#fff8ed));
  cursor: pointer;
  font-weight: 700;
}

.graph-side-btn {
  height: 28px;
  font-size: 9px;
}

.graph-values-btn {
  height: 28px;
  font-size: 9px;
  letter-spacing: .02em;
}

.graph-apply-wide {
  width: 100%;
  height: 34px;
  margin-top: 5px;
  border: none;
  background: linear-gradient(90deg, var(--accent), var(--accent-2));
  box-shadow: 0 8px 22px rgba(138,91,255,.26);
  font-size: 12px;
  letter-spacing: .04em;
}

.graph-side-btn:hover,
.graph-values-btn:hover {
  border-color: rgba(194,136,255,.7);
  background: rgba(138,91,255,.16);
}

.graph-resizer {
  display: none;
}

.graph-icons-card {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  min-height: 0 !important;
}

.compact-graph-grid {
  grid-template-columns: repeat(auto-fit, minmax(54px, 1fr)) !important;
  gap: 5px !important;
  overflow: visible !important;
}

.graph-card {
  height: 52px !important;
  min-height: 52px !important;
  grid-template-rows: 32px 12px !important;
}

.graph-thumb-svg {
  height: 32px !important;
}

.graph-title {
  display: block !important;
  font-size: 7.6px !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  color: rgba(255,255,255,.62) !important;
}

/* Horizontal/wide dock: presets move to the right with draggable splitter */
@media (min-width: 620px) {
  .graph-page-pro {
    grid-template-columns: calc(var(--graph-left-ratio) * 100%) 7px minmax(170px, 1fr);
    grid-template-rows: 1fr;
    gap: 5px;
  }

  .graph-resizer {
    display: block;
    cursor: col-resize;
    border-radius: 999px;
    background: linear-gradient(180deg, transparent, rgba(194,136,255,.35), transparent);
    opacity: .7;
  }

  .graph-resizer:hover,
  .resizing-graph .graph-resizer {
    background: linear-gradient(180deg, transparent, rgba(194,136,255,.78), transparent);
    opacity: 1;
  }

  .square-graph-stage {
    width: min(100%, 310px) !important;
    max-height: min(70vh, 310px) !important;
  }

  .graph-icons-card {
    height: 100%;
  }

  .compact-graph-grid {
    grid-template-columns: repeat(auto-fit, minmax(58px, 1fr)) !important;
  }
}

/* Tools redesign */
.toolkit-pro {
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  align-content: start;
  overflow: hidden;
}

.tool-card {
  border: 1px solid var(--line);
  background: rgba(255,255,255,.025);
  border-radius: 10px;
  padding: 6px;
  min-width: 0;
}

.wide-tool-card,
.anchor-align-card,
.layers-card {
  grid-column: 1 / -1;
}

.tool-card-title {
  font-size: 7.8px;
  letter-spacing: .12em;
  color: var(--muted);
  text-transform: uppercase;
  margin-bottom: 5px;
}

.anchor-align-content {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  gap: 12px;
  align-items: start;
}

.sub-title-row {
  height: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  margin-bottom: 4px;
  color: rgba(255,255,255,.76);
  font-size: 9px;
  font-weight: 700;
}

.tiny-check {
  font-size: 8px !important;
  color: var(--muted);
  margin: 0 !important;
}

.anchor-grid,
.align-grid {
  grid-template-columns: repeat(3, 30px) !important;
  gap: 4px !important;
}

.square-btn {
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  min-height: 30px !important;
}

.mini-button-row {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  gap: 4px;
}

.icon-action-btn {
  height: 30px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.04);
  color: var(--white);
  border-radius: 8px;
  cursor: pointer;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
}

.icon-action-btn svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.layers-named-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 4px;
}

.named-layer-btn {
  height: 42px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.04);
  color: var(--white);
  border-radius: 8px;
  cursor: pointer;
  display: grid;
  grid-template-rows: 18px 12px;
  align-content: center;
  justify-items: center;
  gap: 2px;
}

.named-layer-btn span {
  font-size: 14px;
  line-height: 1;
}

.named-layer-btn b {
  font-size: 8px;
  line-height: 1;
}

.full-tool-btn {
  width: 100%;
  height: 32px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.04);
  color: var(--white);
  border-radius: 8px;
  cursor: pointer;
  font-size: 10px;
  font-weight: 800;
}

.full-tool-btn:hover,
.named-layer-btn:hover,
.icon-action-btn:hover {
  border-color: rgba(194,136,255,.7);
  background: rgba(138,91,255,.16);
}

.color-grid {
  grid-template-columns: repeat(16, minmax(14px, 1fr)) !important;
}

.micro-segment {
  margin-top: 5px;
  margin-bottom: 0 !important;
}

/* Smaller windows */
@media (max-width: 420px) {
  .anchor-align-content {
    gap: 7px;
  }

  .anchor-grid,
  .align-grid {
    grid-template-columns: repeat(3, 27px) !important;
  }

  .square-btn {
    width: 27px !important;
    height: 27px !important;
    min-width: 27px !important;
    min-height: 27px !important;
  }

  .layers-named-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .named-layer-btn b {
    font-size: 7px;
  }
}

@media (max-height: 470px) {
  .square-graph-stage {
    width: min(100%, 220px) !important;
    max-height: 220px !important;
  }

  .graph-card {
    height: 48px !important;
    min-height: 48px !important;
  }
}


/* ===== Tools page redesigned from user mockup ===== */

.tools-design-page {
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 6px;
  overflow: hidden;
  padding: 0;
}

.tools-main-card,
.tools-colors-card {
  border: 1px solid rgba(194, 136, 255, .32);
  background: linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.012));
  border-radius: 18px;
  padding: 10px 12px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.015);
}

.tools-main-card {
  min-height: 0;
  display: grid;
  grid-template-rows: auto auto auto minmax(0, 1fr);
  gap: 8px;
  overflow: hidden;
}

.tools-main-title,
.colors-title,
.compact-card-title {
  font-size: 10px;
  line-height: 1;
  letter-spacing: .045em;
  font-weight: 800;
  color: rgba(255,255,255,.58);
  text-transform: uppercase;
}

.tools-layout-top {
  display: grid;
  grid-template-columns: minmax(230px, .95fr) minmax(210px, 1fr);
  gap: 12px;
  align-items: start;
  min-height: 0;
}

.anchor-align-zone {
  display: grid;
  grid-template-columns: max-content max-content;
  gap: 18px;
  align-items: start;
}

.tool-subtitle-line {
  height: 20px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  text-decoration: underline;
  text-decoration-color: rgba(194, 136, 255, .85);
  text-underline-offset: 2px;
}

.modify-keyframes-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 18px;
  padding: 3px 6px;
  border: 1px solid rgba(194, 136, 255, .28);
  background: rgba(255,255,255,.035);
  border-radius: 6px;
  color: rgba(255,255,255,.72);
  font-size: 8px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.modify-keyframes-checkbox input {
  width: 10px;
  height: 10px;
  accent-color: #C288FF;
  margin: 0;
}

.tools-main-card .anchor-grid,
.tools-main-card .align-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 36px) !important;
  grid-auto-rows: 36px !important;
  gap: 6px !important;
}

.tools-main-card .square-btn {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  border-radius: 10px !important;
  border: 1px solid rgba(194, 136, 255, .30) !important;
  background: rgba(255,255,255,.035) !important;
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 800 !important;
}

.tools-main-card .square-btn:hover {
  border-color: rgba(194,136,255,.75) !important;
  background: rgba(138,91,255,.18) !important;
}

.right-tools-zone {
  display: grid;
  gap: 8px;
  align-content: start;
}

.compact-tool-card {
  border: 1px solid rgba(194, 136, 255, .32);
  border-radius: 12px;
  background: rgba(255,255,255,.025);
  padding: 8px 10px;
}

.shift-button-row,
.keyframes-button-row {
  display: grid;
  gap: 10px;
  align-items: center;
}

.shift-button-row {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 7px;
}

.keyframes-button-row {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 8px;
}

.panel-action-btn {
  height: 34px;
  border: 1px solid rgba(194,136,255,.28);
  background: rgba(255,255,255,.035);
  border-radius: 9px;
  color: #fff;
  cursor: pointer;
  font-size: 16px;
  font-weight: 900;
  line-height: 1;
}

.text-action-btn {
  font-size: 10px;
  letter-spacing: .04em;
}

.panel-action-btn:hover {
  border-color: rgba(194,136,255,.75);
  background: rgba(138,91,255,.18);
}

.layers-panel-block {
  min-height: 0;
}

.layers-wide-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin-top: 8px;
}

.layer-name-btn {
  height: 34px;
  border: 1px solid rgba(194,136,255,.32);
  background: rgba(255,255,255,.035);
  border-radius: 10px;
  color: #fff;
  cursor: pointer;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .02em;
}

.layer-name-btn:hover {
  border-color: rgba(194,136,255,.75);
  background: rgba(138,91,255,.18);
}

.tools-bottom-area {
  min-height: 0;
  display: grid;
  grid-template-columns: 138px 1fr;
  gap: 12px;
  align-items: center;
}

.left-function-stack {
  display: grid;
  gap: 9px;
  align-content: start;
}

.large-function-btn {
  height: 34px;
  width: 100%;
  border: 1px solid rgba(194,136,255,.32);
  background: rgba(255,255,255,.035);
  border-radius: 10px;
  color: #fff;
  cursor: pointer;
  font-size: 13px;
  font-weight: 900;
  text-align: center;
}

.large-function-btn:hover {
  border-color: rgba(194,136,255,.75);
  background: rgba(138,91,255,.18);
}

.splitter-function-box {
  display: grid;
  gap: 5px;
}

.split-mode-inline {
  margin: 0 !important;
  padding: 2px !important;
  background: transparent !important;
  border: none !important;
  display: grid !important;
  grid-template-columns: 64px 64px;
  gap: 6px;
}

.split-mode-inline .segment-btn {
  height: 20px;
  padding: 0 !important;
  border-radius: 6px !important;
  font-size: 8px !important;
  font-weight: 900;
}

.future-tools-placeholder {
  color: #fff;
  font-size: 22px;
  font-weight: 900;
  text-align: center;
  opacity: .95;
  align-self: center;
}

.tools-colors-card {
  min-height: 54px;
  padding: 10px 14px;
}

.tools-colors-card .color-grid {
  display: grid !important;
  grid-template-columns: repeat(16, minmax(22px, 1fr)) !important;
  gap: 10px !important;
  align-items: center;
  margin-top: 8px;
  max-width: none !important;
}

.tools-colors-card .color-chip {
  width: 100% !important;
  height: 22px !important;
  min-height: 22px !important;
  padding: 0 !important;
  border-radius: 6px !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  overflow: hidden;
}

.tools-colors-card .swatch {
  width: 100% !important;
  height: 100% !important;
  border-radius: 5px !important;
  border: none !important;
}

/* Make tools page keep the screenshot proportions on docked/narrow panels */
@media (max-width: 520px) {
  .tools-main-card,
  .tools-colors-card {
    padding: 9px 10px;
    border-radius: 16px;
  }

  .tools-layout-top {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .anchor-align-zone {
    grid-template-columns: max-content max-content;
    gap: 14px;
  }

  .right-tools-zone {
    grid-template-columns: 1fr;
  }

  .tools-main-card .anchor-grid,
  .tools-main-card .align-grid {
    grid-template-columns: repeat(3, 34px) !important;
    grid-auto-rows: 34px !important;
    gap: 5px !important;
  }

  .tools-main-card .square-btn {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    font-size: 16px !important;
  }

  .layers-wide-row {
    gap: 8px;
  }

  .layer-name-btn {
    height: 32px;
    font-size: 9px;
  }

  .future-tools-placeholder {
    font-size: 18px;
  }

  .tools-colors-card .color-grid {
    gap: 6px !important;
  }
}

@media (max-height: 440px) {
  .tools-design-page {
    gap: 5px;
  }

  .tools-main-card {
    gap: 6px;
    padding-top: 8px;
    padding-bottom: 8px;
  }

  .tools-main-card .anchor-grid,
  .tools-main-card .align-grid {
    grid-template-columns: repeat(3, 31px) !important;
    grid-auto-rows: 31px !important;
  }

  .tools-main-card .square-btn {
    width: 31px !important;
    height: 31px !important;
    min-width: 31px !important;
    min-height: 31px !important;
  }

  .compact-tool-card {
    padding: 6px 8px;
  }

  .panel-action-btn,
  .layer-name-btn,
  .large-function-btn {
    height: 30px;
  }

  .future-tools-placeholder {
    font-size: 17px;
  }

  .tools-colors-card {
    min-height: 48px;
    padding-top: 8px;
    padding-bottom: 8px;
  }

  .tools-colors-card .color-chip {
    height: 18px !important;
    min-height: 18px !important;
  }
}

@media (max-width: 400px) {
  .anchor-align-zone {
    gap: 8px;
  }

  .modify-keyframes-checkbox {
    font-size: 7px;
    padding: 2px 4px;
  }

  .tools-main-card .anchor-grid,
  .tools-main-card .align-grid {
    grid-template-columns: repeat(3, 29px) !important;
    grid-auto-rows: 29px !important;
  }

  .tools-main-card .square-btn {
    width: 29px !important;
    height: 29px !important;
    min-width: 29px !important;
    min-height: 29px !important;
  }

  .tools-bottom-area {
    grid-template-columns: 120px 1fr;
  }

  .large-function-btn {
    font-size: 11px;
  }

  .future-tools-placeholder {
    font-size: 15px;
  }

  .tools-colors-card .color-grid {
    grid-template-columns: repeat(8, minmax(22px, 1fr)) !important;
  }
}


/* ===== Tools page v5: responsive + collapsible blocks ===== */

/* Make Tools page usable when the CEP panel is squeezed */
#page-toolkit {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-right: 2px !important;
}

#page-toolkit::-webkit-scrollbar {
  width: 5px !important;
}
#page-toolkit::-webkit-scrollbar-track {
  background: rgba(255,255,255,.025) !important;
  border-radius: 999px !important;
}
#page-toolkit::-webkit-scrollbar-thumb {
  background: rgba(194,136,255,.50) !important;
  border-radius: 999px !important;
}

.tools-design-v5 {
  height: auto !important;
  min-height: 100%;
  display: block !important;
  overflow: visible !important;
}

.tools-design-v5 .tools-main-card {
  height: auto !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: none !important;
  grid-auto-rows: auto !important;
  gap: 8px !important;
  overflow: visible !important;
  padding: 10px 12px !important;
  border-radius: 18px !important;
}

/* New universal card system */
.collapsible-block {
  border: 1px solid rgba(194, 136, 255, .32);
  background: rgba(255,255,255,.025);
  border-radius: 12px;
  padding: 8px 10px;
  min-width: 0;
}

.collapse-title-row {
  width: 100%;
  min-height: 16px;
  padding: 0;
  border: none;
  background: transparent;
  color: rgba(255,255,255,.62);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  cursor: pointer;
  text-align: left;
  font-size: 10px;
  line-height: 1;
  letter-spacing: .045em;
  font-weight: 900;
  text-transform: uppercase;
}

.collapse-title-row:hover {
  color: #fff;
}

.collapse-arrow {
  color: #C288FF;
  font-size: 10px;
  line-height: 1;
  transform: rotate(0deg);
  transition: transform .15s ease;
}

.collapsible-block.is-collapsed .collapse-arrow {
  transform: rotate(-90deg);
}

.collapsible-block.is-collapsed .collapse-content {
  display: none !important;
}

.collapse-content {
  margin-top: 8px;
}

/* Remove underlines exactly as requested */
.tools-design-v5 .tool-subtitle-line,
.tools-design-v5 .tool-subtitle-line span,
.tools-design-v5 .modify-keyframes-checkbox,
.tools-design-v5 .modify-keyframes-checkbox span {
  text-decoration: none !important;
}

.anchor-align-content-v5 {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  gap: 20px;
  align-items: start;
  min-width: 0;
}

.tools-design-v5 .tool-subtitle-line {
  min-height: 18px;
  height: auto;
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.tools-design-v5 .modify-keyframes-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 16px;
  padding: 2px 5px;
  border: 1px solid rgba(194, 136, 255, .28);
  background: rgba(255,255,255,.035);
  border-radius: 5px;
  color: rgba(255,255,255,.72);
  font-size: 7px;
  font-weight: 800;
  white-space: nowrap;
}

.tools-design-v5 .modify-keyframes-checkbox input {
  width: 10px;
  height: 10px;
  margin: 0;
  accent-color: #C288FF;
}

/* Anchor / Align buttons */
.tools-design-v5 .anchor-grid,
.tools-design-v5 .align-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(30px, 1fr)) !important;
  grid-auto-rows: 34px !important;
  gap: 6px !important;
  width: 116px;
}

.tools-design-v5 .square-btn {
  width: 100% !important;
  height: 34px !important;
  min-width: 0 !important;
  min-height: 34px !important;
  border-radius: 9px !important;
  border: 1px solid rgba(194, 136, 255, .30) !important;
  background: rgba(255,255,255,.035) !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  padding: 0 !important;
}

/* Two-column row, but wraps naturally */
.tool-row-v5 {
  display: grid;
  grid-template-columns: repeat(2, minmax(145px, 1fr));
  gap: 8px;
  min-width: 0;
}

.shift-button-row,
.keyframes-button-row {
  display: grid;
  gap: 8px;
  align-items: center;
}

.shift-button-row {
  grid-template-columns: repeat(4, minmax(36px, 1fr));
}

.keyframes-button-row {
  grid-template-columns: repeat(3, minmax(54px, 1fr));
}

.tools-design-v5 .panel-action-btn,
.tools-design-v5 .layer-name-btn,
.tools-design-v5 .large-function-btn {
  min-width: 0;
  border: 1px solid rgba(194,136,255,.32);
  background: rgba(255,255,255,.035);
  border-radius: 10px;
  color: #fff;
  cursor: pointer;
  font-weight: 900;
}

.tools-design-v5 .panel-action-btn {
  height: 36px;
  font-size: 16px;
}

.tools-design-v5 .text-action-btn {
  font-size: 10px;
  letter-spacing: .045em;
}

.tools-design-v5 .panel-action-btn:hover,
.tools-design-v5 .layer-name-btn:hover,
.tools-design-v5 .large-function-btn:hover,
.tools-design-v5 .square-btn:hover {
  border-color: rgba(194,136,255,.75) !important;
  background: rgba(138,91,255,.18) !important;
}

/* Layers: never overlap, wraps instead */
.layers-wide-row {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(72px, 1fr)) !important;
  gap: 10px !important;
  margin-top: 0 !important;
}

.tools-design-v5 .layer-name-btn {
  height: 36px;
  font-size: 10px;
  letter-spacing: .02em;
}

/* Tools block */
.tools-functions-layout {
  display: grid;
  grid-template-columns: minmax(138px, 170px) 1fr;
  gap: 14px;
  align-items: center;
  min-width: 0;
}

.left-function-stack {
  display: grid;
  gap: 9px;
  align-content: start;
}

.tools-design-v5 .large-function-btn {
  height: 36px;
  font-size: 13px;
  text-align: center;
}

.splitter-function-box {
  display: grid;
  gap: 5px;
}

.split-mode-inline {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(58px, 1fr));
  gap: 6px;
}

.split-mode-inline .segment-btn {
  min-width: 0;
  height: 20px;
  padding: 0 !important;
  border-radius: 6px !important;
  font-size: 8px !important;
  font-weight: 900;
}

.future-tools-placeholder {
  color: #fff;
  font-size: clamp(16px, 4.5vw, 24px);
  font-weight: 900;
  text-align: center;
  opacity: .95;
  min-width: 0;
}

/* Colors now inside the main tools card, under the TOOLS block */
.colors-card-v5 .collapse-content {
  margin-top: 8px;
}

.tools-design-v5 .color-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(22px, 1fr)) !important;
  gap: 8px !important;
  align-items: center;
  max-width: none !important;
}

.tools-design-v5 .color-chip {
  width: 100% !important;
  height: 22px !important;
  min-height: 22px !important;
  padding: 0 !important;
  border-radius: 6px !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  overflow: hidden;
}

.tools-design-v5 .swatch {
  width: 100% !important;
  height: 100% !important;
  border-radius: 5px !important;
  border: none !important;
}

/* Responsive protection: no overlapping, only wrapping/vertical scroll */
@media (max-width: 520px) {
  .tools-design-v5 .tools-main-card {
    padding: 9px 10px !important;
    border-radius: 16px !important;
    gap: 7px !important;
  }

  .anchor-align-content-v5 {
    gap: 14px;
  }

  .tool-row-v5 {
    grid-template-columns: 1fr;
  }

  .tools-functions-layout {
    grid-template-columns: minmax(126px, 150px) 1fr;
    gap: 10px;
  }

  .future-tools-placeholder {
    font-size: 18px;
  }

  .layers-wide-row {
    grid-template-columns: repeat(auto-fit, minmax(60px, 1fr)) !important;
    gap: 8px !important;
  }

  .tools-design-v5 .layer-name-btn {
    font-size: 9px;
  }
}

@media (max-width: 390px) {
  .anchor-align-content-v5 {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  .tools-design-v5 .anchor-grid,
  .tools-design-v5 .align-grid {
    width: 100%;
    grid-template-columns: repeat(3, minmax(25px, 1fr)) !important;
    grid-auto-rows: 30px !important;
    gap: 4px !important;
  }

  .tools-design-v5 .square-btn {
    height: 30px !important;
    min-height: 30px !important;
    font-size: 14px !important;
  }

  .tools-design-v5 .tool-subtitle-line {
    flex-wrap: wrap;
    gap: 4px;
    font-size: 11px;
  }

  .tools-design-v5 .modify-keyframes-checkbox {
    font-size: 6.5px;
    padding: 2px 4px;
  }

  .shift-button-row {
    grid-template-columns: repeat(4, minmax(30px, 1fr));
    gap: 6px;
  }

  .keyframes-button-row {
    grid-template-columns: repeat(3, minmax(44px, 1fr));
    gap: 6px;
  }

  .tools-design-v5 .panel-action-btn {
    height: 32px;
  }

  .tools-functions-layout {
    grid-template-columns: 1fr;
  }

  .future-tools-placeholder {
    display: none;
  }

  .split-mode-inline {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-height: 430px) {
  #page-toolkit {
    overflow-y: auto !important;
  }

  .tools-design-v5 .tools-main-card {
    gap: 6px !important;
  }

  .collapse-content {
    margin-top: 6px;
  }

  .tools-design-v5 .anchor-grid,
  .tools-design-v5 .align-grid {
    grid-auto-rows: 30px !important;
  }

  .tools-design-v5 .square-btn {
    height: 30px !important;
    min-height: 30px !important;
  }

  .tools-design-v5 .panel-action-btn,
  .tools-design-v5 .layer-name-btn,
  .tools-design-v5 .large-function-btn {
    height: 30px;
  }

  .tools-design-v5 .color-chip {
    height: 18px !important;
    min-height: 18px !important;
  }
}

/* ===== v6 fixes: graph separator + earlier horizontal graph + stable Tools scaling ===== */

.graph-page-pro { gap: 6px !important; }

.graph-page-pro .graph-resizer {
  display: block !important;
  height: 5px !important;
  width: 100% !important;
  min-height: 5px !important;
  border-radius: 999px !important;
  cursor: default !important;
  background: linear-gradient(90deg, transparent, rgba(194,136,255,.52), transparent) !important;
  /* Not !important - see the identical note on #page-graph-editor .graph-resizer
     further down: an !important opacity here outranks the page-entry fade
     animation and pins the resizer at a fixed opacity instead of letting it
     fade in with everything else. */
  opacity: .85;
}

@media (min-width: 414px) {
  .graph-page-pro {
    grid-template-columns: calc(var(--graph-left-ratio) * 100%) 7px minmax(150px, 1fr) !important;
    grid-template-rows: 1fr !important;
    gap: 5px !important;
  }

  .graph-page-pro .graph-resizer {
    width: 7px !important;
    height: auto !important;
    min-height: 0 !important;
    cursor: col-resize !important;
    background: linear-gradient(180deg, transparent, rgba(194,136,255,.52), transparent) !important;
  }

  .graph-page-pro .graph-resizer:hover,
  .resizing-graph .graph-resizer {
    background: linear-gradient(180deg, transparent, rgba(194,136,255,.85), transparent) !important;
  }

  .square-graph-stage {
    width: min(100%, 310px) !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    max-height: min(70vh, 310px) !important;
  }

  .graph-icons-card { height: 100% !important; }
}

@media (max-width: 413px) {
  .graph-page-pro {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto 5px minmax(0, 1fr) !important;
  }

  .graph-left-pane,
  .graph-right-pane { width: 100% !important; }

  .square-graph-stage {
    width: min(100%, 220px) !important;
    aspect-ratio: 1 / 1 !important;
  }
}

/* TOOLS: fixed-size controls, no stretching/overlap */
#page-toolkit { overflow-y: auto !important; overflow-x: hidden !important; }
.tools-design-v5 .tools-main-card { overflow: visible !important; }

.anchor-align-content-v5 {
  display: grid !important;
  grid-template-columns: repeat(2, 112px) !important;
  gap: 18px !important;
  align-items: start !important;
  justify-content: start !important;
}

.tools-design-v5 .tool-subblock {
  width: 112px !important;
  min-width: 112px !important;
}

.tools-design-v5 .tool-subtitle-line {
  height: 18px !important;
  min-height: 18px !important;
  margin-bottom: 6px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 5px !important;
  flex-wrap: nowrap !important;
  line-height: 1 !important;
}

.tools-design-v5 .tool-subtitle-line,
.tools-design-v5 .tool-subtitle-line span,
.tools-design-v5 .modify-keyframes-checkbox,
.tools-design-v5 .modify-keyframes-checkbox span {
  text-decoration: none !important;
}

.tools-design-v5 .modify-keyframes-checkbox {
  transform: none !important;
  margin: 0 !important;
  line-height: 1 !important;
  height: 16px !important;
  min-height: 16px !important;
  flex: 0 0 auto !important;
}

.tools-design-v5 .anchor-grid,
.tools-design-v5 .align-grid {
  width: 112px !important;
  min-width: 112px !important;
  max-width: 112px !important;
  grid-template-columns: repeat(3, 34px) !important;
  grid-auto-rows: 34px !important;
  gap: 5px !important;
}

.tools-design-v5 .square-btn {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  padding: 0 !important;
  font-size: 16px !important;
  flex: 0 0 auto !important;
}

.shift-button-row {
  display: grid !important;
  grid-template-columns: repeat(4, 46px) !important;
  gap: 8px !important;
  justify-content: start !important;
}

.keyframes-button-row {
  display: grid !important;
  grid-template-columns: repeat(3, 70px) !important;
  gap: 8px !important;
  justify-content: start !important;
}

.tools-design-v5 .panel-action-btn {
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  width: 100% !important;
  min-width: 0 !important;
}

.layers-wide-row {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(68px, 76px)) !important;
  gap: 8px !important;
  justify-content: start !important;
}

.tools-design-v5 .layer-name-btn {
  width: 100% !important;
  min-width: 0 !important;
  height: 34px !important;
}

.tools-design-v5 .color-grid {
  grid-template-columns: repeat(auto-fit, minmax(20px, 24px)) !important;
  justify-content: start !important;
  gap: 7px !important;
}

.tools-design-v5 .color-chip {
  width: 24px !important;
  min-width: 24px !important;
  max-width: 24px !important;
}

@media (max-width: 300px) {
  .anchor-align-content-v5 {
    grid-template-columns: 112px !important;
    gap: 10px !important;
  }
}

@media (max-width: 360px) {
  .tool-row-v5 { grid-template-columns: 1fr !important; }

  .shift-button-row {
    grid-template-columns: repeat(4, 42px) !important;
    gap: 6px !important;
  }

  .keyframes-button-row {
    grid-template-columns: repeat(3, 62px) !important;
    gap: 6px !important;
  }

  .tools-design-v5 .panel-action-btn { height: 32px !important; }

  .layers-wide-row {
    grid-template-columns: repeat(auto-fit, minmax(58px, 68px)) !important;
    gap: 6px !important;
  }

  .tools-design-v5 .layer-name-btn { font-size: 8px !important; }
}

@media (max-width: 250px) {
  .shift-button-row { grid-template-columns: repeat(2, 42px) !important; }
  .keyframes-button-row { grid-template-columns: 62px !important; }
}

@media (max-height: 430px) {
  #page-toolkit { overflow-y: auto !important; }

  .tools-design-v5 .anchor-grid,
  .tools-design-v5 .align-grid {
    grid-template-columns: repeat(3, 34px) !important;
    grid-auto-rows: 34px !important;
  }

  .tools-design-v5 .square-btn {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
  }

  .tools-design-v5 .panel-action-btn,
  .tools-design-v5 .layer-name-btn,
  .tools-design-v5 .large-function-btn {
    height: 34px !important;
  }
}


/* ===== v7: working vertical graph resizer ===== */

/* Default vertical layout: graph / horizontal resizer / presets */
.graph-page-pro {
  --graph-top-ratio: 0.66;
}

@media (max-width: 413px) {
  .graph-page-pro {
    height: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows:
      minmax(205px, calc(var(--graph-top-ratio) * 100%))
      7px
      minmax(72px, 1fr) !important;
    gap: 5px !important;
    overflow: hidden !important;
  }

  .graph-left-pane,
  .graph-right-pane {
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .graph-page-pro .graph-resizer {
    display: block !important;
    width: 100% !important;
    height: 7px !important;
    min-height: 7px !important;
    cursor: row-resize !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, transparent, rgba(194,136,255,.58), transparent) !important;
    /* Not !important - outranks the page-entry fade animation otherwise. */
    opacity: .9;
  }

  .graph-page-pro .graph-resizer:hover,
  .resizing-graph .graph-page-pro .graph-resizer {
    background: linear-gradient(90deg, transparent, rgba(194,136,255,.9), transparent) !important;
    opacity: 1 !important;
  }

  .square-graph-stage {
    width: min(100%, 220px) !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    max-height: min(100%, 220px) !important;
  }

  .graph-icons-card {
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }
}

/* Horizontal layout keeps vertical splitter */
@media (min-width: 414px) {
  .graph-page-pro {
    grid-template-columns: calc(var(--graph-left-ratio) * 100%) 7px minmax(150px, 1fr) !important;
    grid-template-rows: 1fr !important;
  }

  .graph-page-pro .graph-resizer {
    cursor: col-resize !important;
  }
}


/* ===== v8 requested patch: bigger graph, scrollable text presets, draggable tools blocks ===== */

/* GRAPH: remove labels and let square graph use the space */
.graph-left-pane .graph-head {
  display: none !important;
}

.graph-left-pane {
  padding-top: 6px !important;
}

.graph-square-wrap {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: flex !important;
  align-items: stretch !important;
  justify-content: center !important;
}

.square-graph-stage {
  width: min(100%, 300px) !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  max-height: calc(100vh - 150px) !important;
  min-height: 230px !important;
  margin: 0 auto !important;
}

#graphSvg {
  width: 100% !important;
  height: 100% !important;
}

.graph-handle {
  cursor: grab !important;
  stroke-width: 1.4 !important;
  filter: drop-shadow(0 0 7px rgba(194,136,255,.62)) !important;
}
.graph-handle:active {
  cursor: grabbing !important;
}

/* In vertical layout, graph gets more of the empty upper area */
@media (max-width: 413px) {
  .graph-page-pro {
    --graph-top-ratio: 0.74;
  }

  .square-graph-stage {
    width: min(100%, 295px) !important;
    min-height: 240px !important;
    max-height: min(100%, 310px) !important;
  }
}

/* In horizontal mode keep graph square but larger */
@media (min-width: 414px) {
  .square-graph-stage {
    width: min(100%, 330px) !important;
    min-height: 260px !important;
    max-height: min(80vh, 330px) !important;
  }
}

/* TEXT PRESETS: allow vertical scrolling of the icon/preset area */
#page-text-presets {
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

.preset-icons-card {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  max-height: 170px !important;
  min-height: 54px !important;
}

.preset-icons-card::-webkit-scrollbar,
#page-text-presets::-webkit-scrollbar {
  width: 5px !important;
}

.preset-icons-card::-webkit-scrollbar-track,
#page-text-presets::-webkit-scrollbar-track {
  background: rgba(255,255,255,.025) !important;
  border-radius: 999px !important;
}

.preset-icons-card::-webkit-scrollbar-thumb,
#page-text-presets::-webkit-scrollbar-thumb {
  background: rgba(194,136,255,.50) !important;
  border-radius: 999px !important;
}

/* TOOLS: align label has more room and no text overlap */
.anchor-align-content-v5 {
  grid-template-columns: 124px 112px !important;
  gap: 28px !important;
}

.anchor-subblock {
  width: 124px !important;
  min-width: 124px !important;
}

.align-subblock {
  margin-left: 4px !important;
}

.align-subblock .tool-subtitle-line {
  padding-left: 2px !important;
}

.tools-design-v5 .modify-keyframes-checkbox {
  font-size: 6px !important;
  max-width: 74px !important;
  overflow: hidden !important;
}

.tools-design-v5 .modify-keyframes-checkbox span {
  display: inline-block !important;
  max-width: 58px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Draggable blocks */
.collapsible-block[draggable="true"] {
  user-select: none;
}

.collapse-title-row {
  cursor: grab !important;
}

.collapse-title-row:active {
  cursor: grabbing !important;
}

.drag-dots {
  color: rgba(194,136,255,.55);
  font-size: 10px;
  letter-spacing: -3px;
  margin-right: 4px;
  cursor: grab;
}

.collapsible-block.dragging {
  opacity: .42;
  outline: 1px dashed rgba(194,136,255,.72);
}

.collapsible-block.drag-over {
  box-shadow: 0 -2px 0 rgba(194,136,255,.85), inset 0 0 0 1px rgba(194,136,255,.36);
}

/* If squeezed, don't overlap Anchor/Align. Stack instead. */
@media (max-width: 315px) {
  .anchor-align-content-v5 {
    grid-template-columns: 124px !important;
    gap: 12px !important;
  }

  .align-subblock {
    margin-left: 0 !important;
  }
}


/* ===== v9 graph handle visual size + larger invisible hitbox ===== */
.graph-handle {
  pointer-events: none !important;
}

.graph-handle-hitbox {
  fill: rgba(255,255,255,0);
  stroke: rgba(255,255,255,0);
  stroke-width: 0;
  cursor: grab;
  pointer-events: all;
}

.graph-handle-hitbox:active {
  cursor: grabbing;
}


/* ===== v10: edit mode + top settings overlay + theme colors ===== */

/* Theme variables. Existing CSS uses --accent/--accent-2 in most places. */
body.theme-purple {
  --accent: #8A5BFF;
  --accent-2: #C288FF;
  --active-blue: #0A84FF;
}
body.theme-blue {
  --accent: #247DFF;
  --accent-2: #47A7FF;
  --active-blue: #0A84FF;
}
body.theme-cyan {
  --accent: #00A6C8;
  --accent-2: #39D6D6;
  --active-blue: #0A84FF;
}
body.theme-green {
  --accent: #20A861;
  --accent-2: #55D084;
  --active-blue: #0A84FF;
}
body.theme-orange {
  --accent: #E66F2A;
  --accent-2: #FF9A4A;
  --active-blue: #0A84FF;
}

.compact-topbar,
.topbar {
  position: relative;
  z-index: 12000;
}

.topbar-actions {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 5px;
}

.top-action-btn {
  width: 24px;
  height: 24px;
  min-width: 24px;
  border: 1px solid rgba(194,136,255,.35);
  background: rgba(255,255,255,.045);
  color: #fff;
  border-radius: 8px;
  cursor: pointer;
  font-size: 13px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.top-action-btn:hover {
  border-color: var(--accent-2);
  background: rgba(138,91,255,.18);
}

.top-action-btn.active {
  background: var(--active-blue);
  border-color: rgba(255,255,255,.45);
  color: #fff;
  box-shadow: 0 0 14px rgba(10,132,255,.35);
}

/* Settings overlay opens over everything except title/header line. */
.plugin-settings-overlay {
  position: absolute;
  left: 0;
  right: 0;
  top: 34px;
  bottom: 0;
  z-index: 11000;
  display: none;
  padding: 8px;
  background: rgba(10, 8, 18, .74);
  backdrop-filter: blur(10px);
}

.plugin-settings-overlay.open {
  display: block;
}

.plugin-settings-panel {
  width: 100%;
  min-height: 120px;
  border: 1px solid rgba(194,136,255,.38);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(24,20,40,.98), rgba(17,15,27,.98));
  box-shadow: 0 18px 50px rgba(0,0,0,.45);
  padding: 12px;
}

.settings-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

.settings-kicker {
  color: rgba(255,255,255,.56);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .13em;
}

.settings-title {
  color: #fff;
  font-size: 14px;
  font-weight: 900;
  margin-top: 3px;
}

.theme-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(92px, 1fr));
  gap: 8px;
}

.theme-option {
  height: 42px;
  border: 1px solid rgba(194,136,255,.28);
  border-radius: 11px;
  background: rgba(255,255,255,.04);
  color: #fff;
  cursor: pointer;
  display: grid;
  grid-template-columns: 18px 1fr;
  align-items: center;
  gap: 7px;
  padding: 0 10px;
  text-align: left;
}

.theme-option b {
  font-size: 11px;
}

.theme-option.active {
  border-color: var(--accent-2);
  background: color-mix(in srgb, var(--accent) 22%, transparent);
}

.theme-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  box-shadow: 0 0 12px rgba(255,255,255,.18);
}

/* Edit mode: dragging blocks is only available when this class is on body. */
body:not(.edit-mode) .collapsible-block[draggable="true"],
body:not(.edit-mode) .tool-row-v5[draggable="true"] {
  -webkit-user-drag: none;
}

body:not(.edit-mode) .collapse-title-row {
  cursor: pointer !important;
}

body:not(.edit-mode) .drag-dots {
  display: none !important;
}

body.edit-mode .drag-dots {
  display: inline-block !important;
}

body.edit-mode .collapsible-block[draggable="true"],
body.edit-mode .tool-row-v5[draggable="true"] {
  outline: 1px dashed rgba(10,132,255,.38);
  outline-offset: -3px;
}

body.edit-mode .collapse-title-row {
  cursor: grab !important;
}

/* Some older CSS used fixed purple values; let these inherit the theme accent. */
.brand-dot {
  background: var(--accent-2) !important;
}

.tab-btn.active,
.segment-btn.active,
.preset-card.active,
.graph-card.active {
  border-color: var(--accent-2) !important;
}

.primary-btn,
.graph-apply-wide,
.modal-btn.primary {
  background: linear-gradient(90deg, var(--accent), var(--accent-2)) !important;
}

.graph-path.main {
  stroke: url(#graphGlow);
}

.graph-handle,
#graphStart,
#graphEnd {
  fill: var(--accent-2) !important;
}

.graph-handle-line {
  stroke: var(--accent-2) !important;
}

@media (max-height: 430px) {
  .plugin-settings-overlay {
    top: 30px;
  }

  .theme-grid {
    grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
  }

  .theme-option {
    height: 36px;
  }
}


/* ===== vertical graph resizer fix only ===== */
/* Keeps the old visual theme unchanged; only fixes the vertical splitter behavior. */
@media (max-width: 413px) {
  .graph-page-pro {
    height: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows:
      minmax(0, var(--graph-top-size, 68%))
      8px
      minmax(72px, 1fr) !important;
    gap: 5px !important;
    overflow: hidden !important;
  }

  .graph-left-pane {
    min-height: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .graph-square-wrap {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: hidden !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .square-graph-stage {
    min-height: 0 !important;
    height: 100% !important;
    width: auto !important;
    max-height: 100% !important;
    max-width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 auto !important;
  }

  .graph-values-row,
  .graph-apply-wide {
    flex: 0 0 auto !important;
  }

  .graph-page-pro .graph-resizer {
    display: block !important;
    width: 100% !important;
    height: 8px !important;
    min-height: 8px !important;
    cursor: row-resize !important;
    border-radius: 999px !important;
    /* Not !important - outranks the page-entry fade animation otherwise. */
    opacity: .95;
  }

  .graph-right-pane,
  .graph-icons-card {
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }
}


/* v11 tiny patch: graph curve follows selected theme while keeping its gradient */
.graph-path.main {
  stroke: url(#graphGlow) !important;
}


/* ===== text preset icon fix: large transparent letter behind arrows ===== */
.icon-tile {
  position: relative !important;
  overflow: hidden !important;
}

.arrow-label.icon-stacked {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}

.arrow-label.icon-stacked .letter-bg {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 30px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: -0.08em !important;
  color: var(--accent-2) !important;
  opacity: 0.34 !important;
  transform: translateY(1px) scale(1.08) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

.arrow-label.icon-stacked .arrow-front {
  position: relative !important;
  z-index: 2 !important;
  font-size: 17px !important;
  line-height: 1 !important;
  letter-spacing: -0.12em !important;
  color: #F8F1FF !important;
  text-shadow: 0 1px 7px rgba(0,0,0,.5), 0 0 10px rgba(194,136,255,.28) !important;
}

.preset-card.active .arrow-label.icon-stacked .letter-bg,
.preset-card:hover .arrow-label.icon-stacked .letter-bg {
  opacity: 0.46 !important;
}

/* Transparent WebM preview fix: same overlay behavior as the previous version. */
.preview-video {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
  background: transparent !important;
}

.preset-stage video {
  background: transparent !important;
}




/* v14 icon tweak: vertical arrows use two columns, horizontal arrows use two rows */
.arrow-label.icon-stacked .arrow-front {
  position: relative !important;
  z-index: 2 !important;
  font-size: 17px !important;
  line-height: 1 !important;
  color: #F8F1FF !important;
  text-shadow: 0 1px 7px rgba(0,0,0,.5), 0 0 10px rgba(194,136,255,.28) !important;
}

/* up/down arrows: show in two columns */
.arrow-label.icon-stacked .arrow-front.arrow-front-single-vertical,
.arrow-label.icon-stacked .arrow-front.arrow-front-pair-vertical {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 1px !important;
  letter-spacing: 0 !important;
  transform: translateY(0px) !important;
}

/* left/right arrows: show in two rows */
.arrow-label.icon-stacked .arrow-front.arrow-front-single-horizontal,
.arrow-label.icon-stacked .arrow-front.arrow-front-pair-horizontal {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0px !important;
  letter-spacing: 0 !important;
  transform: translateY(0px) !important;
}

.arrow-label.icon-stacked .arrow-front .arrow-line {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.arrow-label.icon-stacked .arrow-front.arrow-front-single-vertical .arrow-line,
.arrow-label.icon-stacked .arrow-front.arrow-front-pair-vertical .arrow-line {
  width: 10px !important;
  height: 14px !important;
}

.arrow-label.icon-stacked .arrow-front.arrow-front-single-horizontal .arrow-line,
.arrow-label.icon-stacked .arrow-front.arrow-front-pair-horizontal .arrow-line {
  line-height: 0.82 !important;
  height: 11px !important;
}


/* v15 icon tweak: single-direction presets use one arrow only */
.arrow-label.icon-stacked .arrow-front.arrow-front-one {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  letter-spacing: 0 !important;
  transform: translateY(0px) !important;
}


/* v16 text preset edit mode: reorder, hide and restore presets */
body.edit-mode #presetGrid .preset-card {
  position: relative !important;
  cursor: grab !important;
}

body.edit-mode #presetGrid .preset-card:active {
  cursor: grabbing !important;
}

#presetGrid .preset-card.dragging {
  opacity: 0.45 !important;
  transform: scale(.96) !important;
}

#presetGrid .preset-card.drag-over {
  border-color: rgba(255,255,255,.72) !important;
  box-shadow: 0 0 0 1px rgba(194,136,255,.42), 0 0 16px rgba(194,136,255,.25) !important;
}

#presetGrid .preset-card.hidden-preset {
  opacity: .42 !important;
  filter: saturate(.45) !important;
}

#presetGrid .preset-card.hidden-preset .icon-tile {
  border-style: dashed !important;
}

.preset-visibility-btn {
  position: absolute !important;
  right: -5px !important;
  top: -5px !important;
  z-index: 10 !important;
  width: 17px !important;
  height: 17px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.5) !important;
  background: rgba(24,17,40,.95) !important;
  color: #fff !important;
  font-size: 12px !important;
  line-height: 14px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
}

.preset-delete-btn {
  position: absolute !important;
  left: -5px !important;
  top: -5px !important;
  z-index: 10 !important;
  width: 17px !important;
  height: 17px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,110,110,.62) !important;
  background: rgba(92,22,31,.96) !important;
  color: #fff !important;
  font-size: 10px !important;
  line-height: 14px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
}

#presetGrid .preset-card.hidden-preset .preset-visibility-btn {
  background: rgba(194,136,255,.92) !important;
  color: #120C20 !important;
  font-weight: 900 !important;
}

body:not(.edit-mode) .preset-visibility-btn,
body:not(.edit-mode) .preset-delete-btn {
  display: none !important;
}


/* v17 text preset reset button */
.preset-icons-card {
  position: relative !important;
}

.text-preset-reset-btn {
  width: auto !important;
  min-width: 44px !important;
  padding: 0 8px !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  display: none !important;
}

body.edit-mode .text-preset-reset-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.edit-mode .text-preset-reset-btn:hover {
  border-color: rgba(255,255,255,.62) !important;
  background: rgba(138,91,255,.46) !important;
}



/* v12 tools additions */
.right-function-stack {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
  gap: 9px;
  align-content: start;
  min-width: 0;
}

.right-function-stack .large-function-btn {
  font-size: 11px !important;
  letter-spacing: .02em;
  padding: 0 8px;
}

@media (max-width: 520px) {
  .tools-functions-layout {
    grid-template-columns: 1fr !important;
  }

  .right-function-stack {
    grid-template-columns: 1fr;
  }
}


/* v13 Tools: Duplicate Comp checkbox row */
.duplicate-comp-box {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 6px !important;
  align-items: center !important;
}

.duplicate-comp-box .large-function-btn {
  min-width: 0 !important;
}

.duplicate-precomps-checkbox {
  height: 100% !important;
  min-height: 28px !important;
  padding: 0 7px !important;
  border: 1px solid var(--line) !important;
  border-radius: 8px !important;
  background: rgba(255,255,255,.035) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  color: var(--muted) !important;
  font-size: 8px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  user-select: none !important;
}

.duplicate-precomps-checkbox input {
  width: 10px !important;
  height: 10px !important;
  accent-color: var(--accent-1) !important;
  margin: 0 !important;
}

.duplicate-precomps-checkbox:hover {
  border-color: rgba(194,136,255,.65) !important;
  color: var(--white) !important;
  background: rgba(138,91,255,.15) !important;
}



/* v14 tools layout cleanup */
.tools-design-v5 .tool-row-v5,
.tools-design-v5 .shift-card-v5,
.tools-design-v5 .keyframes-card-v5 {
  display: none !important;
}

.tools-functions-layout-v14 {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  width: 100% !important;
  align-items: stretch !important;
}

.tools-functions-row {
  display: grid !important;
  gap: 10px !important;
  align-items: start !important;
  width: 100% !important;
}

.tools-functions-row-top {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.tools-functions-row-bottom {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.tool-function-cell,
.splitter-function-box,
.duplicate-comp-box {
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: 36px 20px !important;
  gap: 6px !important;
  align-items: stretch !important;
  min-width: 0 !important;
}

.tools-functions-layout-v14 .large-function-btn {
  width: 100% !important;
  height: 36px !important;
  min-height: 36px !important;
  font-size: 12px !important;
  letter-spacing: .01em !important;
  padding: 0 8px !important;
}

.tools-functions-layout-v14 .split-mode-inline {
  height: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 6px !important;
  background: transparent !important;
  border: 0 !important;
}

.tools-functions-layout-v14 .split-mode-inline .segment-btn {
  height: 20px !important;
  min-height: 20px !important;
  padding: 0 !important;
  font-size: 8px !important;
  border-radius: 6px !important;
}

.tools-functions-layout-v14 .duplicate-precomps-checkbox {
  height: 20px !important;
  min-height: 20px !important;
  padding: 0 8px !important;
  border: 1px solid rgba(194,136,255,.32) !important;
  border-radius: 6px !important;
  background: rgba(255,255,255,.035) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  color: rgba(255,255,255,.72) !important;
  font-size: 8px !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
  cursor: pointer !important;
}

.tools-functions-layout-v14 .duplicate-precomps-checkbox input {
  width: 10px !important;
  height: 10px !important;
  margin: 0 !important;
  accent-color: var(--accent-1) !important;
}

@media (max-width: 520px) {
  .tools-functions-row-top,
  .tools-functions-row-bottom {
    grid-template-columns: 1fr !important;
  }
}

/* v14 align: six composition alignment buttons */
.tools-design-v5 .align-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px 10px !important;
  min-width: 0 !important;
}

.tools-design-v5 .align-action-btn {
  min-height: 30px !important;
  height: 30px !important;
  border-radius: 0 !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  background: rgba(255,255,255,.025) !important;
  color: rgba(255,255,255,.72) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  padding: 0 8px !important;
  text-align: center !important;
  cursor: pointer !important;
}

.tools-design-v5 .align-action-btn:hover {
  border-color: rgba(194,136,255,.72) !important;
  color: #fff !important;
  background: rgba(138,91,255,.12) !important;
}

.tools-design-v5 .align-subblock {
  min-width: min(100%, 520px) !important;
}


/* v15 align UI: same visual style as Anchor buttons */
.tools-design-v5 .anchor-align-content-v5 {
  grid-template-columns: 124px 190px !important;
  gap: 24px !important;
}

.tools-design-v5 .align-subblock {
  width: 190px !important;
  min-width: 190px !important;
  margin-left: 0 !important;
}

.tools-design-v5 .align-subblock .tool-subtitle-line {
  padding-left: 0 !important;
}

.tools-design-v5 .align-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 56px) !important;
  grid-auto-rows: 34px !important;
  gap: 6px !important;
  width: 180px !important;
  min-width: 180px !important;
  justify-content: start !important;
}

.tools-design-v5 .align-action-btn {
  width: 56px !important;
  height: 34px !important;
  min-height: 34px !important;
  min-width: 0 !important;
  border-radius: 9px !important;
  border: 1px solid rgba(194, 136, 255, .30) !important;
  background: rgba(255,255,255,.035) !important;
  color: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  text-align: center !important;
  cursor: pointer !important;
  box-shadow: inset 0 0 18px rgba(194,136,255,.04) !important;
}

.tools-design-v5 .align-action-btn span {
  display: block !important;
  font-size: 9px !important;
  line-height: 1.05 !important;
  font-weight: 900 !important;
  letter-spacing: .01em !important;
}

.tools-design-v5 .align-action-btn:hover {
  border-color: rgba(194,136,255,.72) !important;
  color: #fff !important;
  background: rgba(138,91,255,.16) !important;
}


/* ===== v16 Colors page ===== */
.colors-library-page {
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr);
}

.colors-library-card {
  height: 100%;
  min-height: 0;
  overflow: auto;
}

.colors-library-head {
  align-items: center;
}

.user-color-controls {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  margin-top: 10px;
}

.user-color-picker {
  width: 46px;
  height: 34px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: rgba(255,255,255,.04);
  overflow: hidden;
  cursor: pointer;
}

.user-color-input {
  height: 34px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: rgba(255,255,255,.035);
  color: var(--white);
  padding: 0 10px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  outline: none;
  text-transform: uppercase;
}

.user-color-input:focus {
  border-color: var(--line-strong);
  box-shadow: 0 0 0 2px rgba(194,136,255,.12);
}

.colors-library-hint {
  margin-top: 9px;
  color: var(--muted);
  font-size: 10px;
  min-height: 14px;
  transition: color .16s ease;
}

.colors-library-hint.copied {
  color: var(--accent-2);
}

.saved-colors-grid {
  margin-top: 10px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(86px, 1fr));
  gap: 8px;
}

.saved-color-item {
  position: relative;
  min-width: 0;
  height: 62px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(255,255,255,.025);
  padding: 6px;
  color: var(--white);
  cursor: pointer;
  overflow: hidden;
  display: grid;
  grid-template-rows: 1fr auto;
  gap: 5px;
}

.saved-color-item:hover {
  border-color: var(--line-strong);
  background: rgba(138,91,255,.10);
  transform: translateY(-1px);
}

.saved-color-swatch {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 8px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.24);
}

.saved-color-hex {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .03em;
  color: rgba(255,255,255,.88);
}

.saved-color-delete {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,.48);
  color: #fff;
  font-size: 12px;
  line-height: 1;
  opacity: 0;
}

.saved-color-item:hover .saved-color-delete {
  opacity: 1;
}

.saved-colors-empty {
  grid-column: 1 / -1;
  border: 1px dashed var(--line);
  border-radius: 12px;
  color: var(--muted);
  padding: 16px;
  text-align: center;
  font-size: 11px;
}


/* ===== v17 page edit mode: hide/show pages ===== */
.compact-tabbar {
  grid-template-columns: repeat(auto-fit, minmax(44px, 1fr)) !important;
  overflow: hidden !important;
}

.page-tab-btn {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  min-width: 0 !important;
}

.page-tab-btn .tab-label {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.edit-mode .page-tab-btn.tab-editable {
  padding-right: 15px !important;
}

.tab-hide-btn {
  display: none;
}

body.edit-mode .tab-hide-btn {
  display: flex !important;
  position: absolute !important;
  right: 3px !important;
  top: 2px !important;
  width: 12px !important;
  height: 12px !important;
  border-radius: 999px !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 9px !important;
  line-height: 1 !important;
  color: #F8F1FF !important;
  background: rgba(0,0,0,.34) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
}

body.edit-mode .tab-hide-btn:hover {
  background: rgba(194,136,255,.26) !important;
  border-color: rgba(194,136,255,.55) !important;
}

.hidden-page-restore {
  border-style: dashed !important;
  opacity: .78 !important;
}

.hidden-page-restore .tab-restore-plus {
  color: var(--accent-2) !important;
  font-weight: 950 !important;
}


/* ===== v18 Colors paste button ===== */
.colors-library-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}

.colors-paste-btn {
  min-width: 58px;
  height: 28px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: rgba(255,255,255,.035);
  color: var(--white);
  font-size: 10px;
  font-weight: 900;
  cursor: pointer;
}

.colors-paste-btn:hover {
  border-color: var(--line-strong);
  background: rgba(138,91,255,.14);
}


/* ===== v25 Saved page + gradients/reference + Paste Image ===== */
.tools-functions-layout-v14 .tools-functions-row-top {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

.tools-functions-layout-v14 .tools-functions-row-top .large-function-btn {
  font-size: 10px !important;
  padding: 0 5px !important;
}

@media (max-width: 520px) {
  .tools-functions-layout-v14 .tools-functions-row-top {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

.saved-page {
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 8px;
}

.saved-subtabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px;
}

.saved-subtab {
  height: 28px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: rgba(255,255,255,.035);
  color: rgba(255,255,255,.68);
  font-size: 10px;
  font-weight: 900;
  cursor: pointer;
}

.saved-subtab:hover,
.saved-subtab.active {
  border-color: var(--line-strong);
  color: #fff;
  background: rgba(138,91,255,.18);
}

.saved-subpage {
  min-height: 0;
  display: none;
}

.saved-subpage.active {
  display: block;
  height: 100%;
}

.saved-library-card {
  height: 100%;
  min-height: 0;
  overflow: auto;
}

.gradient-controls {
  display: grid;
  grid-template-columns: 46px 46px minmax(0, 1fr) minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  margin-top: 10px;
}

.saved-gradients-grid,
.saved-reference-grid {
  margin-top: 10px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(122px, 1fr));
  gap: 8px;
}

.saved-gradient-item {
  position: relative;
  min-width: 0;
  height: 66px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(255,255,255,.025);
  padding: 6px;
  color: var(--white);
  cursor: pointer;
  overflow: hidden;
  display: grid;
  grid-template-rows: 1fr auto;
  gap: 5px;
}

.saved-gradient-item:hover {
  border-color: var(--line-strong);
  background: rgba(138,91,255,.10);
}

.saved-gradient-preview {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 8px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.24);
}

.saved-gradient-hex {
  font-size: 8px;
  font-weight: 900;
  color: rgba(255,255,255,.86);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.reference-file-input {
  display: none;
}

.reference-upload-btn {
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.reference-meta-controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 8px;
  margin-top: 10px;
}

.reference-comment-input {
  min-height: 34px;
  height: 34px;
  resize: vertical;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: rgba(255,255,255,.035);
  color: var(--white);
  padding: 8px 10px;
  font-size: 11px;
  outline: none;
}

.reference-card {
  position: relative;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(255,255,255,.025);
  padding: 7px;
  min-width: 0;
  overflow: hidden;
}

.reference-preview {
  width: 100%;
  height: 92px;
  object-fit: cover;
  border-radius: 9px;
  background: rgba(0,0,0,.28);
  display: block;
}

.reference-title {
  margin-top: 6px;
  font-size: 10px;
  font-weight: 900;
  color: #fff;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.reference-comment {
  margin-top: 3px;
  font-size: 9px;
  line-height: 1.25;
  color: rgba(255,255,255,.58);
  max-height: 34px;
  overflow: hidden;
}

.reference-delete {
  position: absolute;
  right: 6px;
  top: 6px;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.28);
  background: rgba(0,0,0,.56);
  color: #fff;
  font-size: 12px;
  cursor: pointer;
}

@media (max-width: 410px) {
  .gradient-controls,
  .reference-meta-controls {
    grid-template-columns: 1fr 1fr;
  }
}


/* ===== v26 Reference save workflow ===== */
.reference-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  flex-wrap: wrap;
}

.reference-actions .primary-btn,
.reference-upload-btn {
  height: 28px;
  min-width: 58px;
  padding: 0 10px;
}

.reference-pending-preview {
  margin-top: 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(255,255,255,.025);
  min-height: 118px;
  padding: 8px;
  display: grid;
  grid-template-rows: minmax(82px, 1fr) auto;
  gap: 6px;
  overflow: hidden;
}

.reference-pending-preview.empty {
  min-height: 74px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,.48);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .02em;
}

.reference-pending-media {
  width: 100%;
  max-height: 190px;
  object-fit: contain;
  border-radius: 9px;
  background: rgba(0,0,0,.30);
  display: block;
}

.reference-pending-meta {
  font-size: 9px;
  color: rgba(255,255,255,.64);
  font-weight: 800;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.reference-paste-target {
  position: fixed;
  left: -9999px;
  top: -9999px;
  width: 1px;
  height: 1px;
  opacity: 0;
  overflow: hidden;
}


/* ===== v27 reference browser polish ===== */
#referenceTitleInput {
  text-transform: none !important;
  letter-spacing: .02em !important;
}

.reference-comment-input {
  line-height: 1.25 !important;
  padding-top: 10px !important;
}

.reference-zoom-row {
  margin-top: 10px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  color: rgba(255,255,255,.62);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.reference-zoom-row input,
.reference-modal-bottom input {
  width: 100%;
  accent-color: var(--accent);
}

.saved-reference-grid {
  grid-template-columns: repeat(auto-fill, minmax(122px, 1fr));
}

.reference-card {
  cursor: zoom-in;
}

.reference-preview {
  height: var(--reference-preview-height, 92px) !important;
}

.reference-title,
.reference-comment {
  min-height: 12px;
}

.reference-pending-media {
  cursor: zoom-in;
}

.reference-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: rgba(5,4,10,.78);
  backdrop-filter: blur(9px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px;
}

.reference-modal-panel {
  width: min(920px, calc(100vw - 28px));
  height: min(680px, calc(100vh - 28px));
  border: 1px solid var(--line-strong);
  border-radius: 16px;
  background: #100D1B;
  box-shadow: 0 22px 80px rgba(0,0,0,.55);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  overflow: hidden;
}

.reference-modal-panel:fullscreen {
  width: 100vw;
  height: 100vh;
  border-radius: 0;
}

.reference-modal-topbar {
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 0 10px;
  border-bottom: 1px solid var(--line);
}

.reference-modal-title {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 11px;
  font-weight: 900;
  color: #fff;
}

.reference-modal-actions {
  display: flex;
  gap: 6px;
  align-items: center;
}

.reference-modal-actions button {
  height: 24px;
  min-width: 26px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: rgba(255,255,255,.04);
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  cursor: pointer;
}

.reference-modal-stage {
  min-height: 0;
  overflow: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: rgba(0,0,0,.24);
}

.reference-modal-media {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  transform-origin: center center;
  transition: transform .08s linear;
}

.reference-modal-bottom {
  min-height: 38px;
  display: grid;
  grid-template-columns: auto minmax(120px, 220px) minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-top: 1px solid var(--line);
  color: rgba(255,255,255,.65);
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
}

.reference-modal-comment {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-transform: none;
  font-weight: 700;
  color: rgba(255,255,255,.68);
}


/* ===== v28 reference image-only + wheel zoom/pan ===== */
.reference-zoom-row,
#referenceGridZoom,
#referenceModalFullscreen,
#referenceModalZoom {
  display: none !important;
}

.saved-reference-grid {
  grid-template-columns: repeat(auto-fill, minmax(122px, 1fr)) !important;
}

.reference-modal-panel {
  grid-template-rows: auto minmax(0, 1fr) auto !important;
}

.reference-modal-stage {
  overflow: hidden !important;
  cursor: grab !important;
  user-select: none !important;
}

.reference-modal-media {
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  transform-origin: center center !important;
  transition: none !important;
  user-select: none !important;
  -webkit-user-drag: none !important;
}

.reference-modal-bottom {
  grid-template-columns: minmax(0, auto) minmax(0, 1fr) !important;
}

.reference-modal-help {
  color: rgba(255,255,255,.52) !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  text-transform: none !important;
  white-space: nowrap !important;
}


/* v35 align target selector */
.tools-design-v5 .align-target-select {
  width: 180px !important;
  height: 30px !important;
  margin: 0 0 8px 0 !important;
  padding: 0 8px !important;
  border-radius: 9px !important;
  border: 1px solid rgba(194, 136, 255, .30) !important;
  background: rgba(255,255,255,.035) !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  outline: none !important;
}
.tools-design-v5 .align-target-select option {
  background: #191423 !important;
  color: #fff !important;
}
.tools-design-v5 .align-action-btn span {
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}
.tools-design-v5 .align-action-btn[title="Center X"] span,
.tools-design-v5 .align-action-btn[title="Center Y"] span {
  font-size: 12px !important;
}


/* ===== v37 Saved built-in colors + gradients ===== */
.saved-subtabs {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
#saved-subpage-colors.active {
  display: grid;
  grid-template-rows: auto auto;
  gap: 8px;
  height: 100%;
  overflow: auto;
}
#saved-subpage-colors .saved-library-card {
  height: auto;
  min-height: auto;
}
.saved-section-title {
  grid-column: 1 / -1;
  margin: 2px 0 0;
  color: var(--muted);
  font-size: 9px;
  line-height: 1;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.saved-colors-grid,
.saved-gradients-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}
.builtin-palette-grid,
.custom-palette-grid,
.builtin-gradient-palette-grid,
.custom-gradient-palette-grid {
  grid-column: 1 / -1;
  display: grid;
  gap: 6px;
}
.builtin-palette-grid {
  grid-template-columns: repeat(auto-fill, minmax(26px, 1fr));
}
.custom-palette-grid {
  grid-template-columns: repeat(auto-fill, minmax(86px, 1fr));
}
.builtin-gradient-palette-grid {
  grid-template-columns: repeat(auto-fill, minmax(42px, 1fr));
}
.custom-gradient-palette-grid {
  grid-template-columns: repeat(auto-fill, minmax(122px, 1fr));
}
.builtin-saved-color-item {
  height: 30px;
  padding: 0;
  border-radius: 7px;
  display: block;
}
.builtin-saved-color-item .saved-color-swatch {
  height: 100%;
  border-radius: 6px;
}
.builtin-saved-color-item .saved-color-hex {
  display: none;
}
.builtin-saved-gradient-item {
  height: 30px;
  padding: 0;
  border-radius: 7px;
  display: block;
}
.builtin-saved-gradient-item .saved-gradient-preview {
  height: 100%;
  border-radius: 6px;
}
.builtin-saved-gradient-item .saved-gradient-hex {
  display: none;
}
.builtin-saved-color-item:hover,
.builtin-saved-gradient-item:hover {
  transform: translateY(-1px);
}
.gradients-library-card {
  margin-top: 0;
}


/* ===== v38 Saved colors+gradients merged block ===== */
#saved-subpage-colors.active {
  display: block !important;
  overflow: auto;
}
.saved-library-combined-card {
  display: block;
  height: 100%;
  overflow: auto;
}
.saved-combined-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}
.saved-add-toggle {
  display: inline-grid;
  grid-template-columns: repeat(2, auto);
  gap: 0;
  padding: 2px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(255,255,255,.04);
}
.saved-mode-btn {
  height: 26px;
  min-width: 52px;
  padding: 0 12px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: rgba(255,255,255,.56);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
}
.saved-mode-btn.active {
  background: rgba(255,255,255,.12);
  color: #fff;
}
.saved-add-panel {
  margin-top: 10px;
}
.saved-add-row {
  display: none;
  gap: 8px;
  align-items: center;
}
.saved-add-row.active {
  display: grid;
}
#savedAddRowSolid {
  grid-template-columns: minmax(0,1fr) 34px 58px;
}
#savedAddRowGrad {
  grid-template-columns: minmax(0,1fr) 34px minmax(0,1fr) 34px 58px;
}
.saved-add-row .primary-btn {
  height: 34px;
  min-width: 58px;
  padding: 0 10px;
}
.saved-add-row .user-color-picker {
  width: 34px;
  height: 34px;
  border-radius: 8px;
}
.saved-add-row .user-color-input {
  width: 100%;
}
#savedColorStatus,
#savedGradientStatus {
  margin-top: 8px;
}
#savedGradientStatus { display: none; }
.saved-section-title {
  margin: 14px 0 8px !important;
}
.saved-colors-grid,
.saved-gradients-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(44px, 44px)) !important;
  gap: 8px !important;
  justify-content: flex-start;
}
#popularColorsGrid,
#popularGradientsGrid {
  grid-template-columns: repeat(auto-fill, minmax(28px, 28px)) !important;
  gap: 6px !important;
}
.saved-color-item,
.saved-gradient-item {
  position: relative;
  min-width: 0;
  width: 100%;
  aspect-ratio: 1 / 1;
  height: auto !important;
  min-height: 0;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: rgba(255,255,255,.025);
  padding: 0;
  overflow: hidden;
  display: block;
}
.saved-color-item-large,
.saved-gradient-item-large {
  border-radius: 10px;
}
.saved-color-item-small,
.saved-gradient-item-small {
  border-radius: 7px;
}
.saved-color-item .saved-color-swatch,
.saved-gradient-item .saved-gradient-preview {
  width: 100%;
  height: 100%;
  display: block;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18);
}
.saved-color-hex,
.saved-gradient-hex {
  display: none !important;
}
.saved-color-item:hover,
.saved-gradient-item:hover {
  transform: translateY(-1px);
  border-color: var(--line-strong);
}
.saved-color-delete {
  top: 3px;
  right: 3px;
  width: 14px;
  height: 14px;
  font-size: 11px;
}
.saved-colors-empty {
  grid-column: 1 / -1;
}
@media (max-width: 460px) {
  #savedAddRowGrad {
    grid-template-columns: minmax(0,1fr) 34px minmax(0,1fr) 34px 58px;
  }
}

/* ===== v41 show delete button on saved gradients ===== */
.saved-gradient-item:hover .saved-color-delete,
.saved-color-item:hover .saved-color-delete {
  opacity: 1 !important;
}
.saved-gradient-item .saved-color-delete,
.saved-color-item .saved-color-delete {
  z-index: 10 !important;
  pointer-events: auto !important;
  background: rgba(0, 0, 0, .62) !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, .36) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.35) !important;
}


/* ===== v43 merged saved assets + gradient color menu ===== */
.saved-mixed-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(44px, 44px)) !important;
  gap: 8px !important;
  justify-content: flex-start;
}
.saved-gradient-color-menu {
  position: fixed;
  z-index: 100000;
  display: grid;
  grid-template-columns: repeat(2, 28px);
  gap: 8px;
  padding: 8px;
  border: 1px solid rgba(255,255,255,.34);
  border-radius: 8px;
  background: rgba(12, 10, 18, .96);
  box-shadow: 0 10px 28px rgba(0,0,0,.48);
  backdrop-filter: blur(8px);
}
.gradient-menu-color-btn {
  width: 28px;
  height: 28px;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 6px;
  padding: 0;
  cursor: pointer;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.14);
}
.gradient-menu-color-btn:hover {
  transform: translateY(-1px);
  border-color: #fff;
}
.saved-gradient-item-large {
  cursor: pointer;
}
.saved-gradient-item-large::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
}


/* ===== v45 Reference page workflow ===== */
.reference-actions {
  gap: 6px !important;
}
.reference-upload-btn,
#pasteReferenceBtn,
.reference-comment-input,
.reference-comment,
#referenceCommentInput,
#referencePasteTarget {
  display: none !important;
}
.secondary-btn.reference-search-toggle {
  height: 28px;
  min-width: 64px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: rgba(255,255,255,.035);
  color: rgba(255,255,255,.75);
  font-size: 10px;
  font-weight: 900;
  cursor: pointer;
}
.secondary-btn.reference-search-toggle:hover,
.secondary-btn.reference-search-toggle.active {
  border-color: var(--line-strong);
  color: #fff;
  background: rgba(138,91,255,.16);
}
.reference-search-row {
  margin-top: 10px;
}
.reference-search-row.hidden {
  display: none !important;
}
.reference-search-input {
  width: 100%;
}
.reference-meta-controls.reference-meta-name-only {
  display: grid !important;
  grid-template-columns: 1fr !important;
  margin-top: 10px !important;
}
.reference-pending-preview {
  min-height: 116px !important;
  grid-template-rows: minmax(82px, 1fr) auto !important;
  cursor: pointer;
  transition: border-color .14s ease, background .14s ease;
}
.reference-pending-preview.empty {
  min-height: 74px !important;
  color: rgba(255,255,255,.52) !important;
  font-size: 11px !important;
}
.reference-pending-preview:hover,
.reference-pending-preview.drag-over {
  border-color: var(--line-strong) !important;
  background: rgba(138,91,255,.10) !important;
}
.reference-pending-media {
  width: min(128px, 100%) !important;
  height: min(128px, 42vw) !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  margin: 0 auto;
}
.saved-reference-grid {
  grid-template-columns: repeat(auto-fill, minmax(112px, 1fr)) !important;
  gap: 9px !important;
}
.reference-card {
  padding: 7px !important;
  display: grid;
  grid-template-rows: auto auto;
  gap: 6px;
}
.reference-preview {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: 9px !important;
}
.reference-title {
  margin-top: 0 !important;
  min-height: 15px;
  font-size: 10px !important;
}
.reference-delete,
.reference-edit {
  position: absolute;
  z-index: 4;
  top: 6px;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.25);
  background: rgba(0,0,0,.58);
  color: #fff;
  font-size: 12px;
  line-height: 1;
  cursor: pointer;
  opacity: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.reference-delete { right: 6px; }
.reference-edit { right: 28px; font-size: 10px; }
.reference-card:hover .reference-delete,
.reference-card:hover .reference-edit {
  opacity: 1;
}
.reference-modal-bottom {
  grid-template-columns: minmax(0, 1fr) !important;
}

/* ===== v46 Reference search/title polish ===== */
.reference-search-input,
.reference-search-input::placeholder {
  text-transform: none !important;
  letter-spacing: .02em !important;
}
.reference-title {
  text-align: center !important;
  justify-self: stretch !important;
  width: 100% !important;
  padding: 0 4px !important;
}


/* ===== v49 Reference save clickable fix ===== */
.reference-library-head,
.reference-actions {
  position: relative !important;
  z-index: 20 !important;
  pointer-events: auto !important;
}
#saveReferenceBtn {
  pointer-events: auto !important;
}
#saveReferenceBtn:disabled {
  opacity: .65 !important;
  cursor: wait !important;
}


/* ===== v58 Paste Image modal ===== */
.tools-paste-image-overlay {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(5, 4, 12, 0.72);
  backdrop-filter: blur(8px);
}
.tools-paste-image-overlay.active {
  display: flex;
}
.tools-paste-image-modal {
  position: relative;
  width: min(260px, calc(100vw - 36px));
  min-height: 132px;
  border: 1px solid var(--line-strong);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(31, 25, 51, .98), rgba(15, 12, 27, .98));
  box-shadow: 0 18px 70px rgba(0,0,0,.52);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 22px 20px 18px;
  color: #fff;
  text-align: center;
}
.tools-paste-image-close {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 22px;
  height: 22px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  background: rgba(0,0,0,.24);
  color: rgba(255,255,255,.82);
  font-size: 15px;
  line-height: 18px;
  cursor: pointer;
}
.tools-paste-image-close:hover {
  background: rgba(255,255,255,.11);
  color: #fff;
}
.tools-paste-image-text {
  font-size: 18px;
  line-height: 1.1;
  font-weight: 950;
  letter-spacing: .02em;
}
.tools-paste-image-subtext {
  min-height: 14px;
  font-size: 10px;
  line-height: 1.25;
  font-weight: 800;
  color: rgba(255,255,255,.58);
}
.tools-paste-image-subtext.ok {
  color: var(--accent-2);
}
.tools-paste-image-subtext.error {
  color: #ff8b9a;
}
.tools-paste-image-target {
  position: absolute;
  left: -9999px;
  top: -9999px;
  width: 1px;
  height: 1px;
  opacity: 0;
  overflow: hidden;
}


/* ===== v60 Saved / Comps templates ===== */
.templates-library-card {
  height: 100%;
  overflow: auto;
}
.template-save-row {
  margin-top: 10px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 66px;
  gap: 8px;
  align-items: center;
}
.template-save-row .primary-btn {
  height: 34px;
  min-width: 66px;
  padding: 0 12px;
}
.template-name-input {
  text-transform: none !important;
  letter-spacing: .02em !important;
}
.saved-templates-grid {
  margin-top: 8px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(132px, 1fr));
  gap: 8px;
}
.template-card {
  position: relative;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(255,255,255,.025);
  overflow: hidden;
}
.template-card:hover {
  border-color: var(--line-strong);
  background: rgba(138,91,255,.10);
}
.template-main-btn {
  width: 100%;
  min-height: 74px;
  padding: 10px 10px 9px;
  border: 0;
  background: transparent;
  color: #fff;
  cursor: pointer;
  display: grid;
  grid-template-rows: auto auto auto;
  align-items: center;
  justify-items: center;
  gap: 4px;
}
.template-icon {
  width: 30px;
  height: 30px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(194,136,255,.18);
  border: 1px solid rgba(194,136,255,.36);
  color: var(--accent-2);
  font-size: 12px;
}
.template-name {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 10px;
  font-weight: 900;
  text-align: center;
}
.template-date {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 8px;
  font-weight: 800;
  color: rgba(255,255,255,.52);
}
.template-delete {
  position: absolute;
  right: 5px;
  top: 5px;
  z-index: 5;
  width: 17px;
  height: 17px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(0,0,0,.48);
  color: #fff;
  font-size: 12px;
  line-height: 1;
  display: none;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.template-card:hover .template-delete {
  display: flex;
}
@media (max-width: 380px) {
  .saved-templates-grid { grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); }
}


/* ===== v62 template preview thumbnails ===== */
.template-main-btn {
  grid-template-rows: 52px auto auto !important;
  min-height: 102px !important;
}
.template-preview {
  width: 86px;
  height: 52px;
  border-radius: 9px;
  overflow: hidden;
  display: block;
  background: rgba(0,0,0,.24);
  border: 1px solid rgba(194,136,255,.30);
}
.template-preview img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.template-icon {
  align-self: center;
}
@media (max-width: 380px) {
  .template-preview { width: 74px; height: 46px; }
  .template-main-btn { grid-template-rows: 46px auto auto !important; }
}


/* ===== v64 bigger Saved / Comps template cards ===== */
.saved-templates-grid {
  grid-template-columns: repeat(auto-fill, minmax(178px, 1fr)) !important;
  gap: 12px !important;
}
.template-card {
  border-radius: 14px !important;
}
.template-main-btn {
  min-height: 138px !important;
  padding: 12px 12px 11px !important;
  grid-template-rows: 76px auto auto !important;
  gap: 6px !important;
}
.template-preview {
  width: 124px !important;
  height: 76px !important;
  border-radius: 10px !important;
}
.template-name {
  font-size: 11px !important;
}
.template-date {
  font-size: 9px !important;
}
.template-delete {
  width: 18px !important;
  height: 18px !important;
  right: 6px !important;
  top: 6px !important;
}
@media (max-width: 420px) {
  .saved-templates-grid {
    grid-template-columns: repeat(auto-fill, minmax(148px, 1fr)) !important;
    gap: 10px !important;
  }
  .template-main-btn {
    min-height: 124px !important;
    grid-template-rows: 66px auto auto !important;
  }
  .template-preview {
    width: 108px !important;
    height: 66px !important;
  }
}


/* ===== v65 Saved Comps search/rename + Fonts ===== */
.templates-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 10px;
}
.templates-title-row .saved-section-title {
  margin: 0 !important;
}
.template-search-row {
  margin-top: 10px;
}
.template-search-row.hidden {
  display: none !important;
}
.template-search-toggle {
  height: 28px;
  min-width: 68px;
  padding: 0 12px;
}
.template-rename {
  position: absolute;
  left: 6px;
  top: 6px;
  z-index: 5;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(0,0,0,.48);
  color: #fff;
  font-size: 10px;
  line-height: 1;
  display: none;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.template-card:hover .template-rename {
  display: flex;
}
.fonts-library-card {
  height: 100%;
  overflow: auto;
}
.fonts-sample-row {
  margin-top: 10px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 74px;
  gap: 8px;
  align-items: center;
}
.fonts-sample-row .secondary-btn {
  height: 34px;
}
.fonts-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin-top: 8px;
}
.font-row {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 8px;
  align-items: stretch;
}
.font-fav-btn,
.font-preview-btn {
  border: 1px solid var(--line);
  background: rgba(255,255,255,.025);
  color: #fff;
  border-radius: 10px;
  cursor: pointer;
}
.font-fav-btn {
  min-height: 48px;
  color: rgba(255,255,255,.55);
  font-size: 16px;
}
.font-row.favorite .font-fav-btn {
  color: var(--accent-2);
  background: rgba(194,136,255,.12);
}
.font-preview-btn {
  min-width: 0;
  min-height: 48px;
  padding: 8px 12px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  text-align: left;
}
.font-preview-btn:hover,
.font-fav-btn:hover {
  border-color: var(--line-strong);
  background: rgba(138,91,255,.10);
}
.font-preview-text {
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 20px;
  line-height: 1.1;
}
.font-name-label {
  max-width: 145px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 9px;
  font-weight: 800;
  color: rgba(255,255,255,.52);
}
@media (max-width: 420px) {
  .font-preview-btn {
    grid-template-columns: 1fr;
    gap: 4px;
  }
  .font-name-label {
    max-width: 100%;
  }
}


/* ===== v66 Saved Fonts redesign ===== */
.fonts-library-card {
  height: 100%;
  overflow: auto;
}
.fonts-library-card .colors-library-head .secondary-btn {
  height: 30px;
  min-width: 66px;
}
.fonts-sample-row.fonts-sample-row-single {
  margin-top: 10px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}
.font-save-row {
  margin-top: 8px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 64px;
  gap: 8px;
  align-items: center;
}
.font-save-row .primary-btn {
  height: 34px;
  min-width: 64px;
  padding: 0 12px;
}
.saved-fonts-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(132px, 1fr));
  gap: 10px;
  margin-top: 8px;
}
.saved-font-card {
  position: relative;
  min-width: 0;
}
.saved-font-apply {
  width: 100%;
  min-height: 112px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(255,255,255,.025);
  color: #fff;
  cursor: pointer;
  display: grid;
  grid-template-rows: minmax(62px, 1fr) auto;
  gap: 8px;
  align-items: center;
  text-align: center;
  overflow: hidden;
}
.saved-font-apply:hover {
  border-color: var(--line-strong);
  background: rgba(138,91,255,.10);
}
.saved-font-preview {
  min-width: 0;
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 24px;
  line-height: 1.1;
  display: block;
}
.saved-font-name {
  min-width: 0;
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 9px;
  font-weight: 900;
  color: rgba(255,255,255,.58);
  display: block;
}
.saved-font-delete {
  position: absolute;
  top: 7px;
  right: 7px;
  z-index: 5;
  width: 18px;
  height: 18px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 50%;
  background: rgba(0,0,0,.55);
  color: #fff;
  display: none;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 12px;
  line-height: 1;
}
.saved-font-card:hover .saved-font-delete {
  display: flex;
}
@media (max-width: 420px) {
  .saved-fonts-grid {
    grid-template-columns: repeat(auto-fill, minmax(112px, 1fr));
  }
  .saved-font-preview {
    font-size: 20px;
  }
}


/* ===== v67 Fonts picker dropdown with previews ===== */
.font-picker-wrap {
  position: relative;
  min-width: 0;
}
.font-picker-list {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 5px);
  z-index: 80;
  max-height: 235px;
  overflow: auto;
  border: 1px solid var(--line-strong);
  border-radius: 12px;
  background: #f3f3f3;
  box-shadow: 0 16px 40px rgba(0,0,0,.45);
  padding: 4px;
}
.font-picker-list.visible {
  display: block;
}
.font-picker-item {
  width: 100%;
  min-height: 28px;
  border: 0;
  background: transparent;
  color: #121212;
  padding: 4px 8px;
  display: grid;
  grid-template-columns: minmax(120px, .95fr) minmax(110px, 1.05fr);
  gap: 10px;
  align-items: center;
  text-align: left;
  cursor: pointer;
  border-radius: 6px;
}
.font-picker-item:hover,
.font-picker-item:focus {
  background: #4b4b4b;
  color: #fff;
  outline: none;
}
.font-picker-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 500;
}
.font-picker-sample {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 18px;
  line-height: 1.1;
  color: inherit;
}
.font-picker-empty {
  padding: 8px 10px;
  color: #333;
  font-size: 11px;
  font-weight: 700;
}
.font-save-row {
  overflow: visible;
}
.fonts-library-card {
  overflow: visible auto;
}
@media (max-width: 420px) {
  .font-picker-item {
    grid-template-columns: minmax(92px, .9fr) minmax(86px, 1.1fr);
    gap: 6px;
  }
  .font-picker-sample {
    font-size: 15px;
  }
}


/* ===== v70 Saved Fonts: save from selected text layer, compact cards ===== */
.fonts-library-card-compact .colors-library-head .secondary-btn,
#reloadFontsBtn,
.font-picker-wrap,
#fontPickerList,
#systemFontsDatalist,
#fontFamilyInput {
  display: none !important;
}
.fonts-library-card-compact {
  overflow: auto !important;
}
.fonts-library-card-compact .fonts-sample-row.fonts-sample-row-single {
  margin-top: 8px !important;
}
#fontsSampleInput {
  text-transform: none !important;
  letter-spacing: normal !important;
  font-size: 14px !important;
  height: 34px !important;
}
.font-save-row-selected {
  margin-top: 8px !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
}
.font-save-row-selected #saveFontBtn {
  width: 100% !important;
  height: 34px !important;
  min-width: 0 !important;
  padding: 0 10px !important;
  border-radius: 10px !important;
}
#savedFontsStatus {
  margin-top: 7px !important;
}
.fonts-library-card-compact .saved-section-title {
  margin-top: 8px !important;
  margin-bottom: 6px !important;
}
.saved-fonts-grid {
  grid-template-columns: repeat(auto-fill, minmax(116px, 1fr)) !important;
  gap: 8px !important;
  margin-top: 6px !important;
}
.saved-font-card-compact {
  min-width: 0 !important;
}
.saved-font-card-compact .saved-font-apply {
  min-height: 82px !important;
  padding: 8px !important;
  border-radius: 10px !important;
  grid-template-rows: minmax(34px, 1fr) auto !important;
  gap: 5px !important;
}
.saved-font-card-compact .saved-font-preview {
  font-size: 19px !important;
  line-height: 1.05 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}
.saved-font-card-compact .saved-font-name {
  font-size: 8px !important;
  line-height: 1.1 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}
.saved-font-style-select {
  width: 100% !important;
  height: 25px !important;
  margin-top: 5px !important;
  border-radius: 8px !important;
  border: 1px solid var(--line) !important;
  background: rgba(255,255,255,.035) !important;
  color: #fff !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  padding: 0 6px !important;
  outline: none !important;
}
.saved-font-style-select option {
  background: #191427 !important;
  color: #fff !important;
}
.saved-font-card-compact .saved-font-delete {
  top: 5px !important;
  right: 5px !important;
  width: 16px !important;
  height: 16px !important;
  font-size: 11px !important;
}
@media (max-width: 420px) {
  .saved-fonts-grid {
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)) !important;
    gap: 7px !important;
  }
  .saved-font-card-compact .saved-font-preview {
    font-size: 16px !important;
  }
}


/* ===== v71 fonts: real selected-family styles only ===== */
.saved-font-card-compact .saved-font-preview {
  text-transform: none !important;
  letter-spacing: 0 !important;
  line-height: 1.15 !important;
}
.saved-font-card-compact .saved-font-name {
  text-transform: none !important;
}
.saved-font-style-select option {
  background: #171322 !important;
  color: #fff !important;
}


/* v73 Saved Fonts: exact font only, no style dropdown */
.saved-font-card-no-style .saved-font-style-select { display: none !important; }
.saved-font-card-no-style {
  min-height: 0 !important;
}
.saved-font-card-no-style .saved-font-apply {
  padding-bottom: 8px !important;
}
.saved-font-card-no-style .saved-font-name {
  font-size: 10px !important;
  line-height: 1.15 !important;
  opacity: .82 !important;
}
.saved-font-card-no-style .saved-font-preview {
  font-size: 18px !important;
  line-height: 1.15 !important;
}

/* ===== Smart Reveal v74 ===== */
.text-subnav {
  display: flex;
  gap: 8px;
  margin: 0 0 10px;
}
.text-subtab {
  height: 30px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255,255,255,.035);
  color: var(--muted);
  font-family: inherit;
  font-size: 11px;
  font-weight: 900;
  padding: 0 12px;
  cursor: pointer;
}
.text-subtab.active {
  color: var(--text);
  border-color: rgba(255,255,255,.22);
  background: rgba(255,255,255,.075);
}
.text-edit-message {
  margin-top: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255,255,255,.035);
  color: var(--muted);
  padding: 10px;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.35;
}
.smart-reveal-controls {
  margin-top: 10px;
  border-top: 1px solid var(--line);
  padding-top: 10px;
}
.smart-preview-input {
  width: 100%;
  height: 34px;
  box-sizing: border-box;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: rgba(255,255,255,.035);
  color: var(--text);
  padding: 0 10px;
  font-family: inherit;
  font-weight: 800;
  outline: none;
}
.smart-control-row {
  margin-top: 8px;
}
.smart-control-row label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.smart-control-row label b {
  color: var(--text);
  font-size: 10px;
}
#smartDurationValue {
  cursor: pointer;
  border-bottom: 1px dotted rgba(255,255,255,.35);
}
.smart-control-row input[type="range"] {
  width: 100%;
  margin: 5px 0 0;
  accent-color: var(--accent);
}
.smart-two-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.smart-select-row {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 8px;
  margin-top: 10px;
}
.smart-select-row select,
.smart-replay-btn {
  height: 30px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255,255,255,.035);
  color: var(--text);
  font-family: inherit;
  font-size: 11px;
  font-weight: 800;
  outline: none;
}
.smart-select-row option { background: #151222; color: #fff; }
.smart-replay-btn {
  padding: 0 12px;
  cursor: pointer;
}
.smart-replay-btn:hover { border-color: var(--accent); }
.smart-preview-wrap {
  width: 100%;
  height: 100%;
  min-height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: inherit;
}
.smart-preview-text {
  color: #fff;
  font-size: clamp(26px, 9vw, 58px);
  font-weight: 900;
  line-height: 1.05;
  text-align: center;
  white-space: pre-wrap;
  letter-spacing: -0.02em;
}
.smart-piece {
  display: inline-block;
  transform-origin: 50% 55%;
  will-change: transform, opacity, filter;
}
.smart-space-piece { min-width: .25em; }
.smart-line-piece { display: inline-block; }
@media (max-width: 430px) {
  .smart-two-cols { grid-template-columns: 1fr; gap: 8px; }
  .smart-select-row { grid-template-columns: 1fr 1fr; }
  .smart-replay-btn { grid-column: 1 / -1; }
}


/* ===== Smart Reveal v77 preview cleanup ===== */
.smart-preview-wrap {
  isolation: isolate;
  contain: layout paint;
}
.smart-preview-text {
  transform: translateZ(0);
  -webkit-font-smoothing: antialiased;
}
.smart-piece {
  position: relative;
  vertical-align: baseline;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
  contain: paint;
}




/* ===== Smart Reveal v81 group blur preview ===== */
.smart-preview-wrap {
  padding: 28px;
  box-sizing: border-box;
}
.smart-preview-text {
  filter: none;
  -webkit-filter: none;
  will-change: filter;
}
.smart-piece {
  filter: none;
  -webkit-filter: none;
  text-rendering: geometricPrecision;
}


/* ===== Smart Reveal v84 loop + crop fix ===== */
.smart-select-row {
  grid-template-columns: 1fr 1fr !important;
}
.smart-preview-wrap {
  min-height: 185px !important;
  padding: 42px 30px 54px !important;
  overflow: visible !important;
}
#presetStage:has(.smart-preview-wrap) {
  overflow: visible !important;
}
.smart-preview-text {
  line-height: 1.22 !important;
  padding: 0 0 .22em !important;
  overflow: visible !important;
  transform-origin: 50% 50%;
}
.smart-piece {
  transform-origin: 50% 60% !important;
}

/* v85: Smart Reveal preview restored with delay */
.smart-replay-btn {
  width: 100%;
  height: 30px;
  margin-top: 8px;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.04);
  color: var(--text);
  font-weight: 900;
  letter-spacing: .04em;
  cursor: pointer;
}
.smart-preview-wrap { padding: 16px 10px 24px; overflow: visible; }
.smart-preview-text { line-height: 1.25; padding-bottom: 8px; overflow: visible; }


/* ===== Smart Reveal v86 loop/no replay refinements ===== */
.smart-replay-btn { display: none !important; }
.smart-preview-wrap {
  min-height: 190px !important;
  padding: 38px 24px 52px !important;
  overflow: visible !important;
}
.smart-preview-text {
  line-height: 1.28 !important;
  padding: .08em 0 .28em !important;
  overflow: visible !important;
}


/* ===== Object Expressions tab ===== */
.expression-page-pro {
  height: calc(100vh - 72px);
  display: grid;
  grid-template-columns: minmax(150px, 0.95fr) minmax(190px, 1.25fr);
  gap: 8px;
  overflow: hidden;
}

.expression-preview-card,
.expression-controls-card {
  min-height: 0;
  overflow: hidden;
}

.expression-preview-card {
  display: grid;
  grid-template-rows: auto minmax(130px, 1fr) auto auto;
  gap: 8px;
}

.expression-stage {
  position: relative;
  min-height: 140px;
  border-radius: 14px;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 50%, rgba(138, 91, 255, 0.18), transparent 42%),
    linear-gradient(135deg, rgba(255,255,255,0.045), rgba(255,255,255,0.012));
  border: 1px solid rgba(255,255,255,0.07);
}

.expression-grid-lines {
  position: absolute;
  inset: 0;
  opacity: 0.38;
  background-image:
    linear-gradient(rgba(255,255,255,0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.06) 1px, transparent 1px);
  background-size: 24px 24px;
  mask-image: radial-gradient(circle at center, black 0%, transparent 72%);
}

.expression-ball {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 44px;
  height: 44px;
  margin-left: -22px;
  margin-top: -22px;
  border-radius: 999px;
  background:
    radial-gradient(circle at 32% 27%, rgba(255,255,255,0.98), rgba(255,255,255,0.22) 17%, transparent 31%),
    var(--aptk-detail, var(--accent, #8A5BFF));
  box-shadow: 0 14px 34px rgba(0,0,0,0.32), 0 0 28px var(--aptk-detail-glow, rgba(138,91,255,0.25));
  will-change: transform, opacity, filter;
}

.expression-ball-shadow {
  position: absolute;
  left: 50%;
  top: calc(50% + 37px);
  width: 64px;
  height: 12px;
  margin-left: -32px;
  border-radius: 999px;
  background: rgba(0,0,0,0.32);
  filter: blur(7px);
  will-change: transform, opacity;
}

.expression-apply-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}

.expression-apply-row-single {
  grid-template-columns: 1fr;
}

.expression-hint-row {
  font-size: 8px;
}

.expression-controls-card {
  overflow-y: auto;
  padding-right: 8px !important;
}

.expression-preset-switch {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 6px;
  margin-bottom: 10px;
}

.expression-preset-tab {
  min-height: 44px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.075);
  background: rgba(255,255,255,0.035);
  color: var(--text);
  text-align: left;
  padding: 7px 9px;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease, transform 0.12s ease;
}

.expression-preset-tab:hover {
  transform: translateY(-1px);
  border-color: rgba(255,255,255,0.16);
}

.expression-preset-tab.is-active {
  background: rgba(49, 130, 255, 0.13);
  border-color: rgba(49, 130, 255, 0.55);
}

.expression-preset-tab .eyebrow {
  display: block;
  margin-bottom: 2px;
}

.expression-preset-tab b {
  display: block;
  font-size: 12px;
  line-height: 1.05;
}

.expression-controls-panel {
  display: none;
}

.expression-controls-panel.is-active {
  display: block;
}

.expression-section-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}

.expression-section-head h2 {
  margin: 1px 0 0 0;
}

.expression-section-head-spaced {
  margin-top: 10px;
}

.expression-wiggle-grid {
  display: grid;
  gap: 6px;
}

.expression-wiggle-row {
  padding: 8px;
  border-radius: 12px;
  background: rgba(255,255,255,0.035);
  border: 1px solid rgba(255,255,255,0.055);
  transition: border-color 0.15s ease, background 0.15s ease, opacity 0.15s ease;
}

.expression-toggle-row {
  cursor: pointer;
  user-select: none;
}

.expression-toggle-row.is-active {
  background: rgba(49, 130, 255, 0.105);
  border-color: rgba(49, 130, 255, 0.48);
}

.expression-toggle-row:not(.is-active) {
  opacity: 0.68;
}

.expression-toggle-row:not(.is-active) .smart-control-row {
  opacity: 0.52;
}

.expression-check {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  margin-bottom: 5px;
  padding: 2px 1px 3px;
  font-size: 10px;
  font-weight: 800;
  color: var(--text);
  letter-spacing: 0.02em;
  user-select: none;
  cursor: pointer;
}

.expression-check input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 1px;
  height: 1px;
}

.expression-toggle-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 29px;
  height: 16px;
  padding: 0 6px;
  border-radius: 999px;
  font-size: 8px;
  line-height: 1;
  color: rgba(255,255,255,0.72);
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.08);
}

.expression-toggle-row.is-active .expression-toggle-badge {
  color: #fff;
  background: rgba(49, 130, 255, 0.72);
  border-color: rgba(255,255,255,0.16);
}

.expression-mini-control {
  margin-top: 3px !important;
}

.expression-direction-row {
  margin-bottom: 5px;
}

@media (max-width: 390px) {
  .expression-page-pro {
    grid-template-columns: 1fr;
    height: auto;
    overflow: auto;
  }
  .expression-preview-card {
    min-height: 250px;
  }
}


/* ===== v90 Text presets: Save/Add + filtered custom FFX controls ===== */
.text-preset-actions {
  display: grid;
  grid-template-columns: auto auto auto auto;
  gap: 5px;
  align-items: center;
}
.text-small-btn {
  border: 1px solid var(--line);
  background: rgba(255,255,255,.035);
  color: var(--text);
  height: 26px;
  padding: 0 8px;
  border-radius: 8px;
  font-size: 9px;
  font-weight: 900;
  cursor: pointer;
}
.text-small-btn:hover {
  transform: translateY(-1px);
  background: rgba(255,255,255,.06);
}
.text-delete-preset-btn {
  border-color: rgba(255,110,110,.45);
  background: rgba(120,28,42,.34);
  color: #ffd8dd;
}
.text-delete-preset-btn:hover {
  background: rgba(150,36,52,.48);
}
.custom-ffx-controls {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--line);
  max-height: 210px;
  overflow: auto;
}
.custom-ffx-note {
  margin-top: 7px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.35;
}
.custom-ffx-options-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 7px;
}
.custom-ffx-preview-wrap {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.custom-ffx-preview-text {
  color: var(--white);
  font-weight: 900;
  font-size: clamp(26px, 6vw, 48px);
  line-height: 1.05;
  white-space: pre-wrap;
  text-align: center;
  will-change: transform, opacity, filter, letter-spacing;
}
.custom-ffx-row label {
  gap: 8px;
}
.custom-ffx-row label b {
  white-space: nowrap;
}
.custom-ffx-preview-seq {
  display: block;
  white-space: pre-wrap;
}
.custom-ffx-piece {
  display: inline-block;
  will-change: transform, opacity, filter, letter-spacing;
  transform-origin: 50% 70%;
}
.custom-ffx-space {
  min-width: .28em;
}


/* v114: Graph display mode + custom tool buttons */
.graph-mode-toggle{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  margin:8px 0 10px;
}
.graph-mode-btn{
  border:1px solid rgba(157,119,255,.26);
  background:rgba(255,255,255,.055);
  color:rgba(255,255,255,.72);
  border-radius:10px;
  padding:7px 8px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
}
.graph-mode-btn.is-active{
  color:#fff;
  border-color:rgba(170,132,255,.58);
  background:rgba(138,91,255,.22);
  box-shadow:0 0 0 1px rgba(194,136,255,.08) inset;
}
#graphSvg{ overflow:visible; }
.custom-tools-box{ min-width:160px; }
.custom-tools-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
}
.custom-tools-grid{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:6px;
}
.custom-tool-btn{
  border:1px solid rgba(157,119,255,.26);
  background:rgba(255,255,255,.055);
  color:#fff;
  border-radius:10px;
  padding:7px 10px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
  cursor:pointer;
  max-width:150px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.custom-tool-btn:hover{ background:rgba(138,91,255,.18); border-color:rgba(170,132,255,.52); }
.square-graph-stage,.graph-square-wrap{ overflow:visible !important; }

/* ===== css/ui_v120.css ===== */
/* AE Toolkit UI v120 — rebuilt shell. All visible panels use normal document flow. */
:root{
  --v-bg:#090b12;
  --v-bg2:#10131b;
  --v-card:#22252c;
  --v-card2:#292c34;
  --v-card3:#30333c;
  --v-line:rgba(255,255,255,.12);
  --v-line2:rgba(255,255,255,.075);
  --v-text:#f7f5fb;
  --v-muted:#868a95;
  --v-blue:#11aefd;
  --v-blue2:#0793e8;
  --v-purple:#6c578f;
  --v-radius:18px;
  --v-radius2:28px;
  --v-gap:10px;
}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;background:var(--v-bg)!important;overflow:hidden;color:var(--v-text);font-family:Inter,Arial,Helvetica,sans-serif;}
body{font-size:12px;}
body.v120-ready>.app-shell{display:none!important;}
button,input,select{font:inherit;box-sizing:border-box;}
button{cursor:pointer;}
#v120App{position:fixed;inset:0;display:flex;flex-direction:column;gap:8px;padding:8px;background:linear-gradient(180deg,#11141c 0%,#090b12 100%);overflow:hidden;}
.v120-nav{flex:0 0 48px;height:48px;width:100%;max-width:760px;margin:0 auto;padding:5px 9px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:center;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:linear-gradient(180deg,#24272d,#1c1f25);box-shadow:0 18px 34px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.07);overflow:hidden;}
.v120-nav-btn{height:36px;min-width:0;border:0;border-radius:999px;background:transparent;color:rgba(255,255,255,.36);display:flex;align-items:center;justify-content:center;position:relative;padding:0;transition:background .15s ease,color .15s ease,box-shadow .15s ease;}
.v120-nav-btn span{display:block;font-size:18px;font-weight:800;line-height:1;letter-spacing:-.04em;}
.v120-nav-btn[data-page="text-presets"] span{font-family:Georgia,serif;font-size:24px;}
.v120-nav-btn[data-page="graph-editor"] span{font-size:25px;transform:translateY(-2px);}
.v120-nav-btn[data-page="toolkit"] span{font-size:28px;font-weight:600;transform:translateY(-1px);}
.v120-nav-btn[data-page="colors"] span{font-size:16px;}
.v120-nav-btn[data-page="expressions"] span{font-size:15px;font-family:Georgia,serif;letter-spacing:-.08em;}
.v120-nav-btn::after{content:"";position:absolute;right:0;top:9px;width:1px;height:18px;background:rgba(255,255,255,.08);}
.v120-nav-btn:last-child::after{display:none;}
.v120-nav-btn:hover{background:rgba(255,255,255,.045);color:rgba(255,255,255,.72);}
.v120-nav-btn.active{background:linear-gradient(180deg,#19bfff,#0399ec);color:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.16),0 8px 24px rgba(0,167,255,.35),inset 0 1px 0 rgba(255,255,255,.28);}
.v120-nav-btn.active::after{display:none;}
.v120-content{flex:1;min-height:0;width:100%;max-width:760px;margin:0 auto;overflow:hidden;position:relative;}
.v120-content>.page{display:none!important;width:100%;height:100%;min-height:0;margin:0!important;padding:0!important;overflow:auto;background:transparent!important;border:0!important;box-shadow:none!important;scrollbar-width:thin;scrollbar-color:#73529d transparent;}
.v120-content>.page.active{display:block!important;}
.v120-content>.page::-webkit-scrollbar{width:6px;height:6px}.v120-content>.page::-webkit-scrollbar-thumb{background:#7554a4;border-radius:999px}.v120-content>.page::-webkit-scrollbar-track{background:transparent}
.card,.collapsible-block,.saved-library-card,.graph-preview-card,.graph-list-card,.expression-preview-card,.expression-controls-card{background:linear-gradient(180deg,rgba(255,255,255,.047),rgba(255,255,255,.026))!important;border:1px solid var(--v-line)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.065)!important;border-radius:var(--v-radius)!important;}
button,.primary-btn,.text-small-btn,.large-function-btn,.layer-name-btn,.graph-side-btn,.graph-values-btn,.graph-apply-wide,.saved-subtab,.saved-mode-btn,.expression-preset-tab,.expression-preset-btn,.segment-btn,.graph-mode-btn{min-height:32px;border-radius:12px;border:1px solid rgba(255,255,255,.13);background:linear-gradient(180deg,#30333b,#272a31);color:var(--v-text);font-weight:800;letter-spacing:.005em;box-shadow:inset 0 1px 0 rgba(255,255,255,.08);text-shadow:none;}
.primary-btn,.graph-apply-wide,.segment-btn.active,.saved-subtab.active,.saved-mode-btn.active,.graph-mode-btn.is-active,.expression-preset-tab.is-active,.expression-preset-btn.active{background:linear-gradient(180deg,#18bfff,#0598ec)!important;border-color:rgba(32,185,255,.7)!important;color:var(--qwix-accent-ink,var(--accent-ink,#fff8ed)) !important;box-shadow:0 8px 20px rgba(0,160,255,.25), inset 0 1px 0 rgba(255,255,255,.25)!important;}
input[type="text"],input[type="number"],input[type="date"],select,.modal-input{height:32px;min-height:32px;border-radius:12px!important;border:1px solid rgba(255,255,255,.11)!important;background:#171a20!important;color:#fff!important;outline:none;padding:0 10px;min-width:0;}
select{appearance:auto;}
input[type="range"]{width:100%;min-width:0;height:18px;margin:2px 0 0;display:block;background:transparent;-webkit-appearance:none;appearance:none;}
input[type="range"]::-webkit-slider-runnable-track{height:5px;border-radius:999px;background:#12151a;box-shadow:inset 0 1px 2px rgba(0,0,0,.65);} 
input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;border-radius:50%;border:0;background:var(--v-blue);margin-top:-4px;box-shadow:0 4px 10px rgba(0,160,255,.35);}
.smart-control-row{margin:0 0 9px!important;padding:0!important;min-width:0;}
.smart-control-row label{display:flex!important;align-items:center;justify-content:space-between;gap:8px;margin:0 0 3px!important;font-size:12px;line-height:1.15;color:#f1f1f4;font-weight:700;}
.smart-control-row label b{font-size:10px;color:#fff;opacity:.9;font-weight:800;white-space:nowrap;}
.smart-select-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 9px!important;min-width:0;}
.eyebrow,.meta-row{display:none!important;}
/* TEXT */
#page-text-presets.v120-text-page{overflow:hidden;}
#page-text-presets .text-subnav{display:none!important;}
#page-text-presets .text-page-compact{width:100%;height:100%;display:grid!important;grid-template-columns:72px minmax(0,1fr);gap:10px;align-items:start;overflow:hidden;padding:0;}
#page-text-presets .preset-icons-card{grid-column:1;grid-row:1;width:72px!important;min-width:72px!important;height:auto!important;max-height:100%;padding:8px 7px!important;border-radius:30px!important;overflow:auto!important;background:linear-gradient(180deg,#23262d,#1d2026)!important;}
#presetGrid.icon-only-grid{display:flex!important;flex-direction:column!important;gap:7px!important;align-items:center!important;justify-content:flex-start!important;margin:0!important;padding:0!important;width:100%!important;overflow:visible!important;}
#presetGrid .preset-card{width:48px!important;height:28px!important;min-width:48px!important;max-width:48px!important;min-height:28px!important;margin:0!important;padding:0!important;border-radius:13px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:linear-gradient(180deg,#34313f,#282635)!important;border:1px solid rgba(255,255,255,.13)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;overflow:hidden!important;position:relative!important;}
#presetGrid .preset-card.active{height:46px!important;background:linear-gradient(180deg,#22c2ff,#0798e8)!important;border-color:rgba(49,188,255,.75)!important;box-shadow:0 8px 18px rgba(0,165,255,.28),inset 0 1px 0 rgba(255,255,255,.26)!important;}
#presetGrid .preset-card .preset-thumb,#presetGrid .preset-icon,#presetGrid .icon-tile{width:100%!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;background:transparent!important;border:0!important;box-shadow:none!important;margin:0!important;padding:0!important;}
#presetGrid .icon-mini-text{font-size:12px!important;line-height:1!important;font-weight:900!important;color:#f5f1ff!important;letter-spacing:-.02em;}
#presetGrid .preset-card.active .icon-mini-text{font-size:13px!important;color:white!important;}
.v120-text-rail-actions{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:10px;}
.v120-text-rail-actions .text-small-btn{width:52px!important;height:48px!important;min-height:48px!important;border-radius:50%!important;padding:0!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;font-size:11px;text-transform:none!important;}
.v120-text-rail-actions .text-small-btn small{display:block;margin-top:1px;font-size:8px;color:var(--v-muted);line-height:1;}
#page-text-presets .preview-card{grid-column:2;grid-row:1;min-width:0!important;width:100%!important;max-width:100%!important;height:100%;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;gap:8px;}
#page-text-presets .preview-card>.mini-head{order:2;display:block!important;padding:0!important;margin:0!important;background:transparent!important;border:0!important;box-shadow:none!important;}
#page-text-presets .preview-card>.mini-head>div:first-child{display:none!important;}
#page-text-presets .text-preset-actions{display:block!important;width:100%;}
#page-text-presets .text-preset-actions .text-small-btn{display:none!important;}
#page-text-presets #applySelectedPresetBtn{width:100%!important;height:40px!important;border-radius:17px!important;text-transform:none!important;font-size:14px;}
#page-text-presets #v120TextApplyRow{margin:0 0 8px!important;}
#page-text-presets #v120TextApplyRow #applySelectedPresetBtn{display:block!important;}
#page-text-presets .preset-stage{order:1;width:100%!important;height:138px!important;min-height:138px!important;max-height:138px!important;margin:0!important;border-radius:28px!important;background:linear-gradient(180deg,#24272e,#20232a)!important;border:1px solid var(--v-line)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:center!important;}
#page-text-presets #smartRevealControls,#page-text-presets #customFfxControls{order:3;width:100%!important;min-width:0!important;border-radius:18px!important;border:1px solid var(--v-line)!important;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.028))!important;padding:8px!important;overflow:auto!important;max-height:calc(100vh - 260px)!important;}
#page-text-presets .smart-preview-input{width:100%!important;text-align:center;font-weight:850;margin:0 0 8px!important;}
#page-text-presets #smartModeRow,#page-text-presets #smartSplitDirectionRow{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
#page-text-presets #smartSplitDirectionRow select:nth-child(2){grid-column:auto;}
.v120-section-title{font-size:13px;font-weight:900;margin:0 0 6px;color:#fff;}
/* GRAPH */
#page-graph-editor{overflow:auto!important;}
#graphPagePro.v120-graph-layout{display:flex!important;flex-direction:column!important;gap:10px!important;width:100%!important;max-width:460px;margin:0 auto!important;padding:0!important;}
#graphPagePro .graph-left-pane{width:100%!important;max-width:100%!important;min-width:0!important;padding:10px!important;display:flex!important;flex-direction:column!important;gap:10px!important;overflow:hidden!important;}
#graphPagePro .graph-head{display:none!important;}
#graphPagePro .graph-square-wrap{width:100%!important;height:auto!important;aspect-ratio:1/1;min-height:0!important;margin:0!important;order:1;}
#graphPagePro .graph-stage{width:100%!important;height:100%!important;min-height:0!important;border-radius:8px!important;background:#20232a!important;border:1px solid rgba(255,255,255,.09)!important;overflow:hidden!important;}
#graphSvg{width:100%!important;height:100%!important;display:block;}
#graphPagePro .graph-mode-toggle{order:2;display:flex!important;gap:6px!important;margin:0!important;position:static!important;}
#graphPagePro .graph-mode-btn{height:28px!important;min-height:28px!important;padding:0 9px!important;border-radius:9px!important;font-size:9px!important;}
#graphPagePro .graph-values-row{order:3;display:grid!important;grid-template-columns:76px minmax(0,1fr) 76px!important;gap:8px!important;margin:0!important;width:100%!important;}
#graphPagePro .graph-side-btn,#graphPagePro .graph-values-btn{height:38px!important;border-radius:20px!important;min-width:0!important;margin:0!important;}
#graphPagePro .graph-values-btn{font-size:12px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#graphPagePro .graph-apply-wide{order:4;width:100%!important;height:40px!important;margin:0!important;border-radius:17px!important;font-size:14px!important;text-transform:none!important;}
#graphPagePro .hidden-graph-controls,#graphPagePro .graph-resizer{display:none!important;}
#graphPagePro .graph-right-pane{width:100%!important;max-width:100%!important;padding:10px!important;max-height:185px!important;overflow:auto!important;}
#graphPresetGrid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(74px,1fr))!important;gap:8px!important;}
#graphPresetGrid .graph-preset-card{min-height:64px!important;border-radius:13px!important;overflow:hidden!important;}
/* TOOLS */
#page-toolkit{overflow:auto!important;}
#page-toolkit .tools-design-page,#page-toolkit .tools-main-card{width:100%!important;height:auto!important;min-height:0!important;padding:0!important;margin:0!important;background:transparent!important;border:0!important;box-shadow:none!important;}
#page-toolkit .tools-main-card{display:grid!important;grid-template-columns:168px minmax(0,1fr)!important;grid-template-areas:"anchor layers" "anchor functions" "align align"!important;gap:8px!important;align-items:start;}
#page-toolkit .collapse-title-row,.tool-subtitle-line,.drag-dots{display:none!important;}
#page-toolkit .collapsible-block{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;}
#page-toolkit .collapse-content{display:block!important;padding:0!important;margin:0!important;}
#page-toolkit .anchor-align-card-v5{grid-area:anchor!important;}
#page-toolkit .anchor-align-content-v5{display:block!important;}
#page-toolkit .anchor-subblock{display:block!important;}
#page-toolkit .anchor-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:6px!important;}
#page-toolkit .anchor-grid button,#page-toolkit .align-grid button{height:38px!important;min-height:38px!important;width:100%!important;border-radius:10px!important;font-size:16px!important;padding:0!important;}
#page-toolkit .align-subblock{display:block!important;}
#page-toolkit .v120-align-card{grid-area:align!important;border:1px solid var(--v-line)!important;border-radius:14px!important;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.025))!important;padding:8px!important;min-width:0;}
#page-toolkit .v120-align-card .align-subblock{display:grid!important;grid-template-columns:170px minmax(0,1fr)!important;gap:8px!important;align-items:center;}
#page-toolkit .align-target-select{width:100%!important;height:42px!important;border-radius:12px!important;font-size:15px;font-weight:800;}
#page-toolkit .align-grid{display:grid!important;grid-template-columns:repeat(6,minmax(34px,1fr))!important;gap:6px!important;}
#page-toolkit .layers-card-v5{grid-area:layers!important;}
#page-toolkit .layers-wide-row{display:grid!important;grid-template-columns:repeat(4,minmax(70px,1fr)) 48px!important;gap:7px!important;align-items:stretch;}
#page-toolkit .layer-name-btn{height:44px!important;min-height:44px!important;border-radius:11px!important;padding:0 10px!important;font-size:15px!important;text-transform:none!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#page-toolkit .tools-functions-card-v5{grid-area:functions!important;}
#page-toolkit .tools-functions-layout,#page-toolkit .tools-functions-layout-v14{display:block!important;}
#page-toolkit .tools-functions-row,#page-toolkit .tools-functions-row-top,#page-toolkit .tools-functions-row-bottom{display:grid!important;grid-template-columns:repeat(4,minmax(70px,1fr))!important;gap:7px!important;margin:0 0 7px!important;width:100%!important;}
#page-toolkit .large-function-btn{height:40px!important;min-height:40px!important;border-radius:11px!important;padding:0 8px!important;font-size:12px!important;line-height:1.05!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#page-toolkit .splitter-function-box,#page-toolkit .duplicate-comp-box,#page-toolkit .camera-null-rig-box,#page-toolkit .custom-tools-box{display:contents!important;}
#page-toolkit .split-mode-inline{display:flex!important;grid-column:span 2;gap:7px!important;}
#page-toolkit .split-mode-inline .segment-btn{flex:1;height:28px!important;min-height:28px!important;font-size:10px!important;}
#page-toolkit .duplicate-precomps-checkbox,#page-toolkit .camera-rig-null-count{display:flex!important;align-items:center;justify-content:center;gap:5px;height:28px!important;border-radius:10px;background:#11141a;border:1px solid rgba(255,255,255,.08);font-size:10px;color:var(--v-muted);grid-column:span 2;}
#page-toolkit .camera-rig-null-count input{height:22px!important;min-height:22px!important;width:46px!important;text-align:center;border-radius:8px!important;}
#page-toolkit .custom-tools-actions{display:contents!important;}
#page-toolkit #customToolsGrid{grid-column:1/-1;display:grid!important;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:7px!important;}
#page-toolkit .colors-card-v5{display:none!important;}
/* SAVED / COLORS */
#page-colors .saved-page{width:100%!important;max-width:460px;margin:0 auto!important;display:flex!important;flex-direction:column!important;gap:8px!important;}
#page-colors .saved-subtabs{display:flex!important;gap:6px!important;margin:0!important;overflow:auto!important;padding:0 0 2px!important;}
#page-colors .saved-subtab{height:28px!important;min-height:28px!important;border-radius:10px!important;padding:0 12px!important;font-size:10px!important;flex:0 0 auto;}
#page-colors .saved-library-card{padding:10px!important;width:100%!important;overflow:hidden!important;}
#page-colors .mini-head{display:block!important;margin:0 0 8px!important;}
#page-colors .mini-head h2{font-size:16px!important;line-height:1.05!important;margin:0!important;}
#page-colors .color-save-row,#page-colors .gradient-input-grid,#page-colors .template-save-row,#page-colors .font-save-row{display:grid!important;grid-template-columns:1fr auto!important;gap:8px!important;align-items:center;margin:0 0 8px!important;}
#page-colors #savedMixedGrid,#page-colors #popularColorsGrid,#page-colors #popularGradientsGrid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(32px,1fr))!important;gap:7px!important;}
#page-colors .popular-color-btn,#page-colors .saved-color-btn{width:100%!important;aspect-ratio:1/1;border-radius:8px!important;min-height:0!important;border:1px solid rgba(255,255,255,.17)!important;}
/* EXPRESSIONS */
#page-expressions .expression-page-pro{width:100%!important;max-width:430px;margin:0 auto!important;display:flex!important;flex-direction:column!important;gap:10px!important;}
#page-expressions .expression-preview-card,#page-expressions .expression-controls-card{padding:10px!important;overflow:hidden!important;}
#page-expressions .expression-preview-card .mini-head{display:none!important;}
#page-expressions .expression-stage{height:220px!important;border-radius:13px!important;background:#22262d!important;border:1px solid rgba(255,255,255,.09)!important;margin:0!important;overflow:hidden!important;}
#page-expressions .expression-apply-row{display:block!important;margin:8px 0 0!important;}
#page-expressions .expression-apply-action{width:100%!important;height:36px!important;border-radius:14px!important;}
#page-expressions .expression-hint-row{display:none!important;}
#page-expressions .expression-preset-switch,#page-expressions .expression-preset-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin:0 0 10px!important;}
#page-expressions .expression-preset-tab,#page-expressions .expression-preset-btn{height:32px!important;min-height:32px!important;border-radius:10px!important;padding:0 12px!important;text-align:left;font-size:11px!important;}
#page-expressions .expression-preset-tab .eyebrow{display:none!important;}
#page-expressions .expression-preset-tab b{font:inherit!important;}
#page-expressions .expression-controls-panel{display:none!important;background:transparent!important;border:0!important;padding:0!important;margin:0!important;}
#page-expressions .expression-controls-panel.active,#page-expressions .expression-controls-panel.is-active{display:block!important;}
#page-expressions .expression-section-head{display:none!important;}
/* empty */
.v120-empty-page{display:none;}
.v120-empty-page.active{display:flex!important;align-items:center;justify-content:center;}
.v120-empty-card{width:min(100%,360px);padding:24px;border:1px solid var(--v-line);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.025));text-align:center;}
.v120-empty-icon{font-size:28px;color:var(--v-muted);margin-bottom:8px;}
.v120-empty-card h2{margin:0 0 8px;font-size:20px;}.v120-empty-card p{margin:0;color:var(--v-muted);line-height:1.35;}
@media(max-width:560px){
  #v120App{padding:7px;gap:7px;}
  .v120-nav{height:44px;flex-basis:44px;padding:4px 7px;}
  .v120-nav-btn{height:34px;}
  #page-text-presets .text-page-compact{grid-template-columns:66px minmax(0,1fr);gap:8px;}
  #page-text-presets .preset-icons-card{width:66px!important;min-width:66px!important;padding:7px 6px!important;}
  #presetGrid .preset-card{width:44px!important;min-width:44px!important;max-width:44px!important;}
  #page-text-presets .preset-stage{height:126px!important;min-height:126px!important;max-height:126px!important;border-radius:24px!important;}
  #page-toolkit .tools-main-card{grid-template-columns:150px minmax(0,1fr)!important;}
  #page-toolkit .layers-wide-row{grid-template-columns:repeat(2,minmax(72px,1fr))!important;}
  #page-toolkit .tools-functions-row,#page-toolkit .tools-functions-row-top,#page-toolkit .tools-functions-row-bottom{grid-template-columns:repeat(2,minmax(72px,1fr))!important;}
  #page-toolkit .v120-align-card .align-subblock{grid-template-columns:1fr!important;}
  #page-toolkit .align-grid{grid-template-columns:repeat(3,1fr)!important;}
}
@media(max-width:360px){
  #v120App{padding:6px;}
  .v120-nav{gap:0;}
  #page-text-presets .text-page-compact{grid-template-columns:60px minmax(0,1fr);gap:7px;}
  #page-text-presets .preset-icons-card{width:60px!important;min-width:60px!important;border-radius:26px!important;}
  #presetGrid .preset-card{width:40px!important;min-width:40px!important;max-width:40px!important;height:26px!important;}
  #presetGrid .preset-card.active{height:42px!important;}
  .v120-text-rail-actions .text-small-btn{width:46px!important;height:44px!important;min-height:44px!important;}
  #page-toolkit .tools-main-card{grid-template-columns:1fr!important;grid-template-areas:"anchor" "layers" "functions" "align"!important;}
  #page-toolkit .anchor-grid{max-width:150px;}
}

/* ===== css/ui_v124.css ===== */
/* v121 text-page repair: preserve v120 shell, fix visibility, spacing and rail actions */
:root{--v121-gap:10px;--v121-rail:82px;}
#page-text-presets.v120-text-page{overflow:hidden!important;}
#page-text-presets .text-page-compact{
  display:grid!important;
  grid-template-columns:var(--v121-rail) minmax(0,1fr)!important;
  gap:12px!important;
  align-items:start!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  padding:0!important;
}
#page-text-presets .v121-text-left-stack{
  grid-column:1!important;grid-row:1!important;
  min-width:0!important;width:var(--v121-rail)!important;
  height:100%!important;min-height:0!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;
  gap:14px!important;overflow:visible!important;
}
#page-text-presets .preset-icons-card{
  grid-column:auto!important;grid-row:auto!important;
  width:100%!important;min-width:0!important;max-width:100%!important;
  height:auto!important;max-height:none!important;
  padding:11px 10px!important;border-radius:30px!important;
  overflow:visible!important;
}
#presetGrid.icon-only-grid{
  display:flex!important;flex-direction:column!important;gap:9px!important;align-items:center!important;
}
#presetGrid .preset-card{
  width:50px!important;min-width:50px!important;max-width:50px!important;height:31px!important;min-height:31px!important;
  border-radius:13px!important;
}
#presetGrid .preset-card.active{height:47px!important;border-radius:14px!important;}
#presetGrid .icon-mini-text{font-size:12px!important;font-weight:900!important;}
#presetGrid .preset-card.active .icon-mini-text{font-size:13px!important;}
#page-text-presets .v121-text-rail-actions{
  display:flex!important;flex-direction:column!important;align-items:center!important;gap:12px!important;
  width:100%!important;min-width:0!important;overflow:visible!important;
}
#page-text-presets .v121-text-rail-actions .text-small-btn{
  /* opacity intentionally not forced here: an !important opacity:1 outranks
     the page-entrance keyframes in the cascade, which froze Save/Import at
     full opacity while every other block faded in (they "flashed" at their
     final position). Visibility repair keeps display/visibility only. */
  display:flex!important;visibility:visible!important;
  width:62px!important;height:62px!important;min-height:62px!important;border-radius:999px!important;
  padding:0!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;
  font-size:13px!important;line-height:1!important;text-transform:none!important;
  background:linear-gradient(180deg,#2d3037,#1f2228)!important;border:1px solid rgba(255,255,255,.13)!important;color:#fff!important;
}
#page-text-presets .v121-text-rail-actions .text-small-btn small{font-size:8px!important;margin-top:3px!important;color:rgba(255,255,255,.44)!important;}
#page-text-presets .v121-text-rail-actions #deleteTextPresetBtn[style*="display: none"],
#page-text-presets .v121-text-rail-actions #deleteTextPresetBtn[style*="display:none"]{display:none!important;}
#page-text-presets .preview-card{
  grid-column:2!important;grid-row:1!important;
  min-width:0!important;width:100%!important;height:100%!important;
  display:flex!important;flex-direction:column!important;gap:12px!important;overflow:hidden!important;
}
#page-text-presets .preset-stage{
  order:1!important;height:156px!important;min-height:156px!important;max-height:156px!important;
  border-radius:28px!important;margin:0!important;flex:0 0 auto!important;
}
#page-text-presets .preview-card>.mini-head{display:none!important;}
#page-text-presets .meta-row,#presetPreviewFile,#presetPreviewType{display:none!important;}
#page-text-presets #smartRevealControls,
#page-text-presets #customFfxControls{
  order:2!important;width:100%!important;min-width:0!important;
  padding:10px!important;border-radius:22px!important;overflow:auto!important;
  max-height:calc(100vh - 246px)!important;min-height:0!important;
}
#page-text-presets #smartRevealControls[style*="display: none"],
#page-text-presets #smartRevealControls[style*="display:none"],
#page-text-presets #customFfxControls[style*="display: none"],
#page-text-presets #customFfxControls[style*="display:none"]{display:none!important;}
/* Hide the editable preview text input only from UI; JS still keeps the value. */
#page-text-presets #smartPreviewInput{display:none!important;}
#page-text-presets .v121-smart-top-controls{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px!important;margin:0 0 10px!important;
}
#page-text-presets .v121-smart-top-controls select{
  width:100%!important;height:36px!important;min-height:36px!important;border-radius:14px!important;
  font-size:13px!important;font-weight:800!important;text-align:center!important;
}
#page-text-presets .v121-smart-top-controls select[style*="display: none"],
#page-text-presets .v121-smart-top-controls select[style*="display:none"]{display:none!important;}
#page-text-presets #smartModeRow,#page-text-presets #smartSplitDirectionRow{display:none!important;}
#page-text-presets #v120TextTitle{display:none!important;}
#page-text-presets #v120TextApplyRow{margin:0 0 12px!important;}
#page-text-presets #applySelectedPresetBtn{height:43px!important;min-height:43px!important;border-radius:18px!important;font-size:15px!important;}
/* Respect inline visibility from main_v114; do not force hidden rows to grid. */
#page-text-presets .smart-select-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important;margin:0 0 10px!important;}
#page-text-presets .smart-select-row:not([style*="display: none"]):not([style*="display:none"]){display:grid!important;}
#page-text-presets .smart-select-row[style*="display: none"],
#page-text-presets .smart-select-row[style*="display:none"]{display:none!important;}
#page-text-presets .smart-control-row:not([style*="display: none"]):not([style*="display:none"]){display:block!important;}
#page-text-presets .smart-control-row[style*="display: none"],
#page-text-presets .smart-control-row[style*="display:none"]{display:none!important;}
#page-text-presets .smart-control-row{margin:0 0 12px!important;}
#page-text-presets .smart-control-row label{font-size:12px!important;letter-spacing:.02em;text-transform:none!important;margin-bottom:5px!important;}
#page-text-presets .smart-control-row label b{font-size:11px!important;}
#page-text-presets input[type="range"]{height:18px!important;}
#page-text-presets input[type="range"]::-webkit-slider-runnable-track{height:5px!important;}
#page-text-presets input[type="range"]::-webkit-slider-thumb{width:14px!important;height:14px!important;margin-top:-4.5px!important;}
@media(max-width:460px){
  :root{--v121-rail:70px;}
  #page-text-presets .text-page-compact{gap:9px!important;}
  #page-text-presets .preset-icons-card{padding:9px 7px!important;border-radius:26px!important;}
  #presetGrid .preset-card{width:44px!important;min-width:44px!important;max-width:44px!important;height:29px!important;}
  #presetGrid .preset-card.active{height:44px!important;}
  #page-text-presets .v121-text-rail-actions .text-small-btn{width:54px!important;height:54px!important;min-height:54px!important;font-size:12px!important;}
  #page-text-presets .preset-stage{height:126px!important;min-height:126px!important;max-height:126px!important;}
  #page-text-presets #smartRevealControls,#page-text-presets #customFfxControls{max-height:calc(100vh - 215px)!important;}
  #page-text-presets .v121-smart-top-controls{grid-template-columns:1fr;gap:7px!important;}
}
#page-text-presets .v121-hidden-row{display:none!important;}


/* v122 polish: separators, contained scrolling preset rail, clear button, slider fill */
:root{--v122-rail-w:74px;--v122-line:rgba(255,255,255,.11);--v122-muted:rgba(255,255,255,.46);} 
#tabbar.compact-tabbar{display:flex!important;align-items:center!important;gap:0!important;padding:7px 10px!important;border-radius:24px!important;}
#tabbar.compact-tabbar .tab-btn{position:relative!important;flex:1 1 0!important;min-width:0!important;height:38px!important;padding:0 8px!important;border-radius:14px!important;background:transparent!important;border:none!important;box-shadow:none!important;color:rgba(255,255,255,.52)!important;opacity:.72!important;}
#tabbar.compact-tabbar .tab-btn + .tab-btn::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:1px;background:var(--v122-line);} 
#tabbar.compact-tabbar .tab-btn.active{background:linear-gradient(180deg,#1fb5ff,#1597f2)!important;color:#fff!important;opacity:1!important;box-shadow:0 0 0 1px rgba(255,255,255,.08) inset, 0 10px 28px rgba(23,164,255,.28)!important;}
#tabbar.compact-tabbar .tab-btn:not(.active){background:transparent!important;}

#page-text-presets .text-page-compact{grid-template-columns:var(--v122-rail-w) minmax(0,1fr)!important;gap:14px!important;}
#page-text-presets .v121-text-left-stack{width:var(--v122-rail-w)!important;gap:12px!important;overflow:hidden!important;}
#page-text-presets .preset-icons-card{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;height:auto!important;max-height:calc(100vh - 164px)!important;min-height:0!important;padding:8px 6px!important;overflow:hidden!important;border-radius:30px!important;}
#presetGrid.icon-only-grid{display:block!important;overflow-y:auto!important;overflow-x:hidden!important;min-height:0!important;padding-right:4px!important;scrollbar-width:thin;}
#presetGrid.icon-only-grid::-webkit-scrollbar{width:6px;} 
#presetGrid.icon-only-grid::-webkit-scrollbar-thumb{background:rgba(180,120,255,.7);border-radius:8px;} 
#presetGrid.icon-only-grid .preset-card{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;max-width:none!important;min-width:0!important;height:42px!important;min-height:42px!important;margin:0!important;border-radius:0!important;background:transparent!important;border:none!important;box-shadow:none!important;opacity:.5!important;position:relative!important;}
#presetGrid.icon-only-grid .preset-card::after{content:"";position:absolute;left:10px;right:10px;bottom:0;height:1px;background:var(--v122-line);} 
#presetGrid.icon-only-grid .preset-card:last-child::after{display:none!important;} 
#presetGrid.icon-only-grid .preset-card.active{height:54px!important;border-radius:16px!important;background:linear-gradient(180deg,#1fb5ff,#1597f2)!important;opacity:1!important;box-shadow:0 0 0 1px rgba(255,255,255,.08) inset,0 10px 24px rgba(23,164,255,.22)!important;}
#presetGrid.icon-only-grid .preset-card.active::after{display:none!important;} 
#presetGrid .icon-mini-text{font-size:13px!important;font-weight:900!important;letter-spacing:.01em!important;}
#presetGrid .preset-card:not(.active) .icon-mini-text{color:rgba(255,255,255,.72)!important;} 
#page-text-presets .v121-text-rail-actions{width:100%!important;gap:10px!important;padding-bottom:4px!important;flex:0 0 auto!important;}
#page-text-presets .v121-text-rail-actions .text-small-btn{width:64px!important;height:64px!important;min-height:64px!important;border-radius:999px!important;}
#page-text-presets .v121-smart-top-controls{order:0!important;margin:0 0 12px!important;}
#page-text-presets #v120TextApplyRow{display:grid!important;grid-template-columns:minmax(0,1fr) 114px!important;gap:12px!important;margin:0 0 14px!important;align-items:center!important;}
#page-text-presets #applySelectedPresetBtn{grid-column:1!important;height:46px!important;min-height:46px!important;}
#page-text-presets #clearSelectedPresetBtn{grid-column:2!important;height:46px!important;min-height:46px!important;border-radius:18px!important;font-size:15px!important;font-weight:800!important;color:#ff3a3a!important;border:2px solid rgba(255,0,0,.85)!important;background:rgba(27,20,20,.5)!important;box-shadow:none!important;}
#page-text-presets #clearSelectedPresetBtn:hover{background:rgba(62,22,22,.6)!important;}
#page-text-presets .smart-control-row label{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:8px!important;color:#fff!important;font-weight:800!important;}
#page-text-presets .smart-control-row label b{color:rgba(255,255,255,.82)!important;font-weight:700!important;}
#page-text-presets input[type="range"]{-webkit-appearance:none!important;appearance:none!important;height:5px!important;border-radius:999px!important;outline:none!important;background:linear-gradient(90deg,#1db6ff 0%, #1db6ff 30%, rgba(10,14,22,0.92) 30%, rgba(10,14,22,0.92) 100%)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)!important;}
#page-text-presets input[type="range"]::-webkit-slider-runnable-track{height:5px!important;border-radius:999px!important;background:transparent!important;}
#page-text-presets input[type="range"]::-moz-range-track{height:5px!important;border-radius:999px!important;background:transparent!important;}
#page-text-presets input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none!important;appearance:none!important;width:16px!important;height:16px!important;border-radius:50%!important;background:#1db6ff!important;border:none!important;box-shadow:0 0 0 4px rgba(29,182,255,.14)!important;margin-top:-5.5px!important;}
#page-text-presets input[type="range"]::-moz-range-thumb{width:16px!important;height:16px!important;border-radius:50%!important;background:#1db6ff!important;border:none!important;box-shadow:0 0 0 4px rgba(29,182,255,.14)!important;}

@media(max-width:520px){
  #page-text-presets #v120TextApplyRow{grid-template-columns:minmax(0,1fr) 96px!important;gap:10px!important;}
  #page-text-presets #clearSelectedPresetBtn{font-size:14px!important;}
}


/* v123: live ranges, aligned rail, soft transient scrollbar, stable button row */
#page-text-presets .v121-smart-top-controls{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  margin:0 0 12px!important;
  align-items:center!important;
}
#page-text-presets .v121-smart-top-controls select{
  min-width:0!important;
  width:100%!important;
  height:36px!important;
  padding:0 28px 0 13px!important;
  font-size:13px!important;
}
#page-text-presets #v120TextApplyRow,
#page-text-presets #v121TextApplyRow{
  display:grid!important;
  grid-template-columns:minmax(150px,1fr) minmax(92px,116px)!important;
  gap:12px!important;
  align-items:center!important;
  margin:0 0 14px!important;
  width:100%!important;
}
#page-text-presets #applySelectedPresetBtn,
#page-text-presets #clearSelectedPresetBtn{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  align-self:center!important;
  justify-self:stretch!important;
  height:46px!important;
  min-height:46px!important;
}
#page-text-presets #applySelectedPresetBtn{grid-column:1!important;grid-row:1!important;}
#page-text-presets #clearSelectedPresetBtn{grid-column:2!important;grid-row:1!important;}

/* left preset rail: no layout shift, soft oval active state */
#page-text-presets .preset-icons-card{
  width:100%!important;
  padding:7px 5px!important;
  overflow:hidden!important;
}
#presetGrid.icon-only-grid{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:0 3px 0 0!important;
  scrollbar-width:none!important;
}
#presetGrid.icon-only-grid .preset-card{
  width:56px!important;
  min-width:56px!important;
  max-width:56px!important;
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  margin:0!important;
  border-radius:999px!important;
  flex:0 0 44px!important;
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
  opacity:.48!important;
  transform:none!important;
  transition:opacity .18s ease, background .18s ease, box-shadow .18s ease!important;
}
#presetGrid.icon-only-grid .preset-card::after{
  left:9px!important;
  right:9px!important;
  bottom:0!important;
  opacity:.7!important;
}
#presetGrid.icon-only-grid .preset-card.active{
  width:56px!important;
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  flex-basis:44px!important;
  border-radius:18px!important;
  opacity:1!important;
  background:linear-gradient(180deg,#19b7ff 0%,#129fec 100%)!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.10) inset,0 9px 22px rgba(19,165,255,.26)!important;
}
#presetGrid.icon-only-grid .preset-card.active::after{display:none!important;}
#presetGrid.icon-only-grid .preset-card:not(.active):hover{opacity:.75!important;background:rgba(255,255,255,.035)!important;}
#presetGrid.icon-only-grid::-webkit-scrollbar{width:3px!important;}
#presetGrid.icon-only-grid::-webkit-scrollbar-track{background:transparent!important;}
#presetGrid.icon-only-grid::-webkit-scrollbar-thumb{background:rgba(154,99,225,0)!important;border-radius:999px!important;}
#presetGrid.icon-only-grid.is-scrolling::-webkit-scrollbar-thumb{background:rgba(154,99,225,.42)!important;}
#presetGrid.icon-only-grid.scrolled-idle::-webkit-scrollbar-thumb{background:rgba(154,99,225,0)!important;transition:background .45s ease!important;}

/* range: value is driven by --range-fill from JS; no static hardcoded fill */
#page-text-presets input[type="range"]{
  --range-fill:0%;
  background:linear-gradient(90deg,#18b9ff 0%,#18b9ff var(--range-fill),rgba(9,12,20,.92) var(--range-fill),rgba(9,12,20,.92) 100%)!important;
}
#page-text-presets input[type="range"]::-webkit-slider-runnable-track{background:transparent!important;}
#page-text-presets input[type="range"]::-moz-range-track{background:transparent!important;}

@media(max-width:420px){
  #page-text-presets .v121-smart-top-controls{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;}
  #page-text-presets .v121-smart-top-controls select{font-size:12px!important;padding-left:10px!important;padding-right:22px!important;}
  #page-text-presets #v120TextApplyRow,#page-text-presets #v121TextApplyRow{grid-template-columns:minmax(120px,1fr) minmax(82px,96px)!important;gap:9px!important;}
}
@media(max-width:320px){
  #page-text-presets .v121-smart-top-controls{grid-template-columns:1fr!important;}
  #page-text-presets #v120TextApplyRow,#page-text-presets #v121TextApplyRow{grid-template-columns:1fr!important;}
  #page-text-presets #clearSelectedPresetBtn{grid-column:1!important;grid-row:2!important;}
}


/* v124 refinement: solid product colors, better spacing, separate slider block, wider graph */
:root{
  --brand-bg:#1E1E20;
  --brand-card:#2A2A2D;
  --brand-blue:#008AFD;
  --brand-line:rgba(255,255,255,.10);
}
body, .app-shell, .page{background:var(--brand-bg)!important;}
.card, .preset-stage, #page-text-presets #smartRevealControls, #page-text-presets #customFfxControls, #page-graph-editor .graph-left-pane, #page-graph-editor .graph-right-pane, .preset-icons-card{
  background:var(--brand-card)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:none!important;
}
#tabbar.compact-tabbar{background:var(--brand-card)!important;border:1px solid rgba(255,255,255,.10)!important;box-shadow:none!important;}
#tabbar.compact-tabbar .tab-btn.active{background:var(--brand-blue)!important;box-shadow:none!important;border-radius:17px!important;}
#tabbar.compact-tabbar .tab-btn{color:rgba(255,255,255,.46)!important;opacity:1!important;}
#tabbar.compact-tabbar .tab-btn + .tab-btn::before{background:rgba(255,255,255,.08)!important;}

#page-text-presets{padding-top:8px!important;}
#page-text-presets .text-page-compact{gap:12px!important;align-items:start!important;}
#page-text-presets .preview-card{gap:10px!important;}
#page-text-presets .preset-stage{height:128px!important;min-height:128px!important;max-height:128px!important;border-radius:26px!important;display:flex!important;align-items:center!important;justify-content:center!important;}
#page-text-presets #presetStage .smart-preview-wrap{display:flex!important;align-items:center!important;justify-content:center!important;height:100%!important;padding:0!important;}
#page-text-presets #presetStage .smart-preview-text{display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1.08!important;padding:0!important;margin:0!important;}

#page-text-presets .v121-text-left-stack{gap:10px!important;}
#page-text-presets .preset-icons-card{padding:7px 4px!important;border-radius:28px!important;max-height:calc(100vh - 140px)!important;}
#presetGrid.icon-only-grid{padding:0 2px!important;}
#presetGrid.icon-only-grid .preset-card{
  width:54px!important;min-width:54px!important;max-width:54px!important;height:42px!important;min-height:42px!important;max-height:42px!important;
  border-radius:999px!important;justify-content:center!important;align-items:center!important;
}
#presetGrid.icon-only-grid .preset-card.active{
  width:54px!important;height:42px!important;min-height:42px!important;max-height:42px!important;border-radius:999px!important;
  background:var(--brand-blue)!important;box-shadow:none!important;
}
#presetGrid.icon-only-grid .preset-card::after{left:10px!important;right:10px!important;opacity:.55!important;}
#presetGrid.icon-only-grid::-webkit-scrollbar{width:2px!important;}
#presetGrid.icon-only-grid::-webkit-scrollbar-thumb{background:rgba(255,255,255,0)!important;border-radius:999px!important;}
#presetGrid.icon-only-grid.is-scrolling::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18)!important;}
#presetGrid.icon-only-grid.scrolled-idle::-webkit-scrollbar-thumb{background:rgba(255,255,255,0)!important;}
#presetGrid.icon-only-grid{scrollbar-color:rgba(255,255,255,.18) transparent!important;}
#page-text-presets .v121-text-rail-actions .text-small-btn{background:var(--brand-card)!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:none!important;}

#page-text-presets #smartRevealControls,
#page-text-presets #customFfxControls{background:transparent!important;border:none!important;padding:0!important;max-height:none!important;overflow:visible!important;display:flex!important;flex-direction:column!important;gap:10px!important;}
#page-text-presets .v121-smart-top-controls{display:grid!important;grid-template-columns:repeat(3,minmax(74px,1fr))!important;gap:10px!important;margin:0!important;}
#page-text-presets .v121-smart-top-controls.compact-inline{grid-template-columns:repeat(3,minmax(64px,1fr))!important;}
#page-text-presets .v121-smart-top-controls select,
#page-text-presets .smart-select-row select{height:40px!important;min-height:40px!important;border-radius:16px!important;background:var(--brand-card)!important;border:1px solid rgba(255,255,255,.11)!important;color:#fff!important;}
#page-text-presets #v120TextApplyRow{display:grid!important;grid-template-columns:minmax(0,1fr) 116px!important;gap:12px!important;margin:0!important;align-items:center!important;}
#page-text-presets #applySelectedPresetBtn,
#page-text-presets #clearSelectedPresetBtn{height:48px!important;min-height:48px!important;border-radius:20px!important;}
#page-text-presets #applySelectedPresetBtn{background:var(--brand-blue)!important;border:1px solid rgba(0,138,253,.9)!important;box-shadow:none!important;color:#fff!important;}
#page-text-presets #clearSelectedPresetBtn{background:transparent!important;border:2px solid #ff0000!important;color:#ff0000!important;justify-self:stretch!important;align-self:stretch!important;position:static!important;margin:0!important;}
#page-text-presets #v124SliderCard{background:var(--brand-card)!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:24px!important;padding:12px 12px 10px!important;display:flex!important;flex-direction:column!important;gap:10px!important;min-height:0!important;overflow:auto!important;max-height:calc(100vh - 340px)!important;}
#page-text-presets .smart-control-row{margin:0!important;}
#page-text-presets .smart-control-row label{display:flex!important;justify-content:space-between!important;align-items:center!important;color:#fff!important;font-size:12px!important;font-weight:700!important;}
#page-text-presets input[type="range"]{height:24px!important;min-height:24px!important;padding:8px 0!important;--range-fill:0%;background:linear-gradient(90deg,var(--brand-blue) 0%,var(--brand-blue) var(--range-fill),#0d0f14 var(--range-fill),#0d0f14 100%)!important;border-radius:999px!important;}
#page-text-presets input[type="range"]::-webkit-slider-runnable-track{height:4px!important;border-radius:999px!important;background:transparent!important;}
#page-text-presets input[type="range"]::-moz-range-track{height:4px!important;border-radius:999px!important;background:transparent!important;}
#page-text-presets input[type="range"]::-webkit-slider-thumb{width:12px!important;height:12px!important;border-radius:50%!important;background:var(--brand-blue)!important;border:none!important;box-shadow:0 0 0 5px rgba(0,138,253,.12)!important;margin-top:-4px!important;cursor:pointer!important;}
#page-text-presets input[type="range"]::-moz-range-thumb{width:12px!important;height:12px!important;border-radius:50%!important;background:var(--brand-blue)!important;border:none!important;box-shadow:0 0 0 5px rgba(0,138,253,.12)!important;cursor:pointer!important;}

/* Graph page to match rectangular mock */
#page-graph-editor{padding-top:8px!important;background:var(--brand-bg)!important;}
#page-graph-editor .graph-page-pro{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;}
#page-graph-editor .graph-resizer{display:none!important;}
#page-graph-editor .graph-left-pane,
#page-graph-editor .graph-right-pane{background:var(--brand-card)!important;border:1px solid rgba(255,255,255,.10)!important;box-shadow:none!important;}
#page-graph-editor .graph-left-pane{padding:12px!important;border-radius:24px!important;display:flex!important;flex-direction:column!important;gap:12px!important;}
#page-graph-editor .graph-head{display:none!important;}
#page-graph-editor .graph-square-wrap{width:100%!important;aspect-ratio:auto!important;height:236px!important;min-height:236px!important;margin:0!important;order:1!important;}
#page-graph-editor .square-graph-stage, #page-graph-editor .graph-stage{height:100%!important;min-height:100%!important;border-radius:14px!important;background:var(--brand-card)!important;overflow:hidden!important;}
#page-graph-editor #graphSvg{width:100%!important;height:100%!important;display:block!important;}
#page-graph-editor .grid-lines line{stroke:rgba(255,255,255,.12)!important;}
#page-graph-editor .graph-path.main{stroke:var(--brand-blue)!important;stroke-width:2.2!important;}
#page-graph-editor .graph-path.ghost{stroke:rgba(255,255,255,.18)!important;}
#page-graph-editor .graph-handle-line{stroke:rgba(255,255,255,.2)!important;}
#page-graph-editor #graphStart, #page-graph-editor #graphEnd, #page-graph-editor .graph-handle{fill:var(--brand-blue)!important;stroke:#fff!important;stroke-width:1.2!important;}
#page-graph-editor .graph-mode-toggle{display:flex!important;gap:8px!important;order:2!important;}
#page-graph-editor .graph-mode-btn,
#page-graph-editor .graph-side-btn,
#page-graph-editor .graph-values-btn,
#page-graph-editor .graph-apply-wide{background:var(--brand-card)!important;border:1px solid rgba(255,255,255,.10)!important;box-shadow:none!important;border-radius:18px!important;color:var(--qwix-accent-ink,var(--accent-ink,#fff8ed)) !important;min-height:44px!important;}
#page-graph-editor .graph-mode-btn.is-active,
#page-graph-editor .graph-apply-wide{background:var(--brand-blue)!important;border-color:rgba(0,138,253,.9)!important;}
#page-graph-editor .graph-values-row{display:grid!important;grid-template-columns:84px minmax(0,1fr) 84px!important;gap:12px!important;order:3!important;}
#page-graph-editor .graph-apply-wide{order:4!important;text-transform:none!important;font-size:14px!important;}
#page-graph-editor .graph-right-pane{padding:12px!important;border-radius:24px!important;max-height:180px!important;overflow:auto!important;}
#page-graph-editor .compact-graph-grid{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:10px!important;}
#page-graph-editor .graph-thumb-card{background:transparent!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:14px!important;min-height:54px!important;box-shadow:none!important;}

@media (max-width:420px){
  #page-text-presets .v121-smart-top-controls{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;}
  #page-text-presets .v121-smart-top-controls select{font-size:12px!important;padding-inline:10px!important;}
  #page-text-presets #v120TextApplyRow{grid-template-columns:minmax(0,1fr) 104px!important;gap:10px!important;}
}
@media (max-width:340px){
  #page-text-presets .v121-smart-top-controls{grid-template-columns:1fr!important;}
}

/* ===== css/ui_v125.css ===== */
/* v125 Text Presets polish — scoped, compact vertical layout based on provided Figma direction */
:root{
  --brand-bg:#1E1E20;
  --brand-card:#2A2A2D;
  --brand-card-2:#242427;
  --brand-blue:#008AFD;
  --brand-line:rgba(255,255,255,.105);
  --brand-line-soft:rgba(255,255,255,.07);
  --text-rail-w:68px;
}

body,
.app-shell,
.page{background:var(--brand-bg)!important;}

#page-text-presets{
  padding-top:8px!important;
  overflow:hidden!important;
}

#page-text-presets .text-page-compact{
  grid-template-columns:var(--text-rail-w) minmax(0,1fr)!important;
  gap:10px!important;
  align-items:start!important;
  height:100%!important;
  min-height:0!important;
}

#page-text-presets .v121-text-left-stack{
  width:var(--text-rail-w)!important;
  gap:8px!important;
  overflow:visible!important;
}

#page-text-presets .preset-icons-card{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  padding:6px 5px!important;
  border-radius:26px!important;
  background:var(--brand-card)!important;
  border:1px solid var(--brand-line)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045)!important;
  max-height:calc(100vh - 154px)!important;
  overflow:hidden!important;
}

#presetGrid.icon-only-grid{
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  align-items:center!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:0!important;
  scrollbar-width:none!important;
}

#presetGrid.icon-only-grid .preset-card{
  width:50px!important;
  min-width:50px!important;
  max-width:50px!important;
  height:39px!important;
  min-height:39px!important;
  max-height:39px!important;
  flex:0 0 39px!important;
  border-radius:999px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  opacity:.46!important;
  transform:none!important;
  transition:opacity .16s ease, background .16s ease, color .16s ease!important;
}

#presetGrid.icon-only-grid .preset-card::after{
  left:12px!important;
  right:12px!important;
  bottom:0!important;
  height:1px!important;
  background:var(--brand-line-soft)!important;
  opacity:.75!important;
}

#presetGrid.icon-only-grid .preset-card.active{
  width:50px!important;
  min-width:50px!important;
  max-width:50px!important;
  height:39px!important;
  min-height:39px!important;
  max-height:39px!important;
  flex-basis:39px!important;
  border-radius:999px!important;
  opacity:1!important;
  background:var(--brand-blue)!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18), 0 8px 18px rgba(0,138,253,.17)!important;
}

#presetGrid.icon-only-grid .preset-card.active::after{display:none!important;}
#presetGrid.icon-only-grid .preset-card:not(.active):hover{opacity:.76!important;background:rgba(255,255,255,.035)!important;}
#presetGrid.icon-only-grid .icon-mini-text{font-size:12px!important;font-weight:850!important;letter-spacing:-.02em!important;}

#page-text-presets .v121-text-rail-actions{
  width:100%!important;
  gap:8px!important;
  align-items:center!important;
}

#page-text-presets .v121-text-rail-actions .text-small-btn{
  width:58px!important;
  height:42px!important;
  min-height:42px!important;
  border-radius:18px!important;
  padding:0!important;
  background:var(--brand-card)!important;
  border:1px solid var(--brand-line)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
  color:rgba(255,255,255,.9)!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:-.01em!important;
}

#page-text-presets .v121-text-rail-actions .text-small-btn small{
  font-size:7px!important;
  line-height:1!important;
  color:rgba(255,255,255,.42)!important;
  margin-top:3px!important;
}

#page-text-presets .preview-card{
  gap:10px!important;
  min-width:0!important;
  overflow:hidden!important;
}

#page-text-presets .preset-stage{
  height:132px!important;
  min-height:132px!important;
  max-height:132px!important;
  border-radius:26px!important;
  background:var(--brand-card)!important;
  border:1px solid var(--brand-line)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045), inset 0 -24px 44px rgba(0,0,0,.08)!important;
}

#page-text-presets #presetStage .smart-preview-text{
  font-size:22px!important;
  font-weight:760!important;
  letter-spacing:-.035em!important;
  color:#fff!important;
}

#page-text-presets #smartRevealControls,
#page-text-presets #customFfxControls{
  gap:10px!important;
  overflow:visible!important;
}

#page-text-presets .v121-smart-top-controls{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  margin:0!important;
}

#page-text-presets .v121-smart-top-controls.compact-inline{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

#page-text-presets .v121-smart-top-controls select,
#page-text-presets .smart-select-row select{
  height:38px!important;
  min-height:38px!important;
  border-radius:16px!important;
  background:var(--brand-card)!important;
  border:1px solid var(--brand-line)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:800!important;
  text-align:center!important;
}

#page-text-presets #v120TextApplyRow,
#page-text-presets #v121TextApplyRow{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 86px!important;
  gap:8px!important;
  margin:0!important;
  align-items:center!important;
}

#page-text-presets #applySelectedPresetBtn,
#page-text-presets #clearSelectedPresetBtn{
  height:44px!important;
  min-height:44px!important;
  border-radius:18px!important;
  font-size:14px!important;
  font-weight:850!important;
  letter-spacing:-.01em!important;
  grid-row:1!important;
  align-self:stretch!important;
  justify-self:stretch!important;
}

#page-text-presets #applySelectedPresetBtn{
  grid-column:1!important;
  background:var(--brand-blue)!important;
  border:1px solid rgba(0,138,253,.95)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18), 0 10px 22px rgba(0,138,253,.16)!important;
  color:#fff!important;
}

#page-text-presets #clearSelectedPresetBtn{
  grid-column:2!important;
  background:var(--brand-card)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  color:rgba(255,255,255,.62)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
  position:static!important;
  margin:0!important;
}

#page-text-presets #clearSelectedPresetBtn:hover{
  border-color:rgba(255,80,80,.35)!important;
  color:rgba(255,105,105,.95)!important;
}

#page-text-presets #v124SliderCard{
  background:var(--brand-card)!important;
  border:1px solid var(--brand-line)!important;
  border-radius:22px!important;
  padding:12px 12px 10px!important;
  gap:9px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
  max-height:calc(100vh - 322px)!important;
  overflow:auto!important;
}

#page-text-presets .smart-control-row{
  margin:0!important;
  min-width:0!important;
}

#page-text-presets .smart-control-row label{
  margin:0 0 4px!important;
  font-size:12px!important;
  line-height:1.1!important;
  font-weight:760!important;
  letter-spacing:-.01em!important;
  color:rgba(255,255,255,.92)!important;
}

#page-text-presets .smart-control-row label b{
  font-size:11px!important;
  font-weight:780!important;
  color:rgba(255,255,255,.64)!important;
}

#page-text-presets input[type="range"]{
  height:22px!important;
  min-height:22px!important;
  padding:8px 0!important;
  border-radius:999px!important;
  --range-fill:0%;
  background:linear-gradient(90deg,var(--brand-blue) 0%,var(--brand-blue) var(--range-fill),#111217 var(--range-fill),#111217 100%)!important;
}

#page-text-presets input[type="range"]::-webkit-slider-runnable-track{
  height:4px!important;
  background:transparent!important;
  border-radius:999px!important;
}

#page-text-presets input[type="range"]::-webkit-slider-thumb{
  width:12px!important;
  height:12px!important;
  margin-top:-4px!important;
  border-radius:50%!important;
  background:var(--brand-blue)!important;
  border:0!important;
  box-shadow:0 0 0 5px rgba(0,138,253,.11)!important;
  cursor:pointer!important;
}

@media(max-width:420px){
  :root{--text-rail-w:66px;}
  #page-text-presets .text-page-compact{gap:9px!important;}
  #page-text-presets .preset-stage{height:126px!important;min-height:126px!important;max-height:126px!important;border-radius:24px!important;}
  #page-text-presets .v121-smart-top-controls{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;}
  #page-text-presets .v121-smart-top-controls select{height:38px!important;min-height:38px!important;padding-left:9px!important;padding-right:20px!important;font-size:12px!important;}
  #page-text-presets #v120TextApplyRow,
  #page-text-presets #v121TextApplyRow{grid-template-columns:minmax(0,1fr) 84px!important;gap:8px!important;}
  #page-text-presets #applySelectedPresetBtn,
  #page-text-presets #clearSelectedPresetBtn{height:44px!important;min-height:44px!important;}
  #page-text-presets #v124SliderCard{max-height:calc(100vh - 318px)!important;}
}

@media(max-width:300px){
  #page-text-presets .v121-smart-top-controls{grid-template-columns:1fr!important;}
  #page-text-presets #v120TextApplyRow,
  #page-text-presets #v121TextApplyRow{grid-template-columns:1fr!important;}
  #page-text-presets #clearSelectedPresetBtn{grid-column:1!important;grid-row:2!important;}
}

/* v125 narrow select readability: top selectors behave as compact segmented controls */
#page-text-presets .v121-smart-top-controls select{
  -webkit-appearance:none!important;
  appearance:none!important;
  padding:0 8px!important;
  background-image:none!important;
  text-align:center!important;
  text-align-last:center!important;
}
@media(max-width:420px){
  #page-text-presets .v121-smart-top-controls select{font-size:11.5px!important;padding:0 6px!important;}
}

/* ===== css/ui_v128.css ===== */

/* v128 final Text Presets skin — real index override, graphite physical controls */
:root{
  --brand-blue:#20242b;
  --accent:#cfd6e2;
  --accent-2:#eef2f8;
  --v128-bg:#0d0f13;
  --v128-bg-soft:#11141a;
  --v128-panel:#15181e;
  --v128-panel2:#101318;
  --v128-key:#171b21;
  --v128-key2:#101318;
  --v128-border:rgba(255,255,255,.078);
  --v128-border-strong:rgba(255,255,255,.135);
  --v128-text:#f1f4f8;
  --v128-muted:rgba(226,231,239,.48);
  --v128-faint:rgba(226,231,239,.26);
  --v128-fill:#e7ebf2;
  --v128-track:rgba(255,255,255,.06);
  --v128-rail:68px;
  --v128-key-shadow:inset 0 1px 0 rgba(255,255,255,.075), inset 0 -1px 0 rgba(0,0,0,.36), 0 5px 14px rgba(0,0,0,.20);
  --v128-panel-shadow:inset 0 1px 0 rgba(255,255,255,.04), inset 0 -18px 28px rgba(0,0,0,.10), 0 14px 30px rgba(0,0,0,.16);
}

html, body{
  background:
    radial-gradient(80% 90% at 50% 0%, rgba(255,255,255,.026), rgba(255,255,255,0) 52%),
    linear-gradient(180deg,#111318 0%, #080a0e 100%) !important;
  color:var(--v128-text)!important;
}
body, .app-shell, .page{background:transparent!important;}
.app-shell.compact-shell{min-width:0!important;padding:9px!important;gap:9px!important;}
.compact-topbar,.topbar{display:none!important;}

/* top main menu — physical black segmented control, no blue fill */
body #tabbar.compact-tabbar,
body .tabbar.compact-tabbar{
  display:flex!important;
  grid-template-columns:none!important;
  align-items:center!important;
  gap:0!important;
  padding:4px!important;
  height:40px!important;
  min-height:40px!important;
  overflow:hidden!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,rgba(24,27,33,.96),rgba(11,13,17,.98))!important;
  border:1px solid var(--v128-border)!important;
  box-shadow:var(--v128-panel-shadow)!important;
}
body #tabbar.compact-tabbar .tab-btn,
body #tabbar.compact-tabbar .page-tab-btn,
body .tabbar.compact-tabbar .tab-btn{
  position:relative!important;
  flex:1 1 0!important;
  min-width:0!important;
  height:32px!important;
  min-height:32px!important;
  padding:0 6px!important;
  border:0!important;
  border-radius:16px!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  color:rgba(235,239,246,.42)!important;
  font-size:10px!important;
  font-weight:760!important;
  letter-spacing:.01em!important;
  opacity:1!important;
  text-shadow:none!important;
}
body #tabbar.compact-tabbar .tab-btn + .tab-btn::before,
body .tabbar.compact-tabbar .tab-btn + .tab-btn::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:8px!important;
  bottom:8px!important;
  width:1px!important;
  background:rgba(255,255,255,.055)!important;
}
body #tabbar.compact-tabbar .tab-btn.active,
body #tabbar.compact-tabbar .page-tab-btn.active,
body .tabbar.compact-tabbar .tab-btn.active,
body button.tab-btn.active{
  color:#fff!important;
  background:linear-gradient(180deg,rgba(31,35,42,.98),rgba(14,16,21,.98))!important;
  background-image:linear-gradient(180deg,rgba(31,35,42,.98),rgba(14,16,21,.98))!important;
  border:1px solid rgba(255,255,255,.09)!important;
  box-shadow:var(--v128-key-shadow), 0 0 0 1px rgba(255,255,255,.025)!important;
}
body #tabbar.compact-tabbar .tab-btn.active::after,
body .tabbar.compact-tabbar .tab-btn.active::after{
  content:""!important;
  position:absolute!important;
  left:16px!important;
  right:16px!important;
  bottom:5px!important;
  height:1px!important;
  border-radius:999px!important;
  background:rgba(242,245,250,.52)!important;
}

/* layout contract */
#page-text-presets{padding-top:6px!important;overflow:hidden!important;}
#page-text-presets .text-subnav{display:none!important;}
#page-text-presets .text-page-compact{
  display:grid!important;
  grid-template-columns:var(--v128-rail) minmax(0,1fr)!important;
  grid-template-rows:auto!important;
  gap:10px!important;
  align-items:start!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
}
#page-text-presets .v121-text-left-stack{
  width:var(--v128-rail)!important;
  gap:10px!important;
  overflow:visible!important;
  display:flex!important;
  flex-direction:column!important;
}
#page-text-presets .preview-card{
  grid-column:2!important;
  min-width:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  position:relative!important;
}
#page-text-presets .preview-card>.mini-head,
#page-text-presets .text-preset-actions{display:none!important;}
#page-text-presets .meta-row{display:none!important;}

/* preset rail */
#page-text-presets .preset-icons-card{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  padding:7px 6px!important;
  border-radius:25px!important;
  background:linear-gradient(180deg,rgba(20,23,29,.96),rgba(12,14,18,.98))!important;
  border:1px solid var(--v128-border)!important;
  box-shadow:var(--v128-panel-shadow)!important;
  overflow:hidden!important;
  max-height:calc(100vh - 150px)!important;
}
#presetGrid.icon-only-grid{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:6px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:0!important;
  scrollbar-width:none!important;
}
#presetGrid.icon-only-grid::-webkit-scrollbar{display:none!important;}
#presetGrid.icon-only-grid .preset-card,
#presetGrid .preset-card{
  width:52px!important;
  min-width:52px!important;
  max-width:52px!important;
  height:38px!important;
  min-height:38px!important;
  max-height:38px!important;
  flex:0 0 38px!important;
  padding:0!important;
  border-radius:15px!important;
  background:transparent!important;
  border:1px solid transparent!important;
  box-shadow:none!important;
  opacity:1!important;
  transform:none!important;
}
#presetGrid.icon-only-grid .preset-card::after{display:none!important;}
#presetGrid.icon-only-grid .preset-card:hover{
  background:rgba(255,255,255,.018)!important;
  border-color:rgba(255,255,255,.055)!important;
}
#presetGrid.icon-only-grid .preset-card.active,
#presetGrid .preset-card.active{
  background:linear-gradient(180deg,rgba(31,35,42,.98),rgba(14,16,21,.98))!important;
  border:1px solid rgba(255,255,255,.13)!important;
  box-shadow:var(--v128-key-shadow)!important;
}
#presetGrid .icon-mini-text{
  color:rgba(230,235,243,.44)!important;
  font-size:12px!important;
  font-weight:820!important;
  letter-spacing:-.02em!important;
}
#presetGrid .preset-card.active .icon-mini-text{color:#fff!important;}

/* Save/Add under presets */
#page-text-presets .v121-text-rail-actions{
  width:100%!important;
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  align-items:center!important;
}
#page-text-presets .v121-text-rail-actions .text-small-btn{
  width:56px!important;
  height:36px!important;
  min-height:36px!important;
  padding:0!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,rgba(25,28,34,.98),rgba(14,16,21,.98))!important;
  border:1px solid var(--v128-border)!important;
  box-shadow:var(--v128-key-shadow)!important;
  color:#f2f5f9!important;
  font-size:10.5px!important;
  font-weight:780!important;
  letter-spacing:-.01em!important;
}
#page-text-presets .v121-text-rail-actions .text-small-btn small{
  display:block!important;
  margin-top:1px!important;
  font-size:7px!important;
  color:rgba(235,239,246,.36)!important;
  line-height:1!important;
}

/* preview */
#page-text-presets .preset-stage{
  height:124px!important;
  min-height:124px!important;
  max-height:124px!important;
  border-radius:28px!important;
  background:linear-gradient(180deg,rgba(20,23,29,.96),rgba(11,13,18,.98))!important;
  border:1px solid var(--v128-border)!important;
  box-shadow:var(--v128-panel-shadow)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
#page-text-presets #presetStage .smart-preview-wrap{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:100%!important;
  padding:0!important;
}
#page-text-presets #presetStage .smart-preview-text{
  font-size:22px!important;
  line-height:1.06!important;
  font-weight:740!important;
  letter-spacing:-.035em!important;
  color:#fbfdff!important;
  text-shadow:0 2px 14px rgba(0,0,0,.20)!important;
}
#page-text-presets #presetStage .custom-ffx-preview-wrap{
  min-height:0!important;
  padding:0!important;
}
#page-text-presets #presetStage .custom-ffx-preview-text{
  font-size:22px!important;
  line-height:1.06!important;
  font-weight:400!important;
  letter-spacing:-.035em!important;
}
#page-text-presets .v121-preview-delete-slot{
  position:absolute!important;
  top:9px!important;
  right:9px!important;
  z-index:12!important;
  width:30px!important;
  height:30px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  pointer-events:none!important;
}
#page-text-presets #deleteTextPresetBtn.v121-preview-delete-btn{
  pointer-events:auto!important;
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  min-height:28px!important;
  max-width:28px!important;
  max-height:28px!important;
  margin:0!important;
  padding:0!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  color:#ff4f5f!important;
  opacity:.96!important;
  font-size:0!important;
  line-height:0!important;
  cursor:pointer!important;
}
#page-text-presets #deleteTextPresetBtn.v121-preview-delete-btn.v121-delete-visible{
  display:flex!important;
}
#page-text-presets #deleteTextPresetBtn.v121-preview-delete-btn svg{
  width:18px!important;
  height:18px!important;
  display:block!important;
  stroke:currentColor!important;
}
#page-text-presets #deleteTextPresetBtn.v121-preview-delete-btn:hover,
#page-text-presets #deleteTextPresetBtn.v121-preview-delete-btn:focus-visible{
  color:#ff6a76!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:scale(1.05)!important;
}

/* controls */
#page-text-presets #smartRevealControls,
#page-text-presets #customFfxControls{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  max-height:none!important;
  overflow:visible!important;
}
#page-text-presets .smart-preview-input{display:none!important;}
#page-text-presets .v121-smart-top-controls{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  margin:0!important;
}
#page-text-presets .v121-custom-top-controls{
  grid-template-columns:minmax(0,1fr)!important;
  width:100%!important;
  align-items:stretch!important;
}
#page-text-presets #v121CustomTopControls,
#page-text-presets #v121CustomTopControls.v121-smart-top-controls,
#page-text-presets #v121CustomTopControls.select-count-1,
#page-text-presets #v121CustomTopControls.select-count-2{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  width:100%!important;
  max-width:100%!important;
  gap:8px!important;
}
#page-text-presets #v121CustomTopControls > .aptk-custom-select-trigger,
#page-text-presets #v121CustomTopControls > select{
  width:100%!important;
  min-width:0!important;
  justify-self:stretch!important;
  align-self:stretch!important;
}

.custom-ffx-import-modes{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  margin:10px 0 2px!important;
}
.custom-ffx-import-mode-label{
  color:var(--aptk-muted, rgba(238,242,248,.62))!important;
  font-size:11px!important;
  font-weight:780!important;
}
.custom-ffx-import-mode-select{
  width:100%!important;
  height:36px!important;
  min-height:36px!important;
  margin:0!important;
  padding:0 34px 0 12px!important;
  border-radius:12px!important;
  border:1px solid var(--line, rgba(255,255,255,.14))!important;
  background-color:var(--aptk-secondary, rgba(255,255,255,.04))!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='6' viewBox='0 0 9 6'%3E%3Cpath d='M1 1.1 4.5 4.4 8 1.1' fill='none' stroke='%23eef2f8' stroke-width='1.35' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 13px center!important;
  background-size:9px 6px!important;
  box-shadow:none!important;
  color:var(--text, #f4f7fb)!important;
  font-size:12px!important;
  font-weight:780!important;
  text-align:left!important;
  -webkit-appearance:none!important;
  appearance:none!important;
  cursor:pointer!important;
}
.custom-ffx-import-mode-select:hover,
.custom-ffx-import-mode-select:focus{
  border-color:var(--aptk-primary, #d97757)!important;
  outline:none!important;
}
.custom-ffx-import-mode-select option{
  background:#1d1a16!important;
  color:#fff!important;
}
#page-text-presets .v121-smart-top-controls select,
#page-text-presets .smart-select-row select{
  height:36px!important;
  min-height:36px!important;
  padding:0 28px 0 10px!important;
  border-radius:18px!important;
  border:1px solid var(--v128-border)!important;
  background-color:#101318!important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='6' viewBox='0 0 9 6'%3E%3Cpath d='M1 1.1 4.5 4.4 8 1.1' fill='none' stroke='%23eef2f8' stroke-width='1.35' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"),
    linear-gradient(180deg,rgba(24,27,33,.98),rgba(14,16,21,.98))!important;
  background-repeat:no-repeat,no-repeat!important;
  background-position:right 12px center,0 0!important;
  background-size:9px 6px,100% 100%!important;
  box-shadow:var(--v128-key-shadow)!important;
  color:#f4f7fb!important;
  font-size:12px!important;
  font-weight:760!important;
  text-align:center!important;
  text-align-last:center!important;
  -webkit-appearance:none!important;
  appearance:none!important;
}
#page-text-presets .v121-smart-top-controls select option,
#page-text-presets .smart-select-row select option{
  background:#0d0f13!important;
  color:#fff!important;
}

/* Apply/Clear before sliders */
#page-text-presets #v120TextApplyRow,
#page-text-presets #v121TextApplyRow{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 94px!important;
  gap:8px!important;
  margin:0!important;
  align-items:center!important;
}
#page-text-presets #applySelectedPresetBtn,
#page-text-presets #clearSelectedPresetBtn{
  height:38px!important;
  min-height:38px!important;
  border-radius:19px!important;
  align-self:stretch!important;
  justify-self:stretch!important;
  margin:0!important;
  position:static!important;
  font-size:12.5px!important;
  font-weight:790!important;
  letter-spacing:-.01em!important;
  text-shadow:none!important;
}
#page-text-presets #applySelectedPresetBtn{
  background:linear-gradient(180deg,rgba(31,35,42,.98),rgba(14,16,21,.98))!important;
  border:1px solid rgba(207,214,226,.28)!important;
  color:#fff!important;
  box-shadow:var(--v128-key-shadow), 0 0 0 1px rgba(255,255,255,.025)!important;
}
#page-text-presets #clearSelectedPresetBtn{
  background:linear-gradient(180deg,rgba(24,27,33,.98),rgba(14,16,21,.98))!important;
  border:1px solid var(--v128-border)!important;
  color:rgba(238,242,248,.68)!important;
  box-shadow:var(--v128-key-shadow)!important;
}
#page-text-presets #clearSelectedPresetBtn:hover{
  border-color:var(--v128-border-strong)!important;
  color:#f7f9fc!important;
}

/* slider panel */
#page-text-presets #v124SliderCard,
#page-text-presets #v124CustomSliderCard{
  background:linear-gradient(180deg,rgba(18,21,26,.97),rgba(11,13,17,.98))!important;
  border:1px solid var(--v128-border)!important;
  border-radius:24px!important;
  padding:12px 12px 10px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  min-height:0!important;
  overflow:auto!important;
  max-height:calc(100vh - 316px)!important;
  box-shadow:var(--v128-panel-shadow)!important;
}
#page-text-presets #v124SliderCard::-webkit-scrollbar,
#page-text-presets #v124CustomSliderCard::-webkit-scrollbar{display:none!important;}
#page-text-presets #v124CustomSliderCard .custom-ffx-note{
  margin:0!important;
  color:rgba(244,247,251,.58)!important;
  font-size:11px!important;
  line-height:1.25!important;
  font-weight:650!important;
}
#page-text-presets #customFfxPreviewInput{
  display:none!important;
}
#page-text-presets .smart-control-row{margin:0!important;min-width:0!important;}
#page-text-presets .smart-control-row label{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin:0 0 5px!important;
  color:rgba(244,247,251,.92)!important;
  font-size:12px!important;
  line-height:1.15!important;
  font-weight:720!important;
  letter-spacing:-.01em!important;
}
#page-text-presets .smart-control-row label b{
  color:rgba(229,234,241,.56)!important;
  font-size:11px!important;
  font-weight:780!important;
}

/* thin physical slider: no thick center bar */
#page-text-presets input[type="range"]{
  height:18px!important;
  min-height:18px!important;
  padding:6px 0!important;
  border-radius:999px!important;
  --range-fill:0%;
  background:
    linear-gradient(90deg,var(--v128-fill) 0%,var(--v128-fill) var(--range-fill),var(--v128-track) var(--range-fill),var(--v128-track) 100%) 0 50% / 100% 2px no-repeat!important;
  box-shadow:none!important;
}
#page-text-presets input[type="range"]::-webkit-slider-runnable-track{
  height:2px!important;
  background:transparent!important;
  border-radius:999px!important;
}
#page-text-presets input[type="range"]::-moz-range-track{
  height:2px!important;
  background:transparent!important;
  border-radius:999px!important;
}
#page-text-presets input[type="range"]::-webkit-slider-thumb{
  width:10px!important;
  height:10px!important;
  margin-top:-4px!important;
  border-radius:50%!important;
  background:linear-gradient(180deg,#fff,#d8dee8)!important;
  border:1px solid rgba(255,255,255,.32)!important;
  box-shadow:0 2px 7px rgba(0,0,0,.22)!important;
  cursor:pointer!important;
}
#page-text-presets input[type="range"]::-moz-range-thumb{
  width:10px!important;
  height:10px!important;
  border-radius:50%!important;
  background:linear-gradient(180deg,#fff,#d8dee8)!important;
  border:1px solid rgba(255,255,255,.32)!important;
  box-shadow:0 2px 7px rgba(0,0,0,.22)!important;
  cursor:pointer!important;
}

@media (max-width:420px){
  :root{--v128-rail:66px;}
  #page-text-presets .text-page-compact{gap:9px!important;}
  #page-text-presets .preset-stage{height:126px!important;min-height:126px!important;max-height:126px!important;}
  #page-text-presets .v121-smart-top-controls{gap:7px!important;}
  #page-text-presets .v121-smart-top-controls select{font-size:11.5px!important;padding-right:24px!important;background-position:right 10px center,0 0!important;}
  #page-text-presets #v120TextApplyRow,#page-text-presets #v121TextApplyRow{grid-template-columns:minmax(0,1fr) 88px!important;}
}
@media(max-width:300px){
  #page-text-presets .v121-smart-top-controls{grid-template-columns:1fr!important;}
  #page-text-presets #v120TextApplyRow,#page-text-presets #v121TextApplyRow{grid-template-columns:1fr!important;}
  #page-text-presets #clearSelectedPresetBtn{grid-column:1!important;grid-row:2!important;}
}

/* Actual runtime top menu created by main_v120.js */
body #v120Nav.v120-nav{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:0!important;
  height:42px!important;
  min-height:42px!important;
  padding:4px!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,rgba(24,27,33,.96),rgba(11,13,17,.98))!important;
  border:1px solid var(--v128-border)!important;
  box-shadow:var(--v128-panel-shadow)!important;
  overflow:hidden!important;
}
body #v120Nav.v120-nav .v120-nav-btn{
  position:relative!important;
  height:32px!important;
  min-height:32px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:15px!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  color:rgba(235,239,246,.42)!important;
  opacity:1!important;
  font-size:18px!important;
  font-weight:780!important;
  text-shadow:none!important;
}
body #v120Nav.v120-nav .v120-nav-btn + .v120-nav-btn::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:8px!important;
  bottom:8px!important;
  width:1px!important;
  background:rgba(255,255,255,.055)!important;
}
body #v120Nav.v120-nav .v120-nav-btn.active{
  color:#fff!important;
  background:linear-gradient(180deg,rgba(31,35,42,.98),rgba(14,16,21,.98))!important;
  background-image:linear-gradient(180deg,rgba(31,35,42,.98),rgba(14,16,21,.98))!important;
  border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:var(--v128-key-shadow), 0 0 0 1px rgba(255,255,255,.025)!important;
}
body #v120Nav.v120-nav .v120-nav-btn.active::after{
  content:""!important;
  position:absolute!important;
  left:14px!important;
  right:14px!important;
  bottom:5px!important;
  height:1px!important;
  border-radius:999px!important;
  background:rgba(242,245,250,.50)!important;
}

/* ===== css/ui_v129.css ===== */
/* v129 refinement: reference-driven graphite rail/menu, larger preview text, all selects before action row */
:root{
  --v129-outline:rgba(216,222,231,.14);
  --v129-outline-soft:rgba(216,222,231,.08);
  --v129-ink:#0f1217;
  --v129-ink-2:#13161b;
  --v129-key-top:rgba(255,255,255,.10);
  --v129-key-core:rgba(255,255,255,.055);
}

/* top main nav: more like the reference pill */
#tabbar.compact-tabbar,
.v120-nav,
#v120Nav.v120-nav{
  height:42px!important;
  min-height:42px!important;
  padding:4px!important;
  border-radius:23px!important;
  background:linear-gradient(180deg, rgba(19,22,27,.98), rgba(10,12,16,.99))!important;
  border:1px solid var(--v129-outline-soft)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035), inset 0 -12px 22px rgba(0,0,0,.16), 0 8px 22px rgba(0,0,0,.18)!important;
}
#tabbar.compact-tabbar .tab-btn,
#v120Nav.v120-nav .v120-nav-btn,
#v120Nav.v120-nav .tab-btn{
  height:34px!important;
  min-height:34px!important;
  border-radius:17px!important;
  color:rgba(231,236,244,.42)!important;
}
#tabbar.compact-tabbar .tab-btn.active,
#v120Nav.v120-nav .v120-nav-btn.active,
#v120Nav.v120-nav .tab-btn.active{
  background:linear-gradient(180deg, rgba(48,52,60,.72), rgba(20,23,28,.98))!important;
  border:1px solid var(--v129-outline)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.11), inset 0 -1px 0 rgba(0,0,0,.34), 0 8px 16px rgba(0,0,0,.18)!important;
  color:#fff!important;
}
#tabbar.compact-tabbar .tab-btn.active::after,
#v120Nav.v120-nav .v120-nav-btn.active::after,
#v120Nav.v120-nav .tab-btn.active::after{display:none!important;}

/* left preset selector closer to reference 1 */
#page-text-presets .preset-icons-card{
  padding:7px 7px!important;
  border-radius:28px!important;
  background:linear-gradient(180deg, rgba(14,17,22,.98), rgba(10,12,16,.99))!important;
  border:1px solid var(--v129-outline-soft)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025), 0 10px 28px rgba(0,0,0,.18)!important;
}
#presetGrid.icon-only-grid{
  gap:8px!important;
}
#presetGrid.icon-only-grid .preset-card,
#presetGrid .preset-card{
  width:50px!important;
  min-width:50px!important;
  max-width:50px!important;
  height:40px!important;
  min-height:40px!important;
  max-height:40px!important;
  border-radius:20px!important;
}
#presetGrid.icon-only-grid .preset-card.active,
#presetGrid .preset-card.active{
  background:linear-gradient(180deg, rgba(57,61,69,.74), rgba(21,24,30,.98))!important;
  border:1px solid var(--v129-outline)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12), inset 0 -1px 0 rgba(0,0,0,.38), 0 8px 16px rgba(0,0,0,.16)!important;
}
#page-text-presets .v121-text-rail-actions .text-small-btn,
#page-text-presets #applySelectedPresetBtn,
#page-text-presets #clearSelectedPresetBtn,
#page-text-presets .v121-smart-top-controls select,
#page-text-presets .smart-select-row select{
  background:linear-gradient(180deg, rgba(22,25,31,.98), rgba(11,14,18,.99))!important;
  border-color:var(--v129-outline-soft)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07), inset 0 -1px 0 rgba(0,0,0,.36), 0 6px 14px rgba(0,0,0,.14)!important;
}
#page-text-presets #applySelectedPresetBtn{
  border-color:var(--v129-outline)!important;
}

/* preview text a bit larger */
#page-text-presets #presetStage .smart-preview-text{
  font-size:28px!important;
}

/* selects before Apply/Clear, including custom preset selects */
#page-text-presets #smartRevealControls,
#page-text-presets #customFfxControls{
  gap:9px!important;
}
#page-text-presets .smart-select-row{
  display:grid!important;
  grid-template-columns:repeat(2, minmax(0, 1fr))!important;
  gap:8px!important;
  width:100%!important;
  margin:0!important;
}
#page-text-presets .smart-select-row label,
#page-text-presets .smart-select-row .label,
#page-text-presets .smart-select-row .smart-control-label{
  display:none!important;
}
#page-text-presets .smart-select-row select{
  width:100%!important;
  height:36px!important;
  min-height:36px!important;
  border-radius:18px!important;
  color:#f4f7fb!important;
  font-size:12px!important;
  font-weight:760!important;
  text-align:center!important;
  text-align-last:center!important;
  padding:0 28px 0 10px!important;
  background-color:#101318!important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='6' viewBox='0 0 9 6'%3E%3Cpath d='M1 1.1 4.5 4.4 8 1.1' fill='none' stroke='%23eef2f8' stroke-width='1.35' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"),
    linear-gradient(180deg, rgba(22,25,31,.98), rgba(11,14,18,.99))!important;
  background-repeat:no-repeat,no-repeat!important;
  background-position:right 12px center,0 0!important;
  background-size:9px 6px,100% 100%!important;
}
#page-text-presets #v124SliderCard,
#page-text-presets #v124CustomSliderCard{padding-top:11px!important;}

@media (max-width:420px){
  #page-text-presets #presetStage .smart-preview-text{font-size:26px!important;}
  #page-text-presets .smart-select-row{grid-template-columns:1fr 1fr!important;}
}
@media (max-width:300px){
  #page-text-presets .smart-select-row{grid-template-columns:1fr!important;}
}

/* ===== css/ui_v130.css ===== */
/* v130 — refined graphite system per latest reference */
:root{
  --v130-bg:#161618;
  --v130-surface:#161618;
  --v130-surface-2:#18181b;
  --v130-surface-3:#131316;
  --v130-stroke:#353537;
  --v130-stroke-soft:rgba(53,53,55,.86);
  --v130-top-gloss:rgba(255,255,255,.085);
  --v130-top-gloss-soft:rgba(255,255,255,.045);
  --v130-bottom-shadow:rgba(0,0,0,.42);
  --v130-text:#f2f4f7;
  --v130-muted:rgba(242,244,247,.52);
  --v130-muted-2:rgba(242,244,247,.32);
  --v130-preview:42px;
  --v130-preview-narrow:38px;
}

html,body{
  background:
    radial-gradient(90% 68% at 50% 0%, rgba(255,255,255,.018), rgba(255,255,255,0) 58%),
    linear-gradient(180deg, #18181a 0%, #141416 100%)!important;
  color:var(--v130-text)!important;
}
body, .app-shell, .page{background:transparent!important;}

/* top menu */
#tabbar.compact-tabbar,
#v120Nav.v120-nav,
.v120-nav{
  background:
    linear-gradient(180deg, rgba(255,255,255,.018), rgba(255,255,255,0) 30%),
    linear-gradient(180deg, #1b1b1e 0%, #141417 100%)!important;
  border:1px solid #353537!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.045),
    inset 0 -1px 0 rgba(0,0,0,.46),
    0 8px 22px rgba(0,0,0,.18)!important;
}
#tabbar.compact-tabbar .tab-btn,
#v120Nav.v120-nav .v120-nav-btn,
#v120Nav.v120-nav .tab-btn{
  border-radius:18px!important;
  color:rgba(242,244,247,.46)!important;
  background:transparent!important;
  border:1px solid transparent!important;
}
#tabbar.compact-tabbar .tab-btn.active,
#v120Nav.v120-nav .v120-nav-btn.active,
#v120Nav.v120-nav .tab-btn.active{
  background:
    radial-gradient(100% 92% at 50% 12%, rgba(255,255,255,.065), rgba(255,255,255,0) 58%),
    linear-gradient(180deg, #27272b 0%, #18181b 72%, #151518 100%)!important;
  border:1px solid #353537!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.115),
    inset 0 -1px 0 rgba(0,0,0,.42),
    0 6px 14px rgba(0,0,0,.18)!important;
  color:#fff!important;
}

/* panels and stage */
#page-text-presets .preset-icons-card,
#page-text-presets .preset-stage,
#page-text-presets #v124SliderCard,
#page-text-presets #v124CustomSliderCard{
  background:
    radial-gradient(120% 78% at 50% 0%, rgba(255,255,255,.022), rgba(255,255,255,0) 54%),
    linear-gradient(180deg, #18181b 0%, #121215 100%)!important;
  border:1px solid #353537!important;
}
#page-text-presets .preset-icons-card,
#page-text-presets .preset-stage,
#page-text-presets #v124SliderCard,
#page-text-presets #v124CustomSliderCard,
#tabbar.compact-tabbar,
#v120Nav.v120-nav{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    inset 0 -1px 0 rgba(0,0,0,.42),
    0 10px 28px rgba(0,0,0,.14)!important;
}

/* preset buttons — closer to circular glossy reference */
#presetGrid.icon-only-grid{gap:9px!important;}
#presetGrid.icon-only-grid .preset-card,
#presetGrid .preset-card{
  width:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  border-radius:23px!important;
  background:transparent!important;
  border:1px solid transparent!important;
}
#presetGrid .icon-mini-text{
  font-size:11px!important;
  font-weight:800!important;
  color:rgba(242,244,247,.58)!important;
}
#presetGrid.icon-only-grid .preset-card.active,
#presetGrid .preset-card.active{
  background:
    radial-gradient(94% 88% at 50% 14%, rgba(255,255,255,.085), rgba(255,255,255,0) 58%),
    linear-gradient(180deg, #2a2a2f 0%, #19191c 70%, #151518 100%)!important;
  border:1px solid #353537!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.14),
    inset 0 -1px 0 rgba(0,0,0,.44),
    0 8px 16px rgba(0,0,0,.15)!important;
}
#presetGrid .preset-card.active .icon-mini-text{color:#fff!important;}

/* all keyboard-like controls */
#page-text-presets .v121-text-rail-actions .text-small-btn,
#page-text-presets #applySelectedPresetBtn,
#page-text-presets #clearSelectedPresetBtn,
#page-text-presets .v121-smart-top-controls select,
#page-text-presets .smart-select-row select{
  background:
    radial-gradient(100% 92% at 50% 10%, rgba(255,255,255,.065), rgba(255,255,255,0) 58%),
    linear-gradient(180deg, #212126 0%, #17171a 72%, #141417 100%)!important;
  background-color:#161618!important;
  border:1px solid #353537!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.095),
    inset 0 -1px 0 rgba(0,0,0,.42),
    0 6px 14px rgba(0,0,0,.12)!important;
  color:#fff!important;
}
#page-text-presets #clearSelectedPresetBtn{color:rgba(242,244,247,.68)!important;}
#page-text-presets .v121-text-rail-actions .text-small-btn small{color:rgba(242,244,247,.32)!important;}

/* all dropdowns: arrow always visible, left aligned text */
#page-text-presets .v121-smart-top-controls select,
#page-text-presets .smart-select-row select,
#page-text-presets select{
  text-align:left!important;
  text-align-last:auto!important;
  justify-content:flex-start!important;
  padding:0 26px 0 14px!important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1.2 1 5 4.6 8.8 1' fill='none' stroke='%23F2F4F7' stroke-width='1.35' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"),
    radial-gradient(100% 92% at 50% 10%, rgba(255,255,255,.065), rgba(255,255,255,0) 58%),
    linear-gradient(180deg, #212126 0%, #17171a 72%, #141417 100%)!important;
  background-repeat:no-repeat,no-repeat,no-repeat!important;
  background-position:right 11px center,0 0,0 0!important;
  background-size:10px 6px,100% 100%,100% 100%!important;
  font-size:11.5px!important;
  -webkit-appearance:none!important;
  appearance:none!important;
}
#page-text-presets .v121-smart-top-controls select option,
#page-text-presets .smart-select-row select option,
#page-text-presets select option{
  background:#161618!important;
  color:#fff!important;
}

/* preview text much larger */
#page-text-presets #presetStage .smart-preview-text{
  font-size:var(--v130-preview)!important;
  line-height:1.02!important;
  font-weight:400!important;
  letter-spacing:-.04em!important;
}

/* tune stage height slightly for larger text */
#page-text-presets .preset-stage{
  min-height:132px!important;
  height:132px!important;
  max-height:132px!important;
}

/* sliders keep thin understated look, with new palette */
#page-text-presets input[type="range"]{
  background:linear-gradient(90deg, rgba(242,244,247,.95) 0%, rgba(242,244,247,.95) var(--range-fill), rgba(255,255,255,.08) var(--range-fill), rgba(255,255,255,.08) 100%) 0 50% / 100% 2px no-repeat!important;
}
#page-text-presets input[type="range"]::-webkit-slider-thumb{
  background:linear-gradient(180deg, #f7f8fa, #d9dde3)!important;
}
#page-text-presets input[type="range"]::-moz-range-thumb{
  background:linear-gradient(180deg, #f7f8fa, #d9dde3)!important;
}

@media (max-width:420px){
  #page-text-presets #presetStage .smart-preview-text{font-size:var(--v130-preview-narrow)!important;}
  #page-text-presets .preset-stage{min-height:126px!important;height:126px!important;max-height:126px!important;}
  #page-text-presets .v121-smart-top-controls select,
  #page-text-presets .smart-select-row select,
  #page-text-presets select{font-size:11px!important;padding-left:12px!important;padding-right:24px!important;background-position:right 10px center,0 0,0 0!important;}
}

/* ===== css/ui_v131.css ===== */
/* v131 — layout/finish pass from latest feedback */
:root{
  --v131-bg:#161618;
  --v131-stroke:#353537;
  --v131-text:#f2f4f7;
}

html,body{
  background:
    linear-gradient(90deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,.012) 9%,
      rgba(255,255,255,0) 19%,
      rgba(255,255,255,.022) 31%,
      rgba(255,255,255,0) 43%,
      rgba(255,255,255,.016) 56%,
      rgba(255,255,255,0) 69%,
      rgba(255,255,255,.012) 82%,
      rgba(255,255,255,0) 100%),
    radial-gradient(88% 70% at 50% 0%, rgba(255,255,255,.014), rgba(255,255,255,0) 56%),
    linear-gradient(180deg, #19191b 0%, #141416 100%)!important;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,.01), rgba(255,255,255,0) 30%);
  opacity:.85;
}

/* keep all preset chips perfectly circular in every state */
#presetGrid.icon-only-grid .preset-card,
#presetGrid .preset-card,
#presetGrid.icon-only-grid .preset-card.active,
#presetGrid .preset-card.active,
#presetGrid.icon-only-grid .preset-card:hover,
#presetGrid .preset-card:hover{
  width:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  border-radius:50%!important;
  padding:0!important;
  box-sizing:border-box!important;
  transform:none!important;
}
#presetGrid .icon-mini-text{font-size:11px!important;}

/* preview text: prevent clipping */
#page-text-presets .preset-stage{
  min-height:136px!important;
  height:136px!important;
  max-height:136px!important;
  overflow:hidden!important;
}
#page-text-presets #presetStage .smart-preview-wrap{
  overflow:visible!important;
}
#page-text-presets #presetStage .smart-preview-text{
  line-height:1.12!important;
  padding:0 4px 5px!important;
  transform:translateY(-1px)!important;
}

/* sliders: 2x thicker track, thumb unchanged */
#page-text-presets input[type="range"]{
  background:linear-gradient(90deg, rgba(242,244,247,.95) 0%, rgba(242,244,247,.95) var(--range-fill), rgba(255,255,255,.08) var(--range-fill), rgba(255,255,255,.08) 100%) 0 50% / 100% 4px no-repeat!important;
}
#page-text-presets input[type="range"]::-webkit-slider-runnable-track{
  height:4px!important;
  background:transparent!important;
}
#page-text-presets input[type="range"]::-moz-range-track{
  height:4px!important;
  background:transparent!important;
}
#page-text-presets input[type="range"]::-webkit-slider-thumb{
  margin-top:-3px!important;
}

/* select rows adapt to visible item count */
#page-text-presets #v121SmartTopControls.select-count-1,
#page-text-presets .smart-select-row.select-count-1{
  grid-template-columns:1fr!important;
}
#page-text-presets #v121SmartTopControls.select-count-2,
#page-text-presets .smart-select-row.select-count-2{
  grid-template-columns:repeat(2, minmax(0,1fr))!important;
}
#page-text-presets #v121SmartTopControls.select-count-3,
#page-text-presets .smart-select-row.select-count-3{
  grid-template-columns:repeat(3, minmax(0,1fr))!important;
}
#page-text-presets #v121SmartTopControls.select-count-4,
#page-text-presets .smart-select-row.select-count-4{
  grid-template-columns:repeat(4, minmax(0,1fr))!important;
}
/* At 4 columns some option labels (e.g. "In and Out", "From Center") are
   tight enough to need the trigger's ellipsis to actually engage - flex
   children default to a content-based min-width that defeats it otherwise. */
#page-text-presets #v121SmartTopControls.select-count-4 .aptk-custom-select-trigger span,
#page-text-presets #v121SmartTopControls.select-count-3 .aptk-custom-select-trigger span{
  min-width:0!important;
  max-width:100%!important;
}
#page-text-presets .smart-select-row select,
#page-text-presets #v121SmartTopControls select{
  width:100%!important;
}

@media (max-width:420px){
  #page-text-presets .preset-stage{min-height:128px!important;height:128px!important;max-height:128px!important;}
  #page-text-presets #presetStage .smart-preview-text{padding-bottom:4px!important;}
}

/* v133 — fix v132 regressions: rounded wide sliders, arrows restored, presets stay transparent except active */
:root{
  --v133-fill:#f2f4f7;
  --v133-track:rgba(0,0,0,.42);
  --v133-btn-top:#242428;
  --v133-btn-mid:#19191d;
  --v133-btn-bottom:#141417;
  --v133-btn-border:#303034;
  --v133-rim:rgba(232,235,240,.16);
  --v133-muted:rgba(242,244,247,.44);
  --v133-shadow:0 9px 13px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.075), inset 0 -1px 0 rgba(0,0,0,.50);
  --v133-hover-shadow:0 8px 12px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.095), inset 0 -1px 0 rgba(0,0,0,.48);
  --v133-pressed-shadow:inset 0 2px 5px rgba(0,0,0,.54), inset 0 -1px 0 rgba(255,255,255,.045), 0 1px 0 rgba(255,255,255,.035);
}

/* Preset rail contract: inactive presets are not glossy buttons; only selected preset has the physical button skin. */
#page-text-presets #presetGrid.icon-only-grid .preset-card,
#page-text-presets #presetGrid .preset-card,
#presetGrid.icon-only-grid .preset-card,
#presetGrid .preset-card{
  width:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  border-radius:50%!important;
  padding:0!important;
  box-sizing:border-box!important;
  transform:none!important;
  background:transparent!important;
  border:1px solid transparent!important;
  box-shadow:none!important;
  opacity:.48!important;
  overflow:hidden!important;
}
#page-text-presets #presetGrid .preset-card:not(.active):hover,
#presetGrid .preset-card:not(.active):hover{
  opacity:.68!important;
  background:rgba(255,255,255,.018)!important;
  border-color:rgba(255,255,255,.035)!important;
  box-shadow:none!important;
  transform:none!important;
}
#page-text-presets #presetGrid .preset-card.active,
#page-text-presets #presetGrid.icon-only-grid .preset-card.active,
#presetGrid .preset-card.active,
#presetGrid.icon-only-grid .preset-card.active{
  opacity:1!important;
  background:
    radial-gradient(96% 94% at 50% 16%, rgba(255,255,255,.055), rgba(255,255,255,0) 58%),
    linear-gradient(180deg,var(--v133-btn-top) 0%,var(--v133-btn-mid) 62%,var(--v133-btn-bottom) 100%)!important;
  border:1px solid var(--v133-btn-border)!important;
  box-shadow:var(--v133-shadow)!important;
}
#page-text-presets #presetGrid .preset-card.active:active,
#presetGrid .preset-card.active:active{
  background:
    radial-gradient(82% 72% at 50% 35%, rgba(255,255,255,.032), rgba(255,255,255,0) 68%),
    linear-gradient(180deg,#17171b 0%,#121216 100%)!important;
  border-color:var(--v133-rim)!important;
  box-shadow:
    1px 0 0 rgba(255,255,255,.045) inset,
    0 1px 0 rgba(255,255,255,.045) inset,
    var(--v133-pressed-shadow)!important;
  transform:translateY(1px)!important;
}
#page-text-presets #presetGrid .icon-mini-text,
#presetGrid .icon-mini-text{
  color:rgba(242,244,247,.58)!important;
  font-weight:800!important;
  font-size:11px!important;
}
#page-text-presets #presetGrid .preset-card.active .icon-mini-text,
#presetGrid .preset-card.active .icon-mini-text{color:#fff!important;}

/* Physical reference skin for real action controls only, without touching inactive preset chips. */
#page-text-presets .v121-text-rail-actions .text-small-btn,
#page-text-presets #applySelectedPresetBtn,
#page-text-presets #clearSelectedPresetBtn{
  background:
    radial-gradient(96% 94% at 50% 16%, rgba(255,255,255,.055), rgba(255,255,255,0) 58%),
    linear-gradient(180deg,var(--v133-btn-top) 0%,var(--v133-btn-mid) 62%,var(--v133-btn-bottom) 100%)!important;
  border:1px solid var(--v133-btn-border)!important;
  box-shadow:var(--v133-shadow)!important;
  color:#f5f6f8!important;
  text-shadow:0 1px 0 rgba(0,0,0,.45)!important;
  transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease,color .14s ease!important;
}
#page-text-presets .v121-text-rail-actions .text-small-btn:hover,
#page-text-presets #applySelectedPresetBtn:hover,
#page-text-presets #clearSelectedPresetBtn:hover{
  background:
    radial-gradient(96% 94% at 50% 14%, rgba(255,255,255,.072), rgba(255,255,255,0) 57%),
    linear-gradient(180deg,#26262a 0%,#1a1a1e 62%,#141417 100%)!important;
  border-color:rgba(255,255,255,.105)!important;
  box-shadow:var(--v133-hover-shadow)!important;
  transform:translateY(-.4px)!important;
}
#page-text-presets .v121-text-rail-actions .text-small-btn:active,
#page-text-presets #applySelectedPresetBtn:active,
#page-text-presets #clearSelectedPresetBtn:active{
  background:
    radial-gradient(82% 72% at 50% 35%, rgba(255,255,255,.032), rgba(255,255,255,0) 68%),
    linear-gradient(180deg,#17171b 0%,#121216 100%)!important;
  border-color:var(--v133-rim)!important;
  box-shadow:var(--v133-pressed-shadow)!important;
  transform:translateY(1px)!important;
}
#page-text-presets #clearSelectedPresetBtn{color:rgba(245,246,248,.62)!important;}
#page-text-presets #clearSelectedPresetBtn:hover{color:rgba(245,246,248,.86)!important;}

/* Dropdowns keep the physical button material, but the arrow is a required part of the component. */
#page-text-presets .v121-smart-top-controls select,
#page-text-presets .smart-select-row select,
#page-text-presets select{
  height:36px!important;
  min-height:36px!important;
  border-radius:18px!important;
  border:1px solid var(--v133-btn-border)!important;
  padding:0 28px 0 14px!important;
  color:#f4f7fb!important;
  font-size:11.5px!important;
  font-weight:760!important;
  text-align:left!important;
  text-align-last:auto!important;
  background-color:#161618!important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1.2 1 5 4.6 8.8 1' fill='none' stroke='%23F2F4F7' stroke-width='1.35' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"),
    radial-gradient(96% 94% at 50% 16%, rgba(255,255,255,.055), rgba(255,255,255,0) 58%),
    linear-gradient(180deg,var(--v133-btn-top) 0%,var(--v133-btn-mid) 62%,var(--v133-btn-bottom) 100%)!important;
  background-repeat:no-repeat,no-repeat,no-repeat!important;
  background-position:right 12px center,0 0,0 0!important;
  background-size:10px 6px,100% 100%,100% 100%!important;
  box-shadow:var(--v133-shadow)!important;
  -webkit-appearance:none!important;
  appearance:none!important;
}
#page-text-presets .v121-smart-top-controls select:hover,
#page-text-presets .smart-select-row select:hover,
#page-text-presets select:hover{
  border-color:rgba(255,255,255,.105)!important;
  box-shadow:var(--v133-hover-shadow)!important;
}
#page-text-presets .v121-smart-top-controls select option,
#page-text-presets .smart-select-row select option,
#page-text-presets select option{
  background:#161618!important;
  color:#fff!important;
}

/* Sliders: 2x wider physical strip with rounded external caps for both black and white segments. */
#page-text-presets input[type="range"]{
  height:26px!important;
  min-height:26px!important;
  padding:9px 0!important;
  border-radius:999px!important;
  --range-fill:0%;
  background:
    radial-gradient(circle at 4px 50%, var(--v133-fill) 0 4px, transparent 4.15px) 0 50% / 8px 8px no-repeat,
    radial-gradient(circle at calc(100% - 4px) 50%, var(--v133-track) 0 4px, transparent 4.15px) 100% 50% / 8px 8px no-repeat,
    linear-gradient(90deg,var(--v133-fill) 0%,var(--v133-fill) var(--range-fill),var(--v133-track) var(--range-fill),var(--v133-track) 100%) 4px 50% / calc(100% - 8px) 8px no-repeat!important;
  box-shadow:none!important;
}
#page-text-presets input[type="range"]::-webkit-slider-runnable-track{
  height:8px!important;
  background:transparent!important;
  border-radius:999px!important;
}
#page-text-presets input[type="range"]::-moz-range-track{
  height:8px!important;
  background:transparent!important;
  border-radius:999px!important;
}
#page-text-presets input[type="range"]::-webkit-slider-thumb{
  width:14px!important;
  height:14px!important;
  margin-top:-3px!important;
  border-radius:50%!important;
  background:linear-gradient(180deg,#fbfcfd,#d6dbe2)!important;
  border:1px solid rgba(255,255,255,.34)!important;
  box-shadow:0 2px 7px rgba(0,0,0,.28)!important;
  cursor:pointer!important;
}
#page-text-presets input[type="range"]::-moz-range-thumb{
  width:14px!important;
  height:14px!important;
  border-radius:50%!important;
  background:linear-gradient(180deg,#fbfcfd,#d6dbe2)!important;
  border:1px solid rgba(255,255,255,.34)!important;
  box-shadow:0 2px 7px rgba(0,0,0,.28)!important;
  cursor:pointer!important;
}

@media (max-width:420px){
  #page-text-presets input[type="range"]{height:25px!important;min-height:25px!important;padding:8px 0!important;}
  #page-text-presets .v121-text-rail-actions .text-small-btn{height:38px!important;min-height:38px!important;border-radius:19px!important;}
}

/* v135 — Basic Neumorphism action controls.
   Contract: do not restyle preset selection rail (#presetGrid) or main navigation (#tabbar). */
:root{
  --v135-neu-bg:#232323;
  --v135-neu-bg-hover:#252525;
  --v135-neu-bg-press:#202020;
  --v135-neu-light:rgba(255,255,255,.052);
  --v135-neu-light-soft:rgba(255,255,255,.034);
  --v135-neu-dark:rgba(0,0,0,.60);
  --v135-neu-dark-soft:rgba(0,0,0,.44);
  --v135-neu-border:rgba(255,255,255,.034);
  --v135-neu-border-hover:rgba(255,255,255,.052);
  --v135-neu-text:#f1f2f4;
  --v135-neu-muted:rgba(241,242,244,.56);
}

/* Action buttons: Save / Add / Apply / Clear only. No preset rail, no top menu. */
#page-text-presets .v121-text-rail-actions .text-small-btn,
#page-text-presets #applySelectedPresetBtn,
#page-text-presets #clearSelectedPresetBtn{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background:var(--v135-neu-bg)!important;
  background-image:none!important;
  border:1px solid var(--v135-neu-border)!important;
  box-shadow:
    -4px -4px 9px var(--v135-neu-light-soft),
    6px 6px 13px var(--v135-neu-dark-soft),
    inset 0 0 0 1px rgba(255,255,255,.010)!important;
  color:var(--v135-neu-text)!important;
  text-shadow:0 1px 1px rgba(0,0,0,.45)!important;
  transition:background-color .13s ease,border-color .13s ease,box-shadow .13s ease,transform .13s ease,color .13s ease,opacity .13s ease!important;
}
#page-text-presets .v121-text-rail-actions .text-small-btn::before,
#page-text-presets #applySelectedPresetBtn::before,
#page-text-presets #clearSelectedPresetBtn::before,
#page-text-presets .v121-text-rail-actions .text-small-btn::after,
#page-text-presets #applySelectedPresetBtn::after,
#page-text-presets #clearSelectedPresetBtn::after{
  content:none!important;
  display:none!important;
}
#page-text-presets .v121-text-rail-actions .text-small-btn:hover,
#page-text-presets #applySelectedPresetBtn:hover,
#page-text-presets #clearSelectedPresetBtn:hover{
  background:var(--v135-neu-bg-hover)!important;
  background-image:none!important;
  border-color:var(--v135-neu-border-hover)!important;
  box-shadow:
    -4px -4px 10px rgba(255,255,255,.045),
    5px 5px 11px rgba(0,0,0,.52),
    inset 0 0 0 1px rgba(255,255,255,.014)!important;
  transform:translateY(-.25px)!important;
}
#page-text-presets .v121-text-rail-actions .text-small-btn:active,
#page-text-presets #applySelectedPresetBtn:active,
#page-text-presets #clearSelectedPresetBtn:active{
  background:var(--v135-neu-bg-press)!important;
  background-image:none!important;
  border-color:rgba(255,255,255,.026)!important;
  box-shadow:
    inset 4px 4px 9px rgba(0,0,0,.62),
    inset -4px -4px 9px rgba(255,255,255,.035),
    0 1px 0 rgba(255,255,255,.018)!important;
  transform:translateY(1px)!important;
}
#page-text-presets #clearSelectedPresetBtn{
  color:var(--v135-neu-muted)!important;
}
#page-text-presets #clearSelectedPresetBtn:hover{
  color:rgba(241,242,244,.78)!important;
}

/* Dropdowns get the same neumorphic material, with the arrow explicitly preserved. */
#page-text-presets .v121-smart-top-controls select,
#page-text-presets .smart-select-row select{
  position:relative!important;
  border:1px solid var(--v135-neu-border)!important;
  background-color:var(--v135-neu-bg)!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1.35 1.25 5 4.55 8.65 1.25' fill='none' stroke='%23ECEEF1' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 13px center!important;
  background-size:10px 6px!important;
  box-shadow:
    -4px -4px 9px var(--v135-neu-light-soft),
    6px 6px 13px var(--v135-neu-dark-soft),
    inset 0 0 0 1px rgba(255,255,255,.010)!important;
  color:var(--v135-neu-text)!important;
  text-shadow:0 1px 1px rgba(0,0,0,.45)!important;
  -webkit-appearance:none!important;
  appearance:none!important;
}
#page-text-presets .v121-smart-top-controls select:hover,
#page-text-presets .smart-select-row select:hover{
  border-color:var(--v135-neu-border-hover)!important;
  background-color:var(--v135-neu-bg-hover)!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1.35 1.25 5 4.55 8.65 1.25' fill='none' stroke='%23FFFFFF' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  box-shadow:
    -4px -4px 10px rgba(255,255,255,.045),
    5px 5px 11px rgba(0,0,0,.52),
    inset 0 0 0 1px rgba(255,255,255,.014)!important;
}
#page-text-presets .v121-smart-top-controls select:active,
#page-text-presets .smart-select-row select:active{
  background-color:var(--v135-neu-bg-press)!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1.35 1.25 5 4.55 8.65 1.25' fill='none' stroke='%23D8DCE3' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  box-shadow:
    inset 4px 4px 9px rgba(0,0,0,.62),
    inset -4px -4px 9px rgba(255,255,255,.035),
    0 1px 0 rgba(255,255,255,.018)!important;
}

/* Explicit non-touch guardrails for the two areas the user asked to preserve. */
#page-text-presets #presetGrid .preset-card,
#tabbar.compact-tabbar .tab-btn{
  /* v135 does not target these components */
}

/* v136 — Neumorphism requires equal material between controls and surrounding text-page surfaces.
   Keep preset rail and top main menu untouched; only neutralize the text presets work area surfaces. */
:root{
  --v136-neu-surface:#232323;
  --v136-neu-surface-edge:rgba(255,255,255,.022);
  --v136-neu-surface-hi:rgba(255,255,255,.040);
  --v136-neu-surface-lo:rgba(0,0,0,.54);
  --v136-neu-surface-inset:rgba(255,255,255,.010);
}
#page-text-presets{
  background:var(--v136-neu-surface)!important;
}
#page-text-presets .preview-card{
  background:var(--v136-neu-surface)!important;
}
#page-text-presets .preset-stage,
#page-text-presets #v124SliderCard,
#page-text-presets #v124CustomSliderCard{
  background:var(--v136-neu-surface)!important;
  background-image:none!important;
  border:1px solid var(--v136-neu-surface-edge)!important;
  box-shadow:
    -4px -4px 10px var(--v136-neu-surface-hi),
    7px 7px 16px var(--v136-neu-surface-lo),
    inset 0 0 0 1px var(--v136-neu-surface-inset)!important;
}
#page-text-presets #presetStage .smart-preview-text{
  text-shadow:0 1px 2px rgba(0,0,0,.42)!important;
}
#page-text-presets .smart-control-row label b{
  color:rgba(241,242,244,.48)!important;
}
#page-text-presets .smart-control-row label{
  color:rgba(241,242,244,.94)!important;
}

/* v137 — propagate the graphite neumorphism to preset rail and main icon menu.
   Based on user feedback: same material family, sharper less blurry light/dark offsets.
   Keep layout and hierarchy; active preset remains the clearest state. */
:root{
  --v137-bg:#232323;
  --v137-panel:#232323;
  --v137-panel-2:#252525;
  --v137-stroke:rgba(255,255,255,.024);
  --v137-light:rgba(255,255,255,.060);
  --v137-light-soft:rgba(255,255,255,.034);
  --v137-dark:rgba(0,0,0,.58);
  --v137-dark-strong:rgba(0,0,0,.72);
  --v137-text:#f1f2f4;
  --v137-muted:rgba(241,242,244,.42);
  --v137-muted-2:rgba(241,242,244,.28);
  --v137-hard-raised:0 3px 8px var(--v137-dark);
  --v137-hard-raised-soft:0 2px 6px rgba(0,0,0,.4);
  --v137-hard-pressed:inset 0 2px 4px rgba(0,0,0,.52);
}

html,body{
  background:linear-gradient(180deg,#202020 0%, #1c1c1c 100%)!important;
}
body,.app-shell,.page{background:transparent!important;}
.app-shell.compact-shell{background:transparent!important;}

/* Main icon menu container: same material, sharper edge shadows. */
body #tabbar.compact-tabbar,
body .tabbar.compact-tabbar,
body #v120Nav.v120-nav,
body .v120-nav{
  background:var(--v137-panel)!important;
  background-image:none!important;
  border:1px solid var(--v137-stroke)!important;
  box-shadow:var(--v137-hard-raised)!important;
}

/* Main icon/text buttons inside the top menu. */
body #tabbar.compact-tabbar .tab-btn,
body #tabbar.compact-tabbar .page-tab-btn,
body .tabbar.compact-tabbar .tab-btn,
body #v120Nav.v120-nav .v120-nav-btn,
body #v120Nav.v120-nav .tab-btn{
  background:transparent!important;
  background-image:none!important;
  border:1px solid transparent!important;
  box-shadow:none!important;
  color:var(--v137-muted)!important;
}
body #tabbar.compact-tabbar .tab-btn + .tab-btn::before,
body .tabbar.compact-tabbar .tab-btn + .tab-btn::before,
body #v120Nav.v120-nav .v120-nav-btn + .v120-nav-btn::before{
  background:rgba(0,0,0,.26)!important;
  box-shadow:1px 0 0 rgba(255,255,255,.038)!important;
}
body #tabbar.compact-tabbar .tab-btn:hover,
body #tabbar.compact-tabbar .page-tab-btn:hover,
body .tabbar.compact-tabbar .tab-btn:hover,
body #v120Nav.v120-nav .v120-nav-btn:hover,
body #v120Nav.v120-nav .tab-btn:hover{
  color:rgba(241,242,244,.70)!important;
}
body #tabbar.compact-tabbar .tab-btn.active,
body #tabbar.compact-tabbar .page-tab-btn.active,
body .tabbar.compact-tabbar .tab-btn.active,
body button.tab-btn.active,
body #v120Nav.v120-nav .v120-nav-btn.active,
body #v120Nav.v120-nav .tab-btn.active{
  background:var(--v137-panel-2)!important;
  background-image:none!important;
  border:1px solid rgba(255,255,255,.030)!important;
  box-shadow:var(--v137-hard-raised-soft)!important;
  color:var(--v137-text)!important;
}
body #tabbar.compact-tabbar .tab-btn.active::after,
body .tabbar.compact-tabbar .tab-btn.active::after,
body #v120Nav.v120-nav .v120-nav-btn.active::after{
  background:rgba(255,255,255,.22)!important;
  height:1px!important;
  bottom:4px!important;
}

/* Preset rail shell adopts the same graphite material. */
#page-text-presets .preset-icons-card{
  background:var(--v137-panel)!important;
  background-image:none!important;
  border:1px solid var(--v137-stroke)!important;
  box-shadow:var(--v137-hard-raised)!important;
}
#presetGrid.icon-only-grid{gap:8px!important;}

/* Inactive presets remain subdued, but now belong to the same material family. */
#page-text-presets #presetGrid .preset-card,
#page-text-presets #presetGrid.icon-only-grid .preset-card,
#presetGrid.icon-only-grid .preset-card,
#presetGrid .preset-card{
  background:var(--v137-panel)!important;
  background-image:none!important;
  border:1px solid rgba(255,255,255,.018)!important;
  box-shadow:var(--v137-hard-raised-soft)!important;
  opacity:.46!important;
}
#page-text-presets #presetGrid .preset-card .icon-mini-text,
#presetGrid .preset-card .icon-mini-text{
  color:rgba(241,242,244,.40)!important;
}
#page-text-presets #presetGrid .preset-card:not(.active):hover,
#presetGrid .preset-card:not(.active):hover{
  opacity:.68!important;
  background:var(--v137-panel-2)!important;
  border-color:rgba(255,255,255,.024)!important;
  box-shadow:var(--v137-hard-raised-soft)!important;
}
#page-text-presets #presetGrid .preset-card.active,
#page-text-presets #presetGrid.icon-only-grid .preset-card.active,
#presetGrid .preset-card.active,
#presetGrid.icon-only-grid .preset-card.active{
  background:var(--v137-panel-2)!important;
  background-image:none!important;
  border:1px solid rgba(255,255,255,.030)!important;
  box-shadow:var(--v137-hard-raised)!important;
  opacity:1!important;
}
#page-text-presets #presetGrid .preset-card.active:active,
#presetGrid .preset-card.active:active{
  box-shadow:var(--v137-hard-pressed)!important;
  background:#212121!important;
}
#page-text-presets #presetGrid .preset-card.active .icon-mini-text,
#presetGrid .preset-card.active .icon-mini-text{color:#fff!important;}

/* Bring Save/Add buttons in line with the sharper shadow recipe too. */
#page-text-presets .v121-text-rail-actions .text-small-btn,
#page-text-presets #applySelectedPresetBtn,
#page-text-presets #clearSelectedPresetBtn,
#page-text-presets .v121-smart-top-controls select,
#page-text-presets .smart-select-row select,
#page-text-presets .preset-stage,
#page-text-presets #v124SliderCard,
#page-text-presets #v124CustomSliderCard{
  box-shadow:var(--v137-hard-raised)!important;
}
#page-text-presets .v121-text-rail-actions .text-small-btn:hover,
#page-text-presets #applySelectedPresetBtn:hover,
#page-text-presets #clearSelectedPresetBtn:hover,
#page-text-presets .v121-smart-top-controls select:hover,
#page-text-presets .smart-select-row select:hover{
  box-shadow:var(--v137-hard-raised-soft)!important;
}
#page-text-presets .v121-text-rail-actions .text-small-btn:active,
#page-text-presets #applySelectedPresetBtn:active,
#page-text-presets #clearSelectedPresetBtn:active,
#page-text-presets .v121-smart-top-controls select:active,
#page-text-presets .smart-select-row select:active{
  box-shadow:var(--v137-hard-pressed)!important;
}

/* v138 — live Style Lab and full material color variables.
   Removes the remaining black top-menu underlay by making the shell use the same page material. */
:root{
  --v138-user-bg:#232323;
  --v138-user-control:#232323;
  --v138-user-button:#232323;
  --v138-edge:rgba(255,255,255,.026);
  --v138-edge-strong:rgba(255,255,255,.040);
  --v138-text:#f4f4f5;
  --v138-muted:rgba(244,244,245,.48);
  --v138-muted-soft:rgba(244,244,245,.30);
  --v138-hard-shadow:0 4px 10px rgba(0,0,0,.45);
  --v138-hard-shadow-small:0 2px 5px rgba(0,0,0,.36);
  --v138-hard-inset:inset 0 2px 4px rgba(0,0,0,.54);
}
html,body,#v120App,.app-shell.compact-shell{
  background:var(--v138-user-bg)!important;
  background-image:none!important;
}
body,.app-shell,.page,.v120-content{
  background:transparent!important;
  background-image:none!important;
}
#page-text-presets,
#page-settings{
  background:var(--v138-user-bg)!important;
  background-image:none!important;
}
#page-text-presets .preview-card,
#page-settings .v138-settings-wrap{
  background:var(--v138-user-bg)!important;
}

/* Top menu: no separate black backing, 8 icons including Settings. */
body #v120Nav.v120-nav,
body .v120-nav,
body #tabbar.compact-tabbar,
body .tabbar.compact-tabbar{
  grid-template-columns:repeat(8,minmax(0,1fr))!important;
  background:var(--v138-user-bg)!important;
  background-image:none!important;
  border:1px solid var(--v138-edge)!important;
  box-shadow:var(--v138-hard-shadow-small)!important;
}
body #v120Nav.v120-nav .v120-nav-btn,
body #v120Nav.v120-nav .tab-btn,
body #tabbar.compact-tabbar .tab-btn,
body .tabbar.compact-tabbar .tab-btn{
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  color:var(--v138-muted)!important;
}
body #v120Nav.v120-nav .v120-nav-btn + .v120-nav-btn::before,
body #tabbar.compact-tabbar .tab-btn + .tab-btn::before,
body .tabbar.compact-tabbar .tab-btn + .tab-btn::before{
  background:rgba(0,0,0,.22)!important;
  box-shadow:1px 0 0 rgba(255,255,255,.035)!important;
}
body #v120Nav.v120-nav .v120-nav-btn.active,
body #v120Nav.v120-nav .tab-btn.active,
body #tabbar.compact-tabbar .tab-btn.active,
body .tabbar.compact-tabbar .tab-btn.active,
body button.tab-btn.active{
  background:var(--v138-user-button)!important;
  background-image:none!important;
  border:1px solid var(--v138-edge-strong)!important;
  box-shadow:var(--v138-hard-shadow-small)!important;
  color:var(--v138-text)!important;
}
body #v120Nav.v120-nav .v120-nav-btn.active::after,
body #tabbar.compact-tabbar .tab-btn.active::after,
body .tabbar.compact-tabbar .tab-btn.active::after{
  background:rgba(255,255,255,.18)!important;
  box-shadow:none!important;
}
body #v120Nav.v120-nav .v120-nav-btn[data-page="settings"] span{
  font-family:Inter,Arial,Helvetica,sans-serif!important;
  font-size:16px!important;
  font-weight:850!important;
  letter-spacing:-.04em!important;
}

/* Shared material mapping */
#page-text-presets .preset-icons-card{
  background:var(--v138-user-bg)!important;
  background-image:none!important;
  border-color:var(--v138-edge)!important;
  box-shadow:var(--v138-hard-shadow-small)!important;
}
#page-text-presets .preset-stage,
#page-text-presets #v124SliderCard,
#page-text-presets #v124CustomSliderCard,
#page-settings .v138-settings-card,
#page-settings .v138-live-preview,
#page-settings .v138-preview-control,
#page-settings .v138-preview-panel{
  background:var(--v138-user-control)!important;
  background-image:none!important;
  border:1px solid var(--v138-edge)!important;
  box-shadow:var(--v138-hard-shadow)!important;
}
#page-text-presets #presetGrid .preset-card,
#page-text-presets #presetGrid.icon-only-grid .preset-card,
#presetGrid .preset-card,
#presetGrid.icon-only-grid .preset-card,
#page-text-presets .v121-text-rail-actions .text-small-btn,
#page-text-presets #applySelectedPresetBtn,
#page-text-presets #clearSelectedPresetBtn,
#page-settings .v138-reset-btn,
#page-settings .v138-preview-btn{
  background:var(--v138-user-button)!important;
  background-image:none!important;
  border:1px solid var(--v138-edge-strong)!important;
  box-shadow:var(--v138-hard-shadow-small)!important;
  color:var(--v138-text)!important;
}
#page-text-presets .v121-smart-top-controls select,
#page-text-presets .smart-select-row select{
  background-color:var(--v138-user-control)!important;
  border-color:var(--v138-edge-strong)!important;
  box-shadow:var(--v138-hard-shadow-small)!important;
  color:var(--v138-text)!important;
}
#page-text-presets .v121-smart-top-controls select:hover,
#page-text-presets .smart-select-row select:hover,
#page-text-presets .v121-text-rail-actions .text-small-btn:hover,
#page-text-presets #applySelectedPresetBtn:hover,
#page-text-presets #clearSelectedPresetBtn:hover,
#page-settings .v138-reset-btn:hover,
#page-settings .v138-preview-btn:hover,
#page-text-presets #presetGrid .preset-card:not(.active):hover{
  box-shadow:var(--v138-hard-shadow)!important;
  color:#fff!important;
}
#page-text-presets .v121-smart-top-controls select:active,
#page-text-presets .smart-select-row select:active,
#page-text-presets .v121-text-rail-actions .text-small-btn:active,
#page-text-presets #applySelectedPresetBtn:active,
#page-text-presets #clearSelectedPresetBtn:active,
#page-settings .v138-reset-btn:active,
#page-settings .v138-preview-btn:active,
#page-text-presets #presetGrid .preset-card.active:active{
  box-shadow:var(--v138-hard-inset)!important;
  transform:translateY(1px)!important;
}
#page-text-presets #presetGrid .preset-card{opacity:.45!important;}
#page-text-presets #presetGrid .preset-card.active{opacity:1!important;}
#page-text-presets #clearSelectedPresetBtn{color:rgba(244,244,245,.58)!important;}

/* Slider auxiliary material. Track remains readable and text stays white. */
#page-text-presets input[type="range"]{
  --v138-track-dark:rgba(0,0,0,.44);
  --v138-track-fill:#f2f4f7;
  background:
    radial-gradient(circle at 4px 50%, var(--v138-track-fill) 0 4px, transparent 4.15px) 0 50% / 8px 8px no-repeat,
    radial-gradient(circle at calc(100% - 4px) 50%, var(--v138-track-dark) 0 4px, transparent 4.15px) 100% 50% / 8px 8px no-repeat,
    linear-gradient(90deg,var(--v138-track-fill) 0%,var(--v138-track-fill) var(--range-fill),var(--v138-track-dark) var(--range-fill),var(--v138-track-dark) 100%) 4px 50% / calc(100% - 8px) 8px no-repeat!important;
}
#page-text-presets input[type="range"]::-webkit-slider-thumb{
  background:#f2f4f7!important;
  box-shadow:0 1px 3px rgba(0,0,0,.5)!important;
}

/* Settings page */
#page-settings.v138-settings-page{
  overflow:auto!important;
  padding:0!important;
  scrollbar-width:none!important;
}
#page-settings.v138-settings-page::-webkit-scrollbar{display:none!important;}
#page-settings .v138-settings-wrap{
  min-height:100%!important;
  padding:0!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
}
#page-settings .v138-settings-card{
  width:100%!important;
  max-width:430px!important;
  border-radius:26px!important;
  padding:14px!important;
  color:var(--v138-text)!important;
}
#page-settings .v138-settings-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin:0 0 9px!important;
}
#page-settings .v138-kicker{
  font-size:9px!important;
  font-weight:850!important;
  letter-spacing:.16em!important;
  color:var(--v138-muted-soft)!important;
  margin-bottom:3px!important;
}
#page-settings h2{
  margin:0!important;
  font-size:24px!important;
  line-height:1!important;
  letter-spacing:-.04em!important;
  color:#fff!important;
}
#page-settings .v138-settings-note{
  margin:0 0 14px!important;
  color:var(--v138-muted)!important;
  font-size:11px!important;
  line-height:1.35!important;
}
#page-settings .v138-reset-btn{
  min-height:34px!important;
  height:34px!important;
  padding:0 16px!important;
  border-radius:17px!important;
  font-size:11px!important;
  font-weight:820!important;
}
#page-settings .v138-color-row{
  padding:11px 0 12px!important;
  border-top:1px solid rgba(255,255,255,.035)!important;
}
#page-settings .v138-color-main{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-bottom:10px!important;
}
#page-settings .v138-color-main strong{
  display:block!important;
  font-size:12px!important;
  line-height:1.1!important;
  color:#fff!important;
  font-weight:850!important;
}
#page-settings .v138-color-main span{
  display:block!important;
  margin-top:3px!important;
  font-size:10px!important;
  line-height:1.2!important;
  color:var(--v138-muted)!important;
  font-weight:650!important;
}
#page-settings .v138-color-picker{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  min-width:96px!important;
  justify-content:flex-end!important;
}
#page-settings .v138-color-picker input{
  width:34px!important;
  height:28px!important;
  min-height:28px!important;
  padding:0!important;
  border:1px solid var(--v138-edge-strong)!important;
  border-radius:10px!important;
  background:transparent!important;
  box-shadow:var(--v138-hard-shadow-small)!important;
  overflow:hidden!important;
}
#page-settings .v138-color-picker input::-webkit-color-swatch-wrapper{padding:0!important;}
#page-settings .v138-color-picker input::-webkit-color-swatch{border:0!important;border-radius:8px!important;}
#page-settings .v138-color-picker em{
  font-style:normal!important;
  color:var(--v138-muted)!important;
  font-size:10px!important;
  font-weight:760!important;
  width:48px!important;
  text-align:right!important;
}
#page-settings .v138-swatches{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:8px!important;
}
#page-settings .v138-swatch{
  height:30px!important;
  min-height:30px!important;
  border-radius:12px!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.034)!important;
  background:var(--swatch)!important;
  box-shadow:0 2px 6px rgba(0,0,0,.4)!important;
}
#page-settings .v138-swatch.is-active{
  outline:1px solid rgba(255,255,255,.42)!important;
  outline-offset:2px!important;
}
#page-settings .v138-live-preview{
  margin-top:14px!important;
  border-radius:22px!important;
  padding:12px!important;
  display:grid!important;
  grid-template-columns:90px 1fr!important;
  gap:10px!important;
  align-items:center!important;
}
#page-settings .v138-preview-btn{
  height:38px!important;
  min-height:38px!important;
  border-radius:19px!important;
  font-size:12px!important;
  font-weight:850!important;
}
#page-settings .v138-preview-control{
  height:38px!important;
  border-radius:19px!important;
  padding:0 14px!important;
  display:flex!important;
  align-items:center!important;
}
#page-settings .v138-preview-control span{
  display:block!important;
  width:72%!important;
  height:8px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#f2f4f7 0 42%, rgba(0,0,0,.42) 42% 100%)!important;
}
#page-settings .v138-preview-panel{
  grid-column:1/-1!important;
  height:58px!important;
  border-radius:18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:var(--v138-muted)!important;
  font-size:11px!important;
  font-weight:760!important;
}
@media(max-width:330px){
  body #v120Nav.v120-nav .v120-nav-btn span{font-size:15px!important;}
  body #v120Nav.v120-nav .v120-nav-btn[data-page="text-presets"] span{font-size:21px!important;}
  body #v120Nav.v120-nav .v120-nav-btn[data-page="toolkit"] span{font-size:23px!important;}
  #page-settings .v138-settings-card{border-radius:22px!important;padding:12px!important;}
  #page-settings .v138-swatches{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  #page-settings .v138-live-preview{grid-template-columns:1fr!important;}
}

/* ===== css/ui_graph_v141.css ===== */
/* v141 — Graph page layout + speed graph controls repair.
   Based on real index.html render; replaces v140 graph patch.
   Original note:
   One-page patch: fixes real #page-graph-editor only, keeps existing JS functionality. */

html body #v120Content > #page-graph-editor.v120-graph-page,
html body #v120Content #page-graph-editor,
html body #page-graph-editor{
  --g-bg: var(--aptk-bg, #232323);
  --g-surface: var(--aptk-surface, #232323);
  --g-text: #f4f4f5;
  --g-muted: rgba(244,244,245,.50);
  --g-muted-soft: rgba(244,244,245,.30);
  --g-line: rgba(255,255,255,.045);
  --g-line-strong: rgba(255,255,255,.075);
  --g-inset: inset 0 2px 4px rgba(0,0,0,.58);
  --g-outset: 0 3px 8px rgba(0,0,0,.42);
  --g-outset-soft: 0 2px 5px rgba(0,0,0,.36);
  height: 100% !important;
  min-height: 0 !important;
  padding: 7px 6px 7px !important;
  overflow: hidden !important;
  background: var(--g-bg) !important;
  background-image: none !important;
  scrollbar-width: none !important;
}

html body #page-graph-editor::-webkit-scrollbar{display:none!important;}

html body #v120Content #page-graph-editor #graphPagePro.v120-graph-layout,
html body #page-graph-editor #graphPagePro{
  width: 100% !important;
  height: 100% !important;
  max-width: 468px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
  grid-template-rows: auto minmax(0,1fr) !important;
  align-content: stretch !important;
  gap: 8px !important;
  overflow: hidden !important;
}

html body #page-graph-editor #graphResizer{
  display:none!important;
}

html body #page-graph-editor .graph-left-pane,
html body #v120Content #page-graph-editor .graph-left-pane.card{
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 10px 10px 10px !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
  grid-template-rows: auto auto auto !important;
  gap: 8px !important;
  overflow: visible !important;
  border-radius: 10px !important;
  border: 1px solid rgba(255,255,255,.032) !important;
  background: var(--g-surface) !important;
  background-image: none !important;
  box-shadow: var(--g-outset) !important;
  color: var(--g-text) !important;
}

html body #page-graph-editor .graph-head,
html body #page-graph-editor .graph-left-pane .mini-head{
  display:none!important;
}

html body #page-graph-editor .graph-square-wrap{
  order: 1 !important;
  width: 100% !important;
  height: clamp(214px, calc(100vw - 128px), 255px) !important;
  min-height: 214px !important;
  max-height: 255px !important;
  aspect-ratio: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  position: relative !important;
  overflow: visible !important;
}



html body #page-graph-editor .graph-square-wrap .graph-mode-toggle{
  position: absolute !important;
  z-index: 5 !important;
  left: 10px !important;
  top: 10px !important;
}

html body #page-graph-editor .graph-reset-btn{
  position: absolute !important;
  z-index: 6 !important;
  right: 10px !important;
  top: 10px !important;
  height: 25px !important;
  min-height: 25px !important;
  width: 58px !important;
  padding: 0 9px !important;
  border-radius: 13px !important;
  border: 1px solid rgba(255,255,255,.050) !important;
  background: rgba(35,35,35,.92) !important;
  background-image: linear-gradient(180deg, rgba(255,255,255,.030), rgba(0,0,0,.045)) !important;
  box-shadow: var(--g-outset-soft) !important;
  color: rgba(244,244,245,.76) !important;
  text-shadow: none !important;
  font-size: 8px !important;
  line-height: 1 !important;
  font-weight: 850 !important;
  letter-spacing: .018em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
}
html body #page-graph-editor .graph-reset-btn:hover{
  color:#fff!important;
  border-color:rgba(244,244,245,.12)!important;
  box-shadow:var(--g-outset)!important;
}
html body #page-graph-editor .graph-reset-btn:active{
  transform:translateY(1px)!important;
  box-shadow:var(--g-inset)!important;
}

html body #page-graph-editor .square-graph-stage,
html body #page-graph-editor .graph-stage.square-graph-stage,
html body #page-graph-editor .graph-stage{
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  margin: 0 !important;
  padding: 5px !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  border: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

html body #page-graph-editor #graphSvg{
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  overflow: visible !important;
}

html body #page-graph-editor .grid-lines line{
  stroke: rgba(255,255,255,.105) !important;
  stroke-width: .65 !important;
}

html body #page-graph-editor .graph-path.main,
html body #page-graph-editor #graphPathMain{
  stroke: #f2f4f7 !important;
  stroke-width: 2.7 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  filter: none !important;
}

html body #page-graph-editor .graph-path.ghost,
html body #page-graph-editor #graphPathGhost{
  stroke: rgba(244,244,245,.22) !important;
  stroke-width: 1.35 !important;
  opacity: 1 !important;
}

html body #page-graph-editor .graph-handle-line{
  stroke: rgba(244,244,245,.82) !important;
  stroke-width: 1.65 !important;
  opacity: .92 !important;
}

html body #page-graph-editor #graphStart,
html body #page-graph-editor #graphEnd,
html body #page-graph-editor .graph-handle{
  fill: #202020 !important;
  stroke: #f2f4f7 !important;
  stroke-width: 1.65 !important;
  filter: none !important;
  vector-effect: non-scaling-stroke !important;
}

html body #page-graph-editor .graph-handle-line{
  vector-effect: non-scaling-stroke !important;
}

html body #page-graph-editor .graph-handle-hitbox{
  fill: rgba(255,255,255,0) !important;
  stroke: rgba(255,255,255,0) !important;
  pointer-events: all !important;
  cursor: grab !important;
}

html body #page-graph-editor .graph-mode-toggle{
  order: 0 !important;
  height: 25px !important;
  min-height: 25px !important;
  width: auto !important;
  display: grid !important;
  grid-template-columns: 78px 78px !important;
  justify-content: start !important;
  align-items: stretch !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

html body #page-graph-editor .graph-mode-btn,
html body #page-graph-editor .graph-side-btn,
html body #page-graph-editor .graph-values-btn{
  min-height: 0 !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 10px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255,255,255,.050) !important;
  background: rgba(35,35,35,.92) !important;
  background-image: none !important;
  box-shadow: var(--g-outset-soft) !important;
  color: rgba(244,244,245,.82) !important;
  text-shadow: none !important;
  font-size: 8px !important;
  line-height: 1 !important;
  font-weight: 850 !important;
  letter-spacing: .015em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  cursor: pointer !important;
}
/* .graph-apply-wide intentionally excluded above — it's the page's
   primary/Apply button, styled app-wide by qwix_theme.css, not one of
   this toolbar's small mode/side/values utility buttons. Grouping it in
   here forced Graph's Apply to read "APPLY" (uppercase, tiny 8px toolbar
   type) while every other page's Apply reads "Apply" — same shared
   material, different label typography, for what's supposed to look
   identical everywhere. */
html body #page-graph-editor .graph-apply-wide{
  min-height: 0 !important;
  height: 100% !important;
  margin: 0 !important;
  cursor: pointer !important;
}

html body #page-graph-editor .graph-mode-btn.is-active,
html body #page-graph-editor .graph-mode-btn.active{
  color: #fff !important;
  border-color: rgba(244,244,245,.62) !important;
  box-shadow: var(--g-outset), inset 0 0 0 1px rgba(244,244,245,.050) !important;
}

html body #page-graph-editor .graph-mode-btn:hover,
html body #page-graph-editor .graph-side-btn:hover,
html body #page-graph-editor .graph-values-btn:hover,
html body #page-graph-editor .graph-card:hover{
  color:#fff!important;
  border-color:rgba(244,244,245,.105)!important;
  box-shadow:var(--g-outset)!important;
}

html body #page-graph-editor .graph-mode-btn:active,
html body #page-graph-editor .graph-side-btn:active,
html body #page-graph-editor .graph-values-btn:active,
html body #page-graph-editor .graph-card:active{
  transform: translateY(1px) !important;
  box-shadow: var(--g-inset) !important;
}

html body #page-graph-editor .graph-values-row{
  order: 2 !important;
  width: 100% !important;
  height: 31px !important;
  min-height: 31px !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: 58px minmax(0,1fr) 58px !important;
  gap: 7px !important;
  align-items: stretch !important;
}

html body #page-graph-editor .graph-side-btn{
  font-size: 9px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

html body #page-graph-editor .graph-values-btn{
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  font-size: 9px !important;
  color: rgba(244,244,245,.56) !important;
  font-variant-numeric: tabular-nums !important;
  text-transform: none !important;
  letter-spacing: .01em !important;
}

html body #page-graph-editor .graph-apply-wide{
  order: 3 !important;
  width: 100% !important;
  height: 34px !important;
  min-height: 34px !important;
  border-radius: 17px !important;
  font-size: 11px !important;
  letter-spacing: .055em !important;
  color: #f4f4f5 !important;
}

html body #page-graph-editor .hidden-graph-controls{
  display:none!important;
}

html body #page-graph-editor .graph-right-pane,
html body #v120Content #page-graph-editor .graph-right-pane.card{
  width: 100% !important;
  min-height: 0 !important;
  height: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 9px 10px !important;
  display: block !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  border-radius: 10px !important;
  border: 1px solid rgba(255,255,255,.032) !important;
  background: var(--g-surface) !important;
  background-image: none !important;
  box-shadow: var(--g-outset) !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(244,244,245,.42) transparent !important;
}

html body #page-graph-editor .graph-right-pane::-webkit-scrollbar,
html body #page-graph-editor .graph-icons-card::-webkit-scrollbar{
  width: 4px !important;
}
html body #page-graph-editor .graph-right-pane::-webkit-scrollbar-track,
html body #page-graph-editor .graph-icons-card::-webkit-scrollbar-track{
  background: transparent !important;
}
html body #page-graph-editor .graph-right-pane::-webkit-scrollbar-thumb,
html body #page-graph-editor .graph-icons-card::-webkit-scrollbar-thumb{
  background: rgba(244,244,245,.38) !important;
  border-radius: 999px !important;
}

html body #page-graph-editor #graphPresetGrid.compact-graph-grid,
html body #page-graph-editor .compact-graph-grid,
html body #page-graph-editor .graph-preset-grid{
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(54px, 1fr)) !important;
  gap: 7px !important;
  align-content: start !important;
  overflow: visible !important;
}

html body #page-graph-editor .graph-card{
  width: 100% !important;
  height: 50px !important;
  min-height: 50px !important;
  padding: 5px !important;
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) !important;
  gap: 0 !important;
  border-radius: 9px !important;
  border: 1px solid rgba(255,255,255,.030) !important;
  background: var(--g-surface) !important;
  background-image: none !important;
  box-shadow: var(--g-outset-soft) !important;
  opacity: .82 !important;
  overflow: hidden !important;
}

html body #page-graph-editor .graph-card.active{
  opacity: 1 !important;
  border-color: rgba(244,244,245,.28) !important;
  box-shadow: var(--g-outset), inset 0 0 0 1px rgba(244,244,245,.030) !important;
}

html body #page-graph-editor .graph-thumb-svg{
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  border-radius: 6px !important;
  background: rgba(0,0,0,.08) !important;
  overflow: hidden !important;
}

html body #page-graph-editor .graph-thumb-svg path:first-child{
  stroke: rgba(244,244,245,.13) !important;
}
html body #page-graph-editor .graph-thumb-svg path:last-child{
  stroke: rgba(244,244,245,.88) !important;
  stroke-width: 3.1 !important;
}

html body #page-graph-editor .graph-title{
  display: none !important;
}


@media (max-width: 330px){
  html body #page-graph-editor{padding:6px!important;}
  html body #page-graph-editor #graphPagePro{gap:7px!important;}
  html body #page-graph-editor .graph-left-pane{padding:9px!important;gap:7px!important;border-radius:9px!important;}
  html body #page-graph-editor .graph-square-wrap{height: clamp(200px, calc(100vw - 68px), 235px)!important;min-height:200px!important;}
  html body #page-graph-editor .graph-mode-toggle{height:24px!important;min-height:24px!important;grid-template-columns:73px 73px!important;gap:5px!important;left:9px!important;top:9px!important;}
  html body #page-graph-editor .graph-mode-btn{font-size:7px!important;padding:0 6px!important;}
  html body #page-graph-editor .graph-reset-btn{height:24px!important;min-height:24px!important;width:53px!important;right:9px!important;top:9px!important;font-size:7px!important;}
  html body #page-graph-editor .graph-values-row{height:30px!important;min-height:30px!important;grid-template-columns:48px minmax(0,1fr) 48px!important;gap:6px!important;}
  html body #page-graph-editor .graph-values-btn{font-size:7.7px!important;padding:0 6px!important;}
  html body #page-graph-editor .graph-side-btn{font-size:8px!important;padding:0 6px!important;}
  html body #page-graph-editor .graph-apply-wide{height:32px!important;min-height:32px!important;font-size:10px!important;}
  html body #page-graph-editor .graph-right-pane{padding:8px!important;border-radius:9px!important;}
  html body #page-graph-editor #graphPresetGrid{grid-template-columns:repeat(auto-fill,minmax(48px,1fr))!important;gap:6px!important;}
  html body #page-graph-editor .graph-card{height:48px!important;min-height:48px!important;grid-template-rows:minmax(0,1fr)!important;padding:5px!important;}
  html body #page-graph-editor .graph-thumb-svg{height:100%!important;}
}

@media (min-width: 500px){
  html body #page-graph-editor #graphPagePro{max-width:460px!important;}
  html body #page-graph-editor .graph-square-wrap{height:255px!important;}
}


/* v141 final graph control placement and preset thumbnails */
html body #page-graph-editor .graph-square-wrap{position:relative!important;}
html body #page-graph-editor .graph-square-wrap > .graph-mode-toggle{position:absolute!important;left:10px!important;top:10px!important;width:auto!important;height:25px!important;min-height:25px!important;grid-template-columns:78px 78px!important;z-index:5!important;}
html body #page-graph-editor .graph-square-wrap > .graph-mode-toggle .graph-mode-btn{height:25px!important;min-height:25px!important;border-radius:13px!important;font-size:8px!important;padding:0 8px!important;background:rgba(35,35,35,.92)!important;background-image:linear-gradient(180deg,rgba(255,255,255,.030),rgba(0,0,0,.045))!important;}
html body #page-graph-editor .graph-square-wrap > .graph-mode-toggle .graph-mode-btn.is-active{border-color:rgba(244,244,245,.64)!important;color:#fff!important;}
html body #page-graph-editor .graph-reset-btn{display:block!important;}
html body #page-graph-editor .graph-card{grid-template-rows:minmax(0,1fr)!important;}
html body #page-graph-editor .graph-title{display:none!important;}
html body #page-graph-editor .graph-thumb-svg path:last-child{stroke-width:3.15!important;}
@media (max-width:330px){
  html body #page-graph-editor .graph-square-wrap > .graph-mode-toggle{left:9px!important;top:9px!important;grid-template-columns:72px 72px!important;gap:5px!important;}
  html body #page-graph-editor .graph-square-wrap > .graph-mode-toggle .graph-mode-btn{height:24px!important;min-height:24px!important;font-size:7px!important;padding:0 5px!important;}
  html body #page-graph-editor .graph-reset-btn{height:24px!important;min-height:24px!important;width:52px!important;right:9px!important;top:9px!important;font-size:7px!important;}
}

/* ===== css/ui_graph_v143.css ===== */
/* v143 — Graph Speed handles: resize-safe SVG + free Y velocity movement.
   One-page patch for real #page-graph-editor only. */
html body #page-graph-editor .square-graph-stage,
html body #page-graph-editor .graph-stage.square-graph-stage,
html body #page-graph-editor .graph-stage{
  padding: 8px !important;
}

html body #page-graph-editor #graphSvg{
  overflow: visible !important;
  shape-rendering: geometricPrecision !important;
}

html body #page-graph-editor #graphStart,
html body #page-graph-editor #graphEnd,
html body #page-graph-editor .graph-handle{
  vector-effect: non-scaling-stroke !important;
  transform-box: fill-box !important;
  transform-origin: center !important;
}

html body #page-graph-editor .graph-handle-line,
html body #page-graph-editor .graph-path.main,
html body #page-graph-editor #graphPathMain,
html body #page-graph-editor .graph-path.ghost,
html body #page-graph-editor #graphPathGhost,
html body #page-graph-editor .grid-lines line{
  vector-effect: non-scaling-stroke !important;
}

html body #page-graph-editor .graph-handle-hitbox{
  pointer-events: all !important;
  cursor: grab !important;
}
html body #page-graph-editor .graph-handle-hitbox:active,
html body #page-graph-editor .graph-handle:active{
  cursor: grabbing !important;
}

@media (max-width: 330px){
  html body #page-graph-editor .square-graph-stage,
  html body #page-graph-editor .graph-stage.square-graph-stage,
  html body #page-graph-editor .graph-stage{
    padding: 7px !important;
  }
}

/* ===== css/ui_graph_v144.css ===== */
/* v144 — Graph microcopy polish: Speed / Value labels + icon-only reset. */
html body #page-graph-editor .graph-square-wrap > .graph-mode-toggle{
  grid-template-columns: repeat(2, minmax(0, auto)) !important;
  gap: 6px !important;
}

html body #page-graph-editor .graph-square-wrap > .graph-mode-toggle .graph-mode-btn{
  min-width: 64px !important;
  padding: 0 10px !important;
}

html body #page-graph-editor .graph-reset-btn{
  width: 29px !important;
  min-width: 29px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0 !important;
}

html body #page-graph-editor .graph-reset-btn .graph-reset-icon{
  display: inline-block !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  color: inherit !important;
  transform: translateY(-0.5px) !important;
}

html body #page-graph-editor .graph-reset-btn .graph-visually-hidden{
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (max-width: 330px){
  html body #page-graph-editor .graph-square-wrap > .graph-mode-toggle .graph-mode-btn{
    min-width: 58px !important;
    padding: 0 8px !important;
  }
  html body #page-graph-editor .graph-reset-btn{
    width: 28px !important;
    min-width: 28px !important;
  }
  html body #page-graph-editor .graph-reset-btn .graph-reset-icon{
    font-size: 13px !important;
  }
}

/* ===== css/ui_graph_v145.css ===== */
/* v145 — Graph toggle micro-buttons. */
html body #page-graph-editor .graph-square-wrap > .graph-mode-toggle{
  left: 8px !important;
  top: 9px !important;
  grid-template-columns: 28px 28px !important;
  gap: 4px !important;
}
html body #page-graph-editor .graph-square-wrap > .graph-mode-toggle .graph-mode-btn{
  min-width: 28px !important;
  width: 28px !important;
  padding: 0 !important;
  font-size: 8px !important;
  letter-spacing: .02em !important;
}
@media (max-width:330px){
  html body #page-graph-editor .graph-square-wrap > .graph-mode-toggle{left:7px!important; gap:4px!important;}
  html body #page-graph-editor .graph-square-wrap > .graph-mode-toggle .graph-mode-btn{min-width:26px!important;width:26px!important;font-size:8px!important;}
}

/* ===== css/ui_tools_v145.css ===== */
/* v145 — compact premium Tools page.
   One-page patch for real #page-toolkit; old bulky toolkit layout is neutralized below. */
html body #page-toolkit{
  --t-bg:#232323;
  --t-panel:#232323;
  --t-dark:#1f1f1f;
  --t-key:#262626;
  --t-key-hi:#2d2d2d;
  --t-text:#f4f4f5;
  --t-muted:rgba(244,244,245,.50);
  --t-line:rgba(255,255,255,.055);
  --t-line-strong:rgba(255,255,255,.105);
  --t-inset:inset 0 2px 4px rgba(0,0,0,.56);
  --t-outset:0 3px 8px rgba(0,0,0,.4);
  height:100% !important;
  min-height:0 !important;
  padding:7px 6px !important;
  overflow:hidden !important;
  background:var(--t-bg) !important;
  scrollbar-width:none !important;
}
html body #page-toolkit::-webkit-scrollbar{display:none!important;}

html body #page-toolkit .tools-design-page,
html body #page-toolkit .tools-design-v5{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-width:468px !important;
  margin:0 auto !important;
  padding:0 !important;
  overflow:visible !important;
  background:transparent !important;
}

html body #page-toolkit .tools-main-card{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  display:grid !important;
  grid-template-columns: 112px minmax(0,1fr) !important;
  grid-template-areas:
    "anchor layers"
    "anchor functions" !important;
  gap:7px !important;
  align-items:start !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
}

html body #page-toolkit .collapsible-block,
html body #page-toolkit .anchor-align-card-v5,
html body #page-toolkit .layers-card-v5,
html body #page-toolkit .tools-functions-card-v5{
  width:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:7px !important;
  border-radius:10px !important;
  border:1px solid rgba(255,255,255,.035) !important;
  background:var(--t-panel) !important;
  background-image:none !important;
  box-shadow:var(--t-outset) !important;
  overflow:visible !important;
}
html body #page-toolkit .anchor-align-card-v5{grid-area:anchor!important;}
html body #page-toolkit .layers-card-v5{grid-area:layers!important;}
html body #page-toolkit .tools-functions-card-v5{grid-area:functions!important;}
html body #page-toolkit .colors-card-v5{display:none!important;}

html body #page-toolkit .collapse-title-row{display:none!important;}
html body #page-toolkit .collapse-content{display:block!important;height:auto!important;overflow:visible!important;}

/* Anchor / Align physical mini-panel */
html body #page-toolkit .anchor-align-content-v5{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:8px !important;
  width:100% !important;
}
html body #page-toolkit .tool-subblock,
html body #page-toolkit .anchor-subblock,
html body #page-toolkit .align-subblock{
  min-width:0 !important;
  display:block !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
html body #page-toolkit .tool-subtitle-line{
  height:15px !important;
  margin:0 0 5px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:4px !important;
  color:var(--t-text) !important;
  font-size:8.5px !important;
  line-height:1 !important;
  font-weight:850 !important;
  letter-spacing:.01em !important;
  text-transform:none !important;
}
html body #page-toolkit .tool-subtitle-line > span{font-size:8.5px!important;color:var(--t-text)!important;font-weight:850!important;}
html body #page-toolkit .modify-keyframes-checkbox{
  display:flex !important;
  align-items:center !important;
  gap:3px !important;
  max-width:63px !important;
  min-width:0 !important;
  height:14px !important;
  padding:0 !important;
  margin:0 !important;
  color:var(--t-muted) !important;
  font-size:6.5px !important;
  line-height:1 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  background:transparent !important;
  border:0 !important;
}
html body #page-toolkit .modify-keyframes-checkbox input{
  width:9px!important;
  height:9px!important;
  min-width:9px!important;
  margin:0!important;
  accent-color:#c7a6ff!important;
}
html body #page-toolkit .modify-keyframes-checkbox span{font-size:6.5px!important;color:var(--t-muted)!important;}

html body #page-toolkit .anchor-grid,
html body #page-toolkit .align-grid{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:5px !important;
  width:100% !important;
  margin:0 !important;
}
html body #page-toolkit .square-btn,
html body #page-toolkit .align-action-btn,
html body #page-toolkit .anchor-grid button,
html body #page-toolkit .align-grid button{
  width:100% !important;
  height:25px !important;
  min-height:25px !important;
  padding:0 !important;
  border-radius:7px !important;
  border:1px solid rgba(255,255,255,.055) !important;
  background:var(--t-key) !important;
  background-image:linear-gradient(180deg,rgba(255,255,255,.028),rgba(0,0,0,.035)) !important;
  color:rgba(244,244,245,.92) !important;
  box-shadow:var(--t-outset) !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:800 !important;
  text-shadow:none !important;
}
html body #page-toolkit .square-btn:hover,
html body #page-toolkit .align-action-btn:hover{color:#fff!important;border-color:rgba(244,244,245,.14)!important;}
html body #page-toolkit .square-btn:active,
html body #page-toolkit .align-action-btn:active{transform:translateY(1px)!important;box-shadow:var(--t-inset)!important;}

html body #page-toolkit .align-target-select{
  width:100% !important;
  height:21px !important;
  min-height:21px !important;
  margin:0 0 5px !important;
  padding:0 18px 0 7px !important;
  border-radius:7px !important;
  border:1px solid rgba(255,255,255,.045) !important;
  background:#202020 !important;
  color:var(--t-muted) !important;
  box-shadow:var(--t-inset) !important;
  font-size:7px !important;
  font-weight:750 !important;
  line-height:1 !important;
}

/* Layers */
html body #page-toolkit .layers-card-v5{padding:7px!important;}
html body #page-toolkit .layers-wide-row{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:5px !important;
  width:100% !important;
  margin:0 !important;
}

/* Function grid */
html body #page-toolkit .tools-functions-layout,
html body #page-toolkit .tools-functions-layout-v14{
  display:block !important;
  width:100% !important;
  margin:0 !important;
}
html body #page-toolkit .tools-functions-row,
html body #page-toolkit .tools-functions-row-top,
html body #page-toolkit .tools-functions-row-bottom{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:5px !important;
  width:100% !important;
  margin:0 0 5px !important;
}
html body #page-toolkit .tools-functions-row-bottom{margin-bottom:0!important;}
html body #page-toolkit .splitter-function-box,
html body #page-toolkit .duplicate-comp-box,
html body #page-toolkit .camera-null-rig-box,
html body #page-toolkit .custom-tools-box{display:contents!important;}
html body #page-toolkit .custom-tools-actions.hidden-add-tool-actions{display:none!important;}
html body #page-toolkit #addToolFfxBtn,
html body #page-toolkit #addToolEffectBtn{display:none!important;}
html body #page-toolkit #customToolsGrid,
html body #page-toolkit .tool-placeholder-grid{display:contents!important;}

html body #page-toolkit .large-function-btn,
html body #page-toolkit .layer-name-btn,
html body #page-toolkit .segment-btn,
html body #page-toolkit .custom-tool-btn,
html body #page-toolkit .tool-placeholder-btn{
  width:100% !important;
  height:28px !important;
  min-height:28px !important;
  margin:0 !important;
  padding:0 5px !important;
  border-radius:8px !important;
  border:1px solid rgba(255,255,255,.052) !important;
  background:var(--t-key) !important;
  background-image:linear-gradient(180deg,rgba(255,255,255,.026),rgba(0,0,0,.045)) !important;
  color:rgba(244,244,245,.88) !important;
  box-shadow:var(--t-outset) !important;
  text-shadow:none !important;
  font-size:8px !important;
  line-height:1.04 !important;
  font-weight:850 !important;
  letter-spacing:.002em !important;
  text-transform:none !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
html body #page-toolkit .layer-name-btn{height:27px!important;min-height:27px!important;font-size:8.5px!important;text-transform:uppercase!important;}
html body #page-toolkit .large-function-btn:hover,
html body #page-toolkit .layer-name-btn:hover,
html body #page-toolkit .segment-btn:hover,
html body #page-toolkit .custom-tool-btn:hover{color:#fff!important;border-color:rgba(244,244,245,.13)!important;}
html body #page-toolkit .large-function-btn:active,
html body #page-toolkit .layer-name-btn:active,
html body #page-toolkit .segment-btn:active,
html body #page-toolkit .custom-tool-btn:active{transform:translateY(1px)!important;box-shadow:var(--t-inset)!important;}

html body #page-toolkit .split-mode-inline{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:5px !important;
  margin:0 !important;
}
html body #page-toolkit .split-mode-inline .segment-btn{
  height:23px !important;
  min-height:23px !important;
  font-size:7.5px !important;
  border-radius:7px !important;
  color:rgba(244,244,245,.72)!important;
}
html body #page-toolkit .segment-btn.active{
  color:#fff!important;
  border-color:rgba(244,244,245,.35)!important;
  background:#2b2b2b!important;
}
html body #page-toolkit .duplicate-precomps-checkbox,
html body #page-toolkit .camera-rig-null-count{
  height:23px !important;
  min-height:23px !important;
  padding:0 5px !important;
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:4px !important;
  border-radius:7px !important;
  border:1px solid rgba(255,255,255,.044) !important;
  background:#202020 !important;
  box-shadow:var(--t-inset) !important;
  color:var(--t-muted) !important;
  font-size:6.8px !important;
  line-height:1 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
}
html body #page-toolkit .duplicate-precomps-checkbox input{width:9px!important;height:9px!important;margin:0!important;accent-color:#c7a6ff!important;}
html body #page-toolkit .camera-rig-null-count input{
  width:28px !important;
  height:17px !important;
  min-height:17px !important;
  padding:0 !important;
  border-radius:5px !important;
  text-align:center !important;
  font-size:8px !important;
}
html body #page-toolkit .tool-placeholder-btn{
  color:rgba(244,244,245,.42) !important;
  font-size:14px !important;
  font-weight:550 !important;
  cursor:default !important;
}

@media (max-width:330px){
  html body #page-toolkit{padding:6px!important;}
  html body #page-toolkit .tools-main-card{
    grid-template-columns: 100px minmax(0,1fr) !important;
    gap:6px!important;
  }
  html body #page-toolkit .collapsible-block,
  html body #page-toolkit .anchor-align-card-v5,
  html body #page-toolkit .layers-card-v5,
  html body #page-toolkit .tools-functions-card-v5{padding:6px!important;border-radius:9px!important;}
  html body #page-toolkit .anchor-grid,
  html body #page-toolkit .align-grid{gap:4px!important;}
  html body #page-toolkit .square-btn,
  html body #page-toolkit .align-action-btn,
  html body #page-toolkit .anchor-grid button,
  html body #page-toolkit .align-grid button{height:23px!important;min-height:23px!important;font-size:11px!important;border-radius:7px!important;}
  html body #page-toolkit .tools-functions-row,
  html body #page-toolkit .tools-functions-row-top,
  html body #page-toolkit .tools-functions-row-bottom{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important;margin-bottom:4px!important;}
  html body #page-toolkit .layers-wide-row{gap:4px!important;}
  html body #page-toolkit .large-function-btn,
  html body #page-toolkit .layer-name-btn,
  html body #page-toolkit .segment-btn,
  html body #page-toolkit .custom-tool-btn,
  html body #page-toolkit .tool-placeholder-btn{height:26px!important;min-height:26px!important;font-size:7.3px!important;border-radius:7px!important;padding:0 4px!important;}
  html body #page-toolkit .layer-name-btn{font-size:7.3px!important;}
}

/* v145b — account for main_v120 moving Align into .v120-align-card. */
html body #page-toolkit .tools-main-card{
  grid-template-columns:112px minmax(0,1fr) !important;
  grid-template-areas:
    "anchor layers"
    "align functions" !important;
}
html body #page-toolkit .v120-align-card{
  grid-area:align !important;
  width:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:7px !important;
  border-radius:10px !important;
  border:1px solid rgba(255,255,255,.035) !important;
  background:var(--t-panel) !important;
  background-image:none !important;
  box-shadow:var(--t-outset) !important;
  overflow:visible !important;
}
html body #page-toolkit .v120-align-card .align-subblock{
  display:block !important;
  grid-template-columns:none !important;
  gap:0 !important;
}
html body #page-toolkit .v120-align-card .tool-subtitle-line{margin-bottom:5px!important;}
html body #page-toolkit .v120-align-card .align-target-select{margin-bottom:5px!important;}
@media (max-width:330px){
  html body #page-toolkit .tools-main-card{grid-template-columns:100px minmax(0,1fr)!important;}
  html body #page-toolkit .v120-align-card{padding:6px!important;border-radius:9px!important;}
}

/* v145c — force moved Align internals back into the compact card width. */
html body #page-toolkit .v120-align-card .align-subblock,
html body #page-toolkit .v120-align-card .align-grid{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}
html body #page-toolkit .v120-align-card .align-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  grid-auto-rows:25px !important;
  gap:5px !important;
}
html body #page-toolkit .v120-align-card .align-action-btn{
  width:100% !important;
  min-width:0 !important;
}
@media (max-width:330px){
  html body #page-toolkit .v120-align-card .align-grid{grid-auto-rows:23px!important;gap:4px!important;}
}

/* v145d — let the right function block start directly under Layers. */
html body #page-toolkit .tools-main-card{
  grid-template-areas:
    "anchor layers"
    "anchor functions"
    "align functions" !important;
  grid-template-rows:auto auto auto !important;
}

/* ===== css/ui_tools_v146.css ===== */

/* v146 — Tools page rebuilt to match compact mockup layout. */
html body #page-toolkit{
  --t146-bg:#232323;
  --t146-surface:#262626;
  --t146-surface-2:#212121;
  --t146-line:rgba(255,255,255,.05);
  --t146-line-strong:rgba(255,255,255,.12);
  --t146-text:#f4f4f5;
  --t146-muted:rgba(244,244,245,.48);
  --t146-outset:var(--v138-hard-shadow-small,0 2px 5px rgba(0,0,0,.36));
  --t146-inset:var(--v138-hard-inset,inset 0 2px 4px rgba(0,0,0,.55));
  height:100% !important;
  min-height:0 !important;
  padding:9px 8px 10px !important;
  overflow:auto !important;
  background:var(--t146-bg) !important;
  scrollbar-width:none !important;
}
html body #page-toolkit::-webkit-scrollbar{display:none!important;}
html body #page-toolkit .tools-design-page,
html body #page-toolkit .tools-design-v146{
  width:100% !important;
  max-width:468px !important;
  margin:0 auto !important;
  padding:0 !important;
  background:transparent !important;
}
html body #page-toolkit .tools-shell-v146{
  width:100% !important;
  max-width:100% !important;
  padding:8px 8px 8px !important;
  border-radius:12px !important;
  border:1px solid rgba(255,255,255,.04) !important;
  background:var(--t146-surface) !important;
  box-shadow:var(--t146-outset) !important;
}
html body #page-toolkit .tools-upper-v146{
  display:grid !important;
  grid-template-columns: 132px minmax(0,1fr) !important;
  gap:6px !important;
  align-items:start !important;
}
html body #page-toolkit .tools-anchor-grid-wrap-v146{
  display:grid !important;
  grid-template-columns: 102px 22px !important;
  gap:6px !important;
  align-items:start !important;
}
html body #page-toolkit .anchor-grid-v146{
  display:grid !important;
  grid-template-columns:repeat(3,30px) !important;
  grid-auto-rows:30px !important;
  gap:6px !important;
  width:auto !important;
  margin:0 !important;
}
html body #page-toolkit .anchor-grid-v146 .square-btn,
html body #page-toolkit .anchor-grid-v146 button{
  position:relative !important;
  width:36px !important;
  height:36px !important;
  min-height:36px !important;
  padding:0 !important;
  border-radius:8px !important;
  border:1px solid rgba(255,255,255,.06) !important;
  background:linear-gradient(180deg,rgba(255,255,255,.032),rgba(0,0,0,.05)) !important;
  background-color:#2b2b2b !important;
  box-shadow:var(--t146-outset) !important;
  font-size:0 !important;
}
html body #page-toolkit .anchor-grid-v146 .square-btn span,
html body #page-toolkit .anchor-grid-v146 button span{display:none!important;}
html body #page-toolkit .anchor-grid-v146 button::before{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#f3f3f4;
  font-size:18px;
  line-height:1;
  font-weight:700;
}
html body #page-toolkit .anchor-grid-v146 button:nth-child(1)::before{content:"⌜";}
html body #page-toolkit .anchor-grid-v146 button:nth-child(2)::before{content:"⌃"; font-size:18px; transform:translateY(-1px);}
html body #page-toolkit .anchor-grid-v146 button:nth-child(3)::before{content:"⌝";}
html body #page-toolkit .anchor-grid-v146 button:nth-child(4)::before{content:"‹"; font-size:20px;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(5)::before{content:"•"; font-size:18px;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(6)::before{content:"›"; font-size:20px;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(7)::before{content:"⌞";}
html body #page-toolkit .anchor-grid-v146 button:nth-child(8)::before{content:"⌄"; font-size:18px; transform:translateY(1px);}
html body #page-toolkit .anchor-grid-v146 button:nth-child(9)::before{content:"⌟";}

html body #page-toolkit .tools-mini-stack-v146{
  display:grid !important;
  grid-template-columns:1fr !important;
  grid-auto-rows:22px !important;
  gap:6px !important;
}
html body #page-toolkit .mini-utility-btn{
  position:relative !important;
  width:22px !important;
  height:22px !important;
  min-height:22px !important;
  padding:0 !important;
  border-radius:8px !important;
  border:1px solid rgba(255,255,255,.06) !important;
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(0,0,0,.06)) !important;
  background-color:#2b2b2b !important;
  box-shadow:var(--t146-outset) !important;
  color:#f4f4f5 !important;
}
html body #page-toolkit .mini-utility-btn span{display:none!important;}
html body #page-toolkit .mini-utility-btn::before{
  content:"";
  position:absolute;
  inset:0;
  margin:auto;
  width:11px;
  height:11px;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  opacity:.92;
}
html body #page-toolkit .utility-btn-clipboard::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Crect x='4' y='3.5' width='8' height='10' rx='1.5' fill='none' stroke='%23f2f2f3' stroke-width='1.5'/%3E%3Cpath d='M6.2 3.5V2.7c0-.66.54-1.2 1.2-1.2h1.2c.66 0 1.2.54 1.2 1.2v.8' fill='none' stroke='%23f2f2f3' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");}
html body #page-toolkit .utility-btn-lock::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Crect x='3.5' y='7' width='9' height='6' rx='1.4' fill='none' stroke='%23f2f2f3' stroke-width='1.5'/%3E%3Cpath d='M5.5 7V5.6a2.5 2.5 0 1 1 5 0V7' fill='none' stroke='%23f2f2f3' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E"); opacity:.82;}
html body #page-toolkit .utility-btn-cache::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M13 8a5 5 0 1 1-1.6-3.67' fill='none' stroke='%23f2f2f3' stroke-width='1.5' stroke-linecap='round'/%3E%3Cpath d='M10.5 2.5h2.8v2.8' fill='none' stroke='%23f2f2f3' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");}
html body #page-toolkit .utility-placeholder-btn{
  font-size:13px !important;
  font-weight:500 !important;
  color:rgba(244,244,245,.48) !important;
  cursor:default !important;
}
html body #page-toolkit .tools-main-actions-v146{min-width:0!important;}
html body #page-toolkit .tools-row-v146{
  display:grid !important;
  align-items:stretch !important;
  gap:6px !important;
  margin:0 0 6px !important;
}
html body #page-toolkit .tools-layers-row-v146{
  grid-template-columns: repeat(4, minmax(0,1fr)) 38px !important;
}
html body #page-toolkit .tools-actions-row-v146{
  grid-template-columns: repeat(4, minmax(0,1fr)) 36px !important;
}
html body #page-toolkit .tools-bottom-buttons-row-v146{
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  max-width: 100% !important;
  margin-bottom:0 !important;
}
html body #page-toolkit .tool-btn-v146{
  width:100% !important;
  height:36px !important;
  min-height:36px !important;
  padding:0 4px !important;
  border-radius:8px !important;
  border:1px solid rgba(255,255,255,.065) !important;
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(0,0,0,.055)) !important;
  background-color:#303030 !important;
  box-shadow:var(--t146-outset) !important;
  color:var(--t146-text) !important;
  font-size:8px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.005em !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
html body #page-toolkit .tools-actions-row-v146 .tool-btn-v146{font-size:6.8px!important; white-space:normal!important; line-height:1.05!important;}
html body #page-toolkit .tools-bottom-buttons-row-v146 .tool-btn-v146{font-size:7.1px!important; white-space:normal!important; line-height:1.02!important;}
html body #page-toolkit .tool-btn-v146:active,
html body #page-toolkit .mini-utility-btn:active,
html body #page-toolkit .anchor-grid-v146 button:active,
html body #page-toolkit .align-grid-v146 button:active{transform:translateY(1px)!important;box-shadow:var(--t146-inset)!important;}
html body #page-toolkit .tool-swatch-btn-v146{
  width:30px !important;
  height:30px !important;
  min-height:30px !important;
  padding:0 !important;
  border-radius:8px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  background:#020202 !important;
  box-shadow:var(--t146-outset) !important;
}
html body #page-toolkit .tool-hidden-access{display:none!important;}
html body #page-toolkit .tool-stepper-v146{
  width:36px !important;
  height:36px !important;
  min-height:36px !important;
  display:flex !important;
  align-items:stretch !important;
  justify-content:stretch !important;
  border-radius:8px !important;
  border:1px solid rgba(255,255,255,.06) !important;
  background:linear-gradient(180deg,rgba(255,255,255,.022),rgba(0,0,0,.05)) !important;
  background-color:#2f2f2f !important;
  box-shadow:var(--t146-outset) !important;
  overflow:hidden !important;
}
html body #page-toolkit .tool-stepper-v146 input{
  width:100% !important;
  height:100% !important;
  border:0 !important;
  background:transparent !important;
  color:#f4f4f5 !important;
  text-align:center !important;
  font-size:14px !important;
  font-weight:800 !important;
  padding:0 0 0 5px !important;
}
html body #page-toolkit .tools-inline-options-v146{
  display:none;
  margin-top:10px;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.045);
  background:#202020;
  box-shadow:var(--t146-inset);
}
html body #page-toolkit .tools-inline-options-v146.is-open{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;}
html body #page-toolkit .tools-inline-options-v146 .tools-options-title{font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--t146-muted);margin-right:2px;}
html body #page-toolkit .tools-inline-options-v146 .tools-run-btn{
  height:26px; padding:0 12px; border-radius:13px; border:1px solid rgba(255,255,255,.06); background:#2e2e2e; box-shadow:var(--t146-outset); color:#fff; font-size:8px; font-weight:800; text-transform:uppercase;
}
html body #page-toolkit .tools-inline-options-v146 .tools-close-btn{height:26px; width:26px; border-radius:13px; border:1px solid rgba(255,255,255,.05); background:#272727; color:rgba(244,244,245,.7); box-shadow:var(--t146-outset);}
html body #page-toolkit .tools-hidden-controls-v146{display:none!important;}
html body #page-toolkit .tools-inline-options-v146 .split-mode-inline,
html body #page-toolkit .tools-inline-options-v146 #splitModeSegment{display:grid!important;grid-template-columns:repeat(2,72px)!important;gap:8px!important;}
html body #page-toolkit .tools-inline-options-v146 .segment-btn,
html body #page-toolkit .tools-inline-options-v146 .duplicate-precomps-checkbox{
  height:26px !important;
  min-height:26px !important;
  padding:0 4px !important;
  border-radius:13px !important;
  border:1px solid rgba(255,255,255,.05) !important;
  background:#2b2b2b !important;
  color:rgba(244,244,245,.8) !important;
  box-shadow:var(--t146-outset) !important;
  font-size:8px !important;
  font-weight:800 !important;
}
html body #page-toolkit .tools-inline-options-v146 .segment-btn.active{color:#fff!important;border-color:rgba(244,244,245,.28)!important;}
html body #page-toolkit .tools-inline-options-v146 .duplicate-precomps-checkbox{display:flex!important;align-items:center!important;gap:6px!important;}
html body #page-toolkit .tools-inline-options-v146 .duplicate-precomps-checkbox input{accent-color:#c9c9c9!important; width:11px!important; height:11px!important;}

html body #page-toolkit .tools-align-bar-v146{
  margin-top:10px !important;
  display:grid !important;
  grid-template-columns: 170px minmax(0,1fr) !important;
  gap:6px !important;
  align-items:center !important;
  padding:8px 10px !important;
  min-height:56px !important;
  border-radius:10px !important;
  border:1px solid rgba(255,255,255,.05) !important;
  background:rgba(255,255,255,.018) !important;
  box-shadow:var(--t146-inset) !important;
}
html body #page-toolkit .align-target-select-v146{
  width:100% !important;
  height:40px !important;
  min-height:40px !important;
  padding:0 38px 0 14px !important;
  border-radius:9px !important;
  border:1px solid rgba(255,255,255,.055) !important;
  background-color:#232323 !important;
  background-image:linear-gradient(180deg,rgba(255,255,255,.025),rgba(0,0,0,.05)) !important;
  color:#f4f4f5 !important;
  box-shadow:var(--t146-outset) !important;
  font-size:10px !important;
  font-weight:800 !important;
}
html body #page-toolkit .align-grid-v146{
  display:grid !important;
  grid-template-columns:repeat(6, 1fr) !important;
  gap:6px !important;
}
html body #page-toolkit .align-grid-v146 .align-action-btn,
html body #page-toolkit .align-grid-v146 button{
  position:relative !important;
  height:40px !important;
  min-height:40px !important;
  padding:0 !important;
  border-radius:8px !important;
  border:1px solid rgba(255,255,255,.04) !important;
  background:transparent !important;
  box-shadow:none !important;
  font-size:0 !important;
  opacity:.78 !important;
}
html body #page-toolkit .align-grid-v146 .align-action-btn:hover{opacity:1!important;background:rgba(255,255,255,.02)!important;}
html body #page-toolkit .align-grid-v146 .align-action-btn span{display:none!important;}
html body #page-toolkit .align-grid-v146 .align-action-btn::before{
  content:"";
  position:absolute;
  inset:0;
  margin:auto;
  width:22px;
  height:18px;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
}
html body #page-toolkit .align-grid-v146 .align-action-btn:nth-child(1)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='18' viewBox='0 0 22 18'%3E%3Crect x='3' y='2' width='2' height='14' rx='1' fill='%23797979'/%3E%3Crect x='7' y='5' width='9' height='8' rx='1.2' fill='%23797979'/%3E%3C/svg%3E");}
html body #page-toolkit .align-grid-v146 .align-action-btn:nth-child(2)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='18' viewBox='0 0 22 18'%3E%3Crect x='10' y='2' width='2' height='14' rx='1' fill='%23797979'/%3E%3Crect x='4' y='6' width='5' height='6' rx='1.2' fill='%23797979'/%3E%3Crect x='13' y='4' width='5' height='10' rx='1.2' fill='%23797979'/%3E%3C/svg%3E");}
html body #page-toolkit .align-grid-v146 .align-action-btn:nth-child(3)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='18' viewBox='0 0 22 18'%3E%3Crect x='17' y='2' width='2' height='14' rx='1' fill='%23797979'/%3E%3Crect x='6' y='5' width='9' height='8' rx='1.2' fill='%23797979'/%3E%3C/svg%3E");}
html body #page-toolkit .align-grid-v146 .align-action-btn:nth-child(4)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='18' viewBox='0 0 22 18'%3E%3Crect x='3' y='2' width='16' height='2' rx='1' fill='%23797979'/%3E%3Crect x='7' y='6' width='8' height='9' rx='1.2' fill='%23797979'/%3E%3C/svg%3E");}
html body #page-toolkit .align-grid-v146 .align-action-btn:nth-child(5)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='18' viewBox='0 0 22 18'%3E%3Crect x='3' y='8' width='16' height='2' rx='1' fill='%23797979'/%3E%3Crect x='4' y='3' width='5' height='4' rx='1.2' fill='%23797979'/%3E%3Crect x='13' y='10' width='5' height='5' rx='1.2' fill='%23797979'/%3E%3C/svg%3E");}
html body #page-toolkit .align-grid-v146 .align-action-btn:nth-child(6)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='18' viewBox='0 0 22 18'%3E%3Crect x='3' y='14' width='16' height='2' rx='1' fill='%23797979'/%3E%3Crect x='7' y='3' width='8' height='9' rx='1.2' fill='%23797979'/%3E%3C/svg%3E");}

@media (max-width: 330px){
  html body #page-toolkit{padding:8px 6px 10px!important;}
  html body #page-toolkit .tools-shell-v146{padding:10px 10px 10px!important;}
  html body #page-toolkit .tools-upper-v146{grid-template-columns: 118px minmax(0,1fr)!important; gap:10px!important;}
  html body #page-toolkit .tools-anchor-grid-wrap-v146{grid-template-columns: 90px 20px!important; gap:6px!important;}
  html body #page-toolkit .anchor-grid-v146{grid-template-columns:repeat(3,26px)!important; grid-auto-rows:26px!important; gap:6px!important;}
  html body #page-toolkit .anchor-grid-v146 .square-btn,
  html body #page-toolkit .anchor-grid-v146 button{width:26px!important;height:26px!important;min-height:26px!important;}
  html body #page-toolkit .anchor-grid-v146 button::before{font-size:20px!important;}
  html body #page-toolkit .anchor-grid-v146 button:nth-child(2)::before,
  html body #page-toolkit .anchor-grid-v146 button:nth-child(8)::before{font-size:17px!important;}
  html body #page-toolkit .anchor-grid-v146 button:nth-child(4)::before,
  html body #page-toolkit .anchor-grid-v146 button:nth-child(6)::before{font-size:22px!important;}
  html body #page-toolkit .tools-mini-stack-v146{grid-auto-rows:24px!important; gap:6px!important;}
  html body #page-toolkit .mini-utility-btn{width:20px!important;height:20px!important;min-height:20px!important;}
  html body #page-toolkit .mini-utility-btn::before{width:13px!important;height:13px!important;}
  html body #page-toolkit .utility-placeholder-btn{font-size:14px!important;}
  html body #page-toolkit .tools-row-v146{gap:6px!important; margin-bottom:6px!important;}
  html body #page-toolkit .tools-layers-row-v146{grid-template-columns: repeat(4, minmax(0,1fr)) 32px!important;}
  html body #page-toolkit .tools-actions-row-v146{grid-template-columns: repeat(4, minmax(0,1fr)) 30px!important;}
  html body #page-toolkit .tool-btn-v146{height:34px!important;min-height:34px!important;font-size:7.4px!important;padding:0 3px!important;border-radius:8px!important;}
  html body #page-toolkit .tools-actions-row-v146 .tool-btn-v146{font-size:6.8px!important; white-space:normal!important; line-height:1.05!important;}
html body #page-toolkit .tools-bottom-buttons-row-v146 .tool-btn-v146{font-size:7.1px!important; white-space:normal!important; line-height:1.02!important;}
  html body #page-toolkit .tool-swatch-btn-v146{width:26px!important;height:26px!important;min-height:26px!important;}
  html body #page-toolkit .tool-stepper-v146{width:30px!important;height:34px!important;min-height:34px!important;}
  html body #page-toolkit .tool-stepper-v146 input{font-size:12px!important;padding-left:4px!important;}
  html body #page-toolkit .tools-bottom-buttons-row-v146{max-width:244px!important;}
  html body #page-toolkit .tools-align-bar-v146{grid-template-columns: 118px minmax(0,1fr)!important; gap:6px!important; padding:7px 7px!important; min-height:48px!important;}
  html body #page-toolkit .align-target-select-v146{height:34px!important;min-height:34px!important;font-size:8px!important;padding-left:10px!important;padding-right:28px!important;}
  html body #page-toolkit .align-grid-v146{gap:2px!important;}
  html body #page-toolkit .align-grid-v146 .align-action-btn,
  html body #page-toolkit .align-grid-v146 button{height:34px!important;min-height:34px!important;}
  html body #page-toolkit .align-grid-v146 .align-action-btn::before{width:18px!important;height:14px!important;}
  html body #page-toolkit .tools-inline-options-v146.is-open{gap:6px!important;padding:8px!important;}
  html body #page-toolkit .tools-inline-options-v146 .tools-options-title{display:none!important;}
  html body #page-toolkit .tools-inline-options-v146 #splitModeSegment{grid-template-columns:repeat(2,58px)!important;gap:6px!important;}
  html body #page-toolkit .tools-inline-options-v146 .segment-btn,
  html body #page-toolkit .tools-inline-options-v146 .duplicate-precomps-checkbox,
  html body #page-toolkit .tools-inline-options-v146 .tools-run-btn{font-size:7px!important;height:24px!important;min-height:24px!important;padding:0 8px!important;}
  html body #page-toolkit .tools-inline-options-v146 .tools-close-btn{height:24px!important;width:24px!important;}
}


/* v147 tools polish — remove wrapper block, restore breathing room, align rows. */
html body #page-toolkit{
  padding:10px 8px !important;
  overflow:hidden !important;
}
html body #page-toolkit .tools-shell-v146{
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
html body #page-toolkit .tools-upper-v146{
  grid-template-columns:154px minmax(0,1fr) !important;
  gap:8px !important;
}
html body #page-toolkit .tools-anchor-grid-wrap-v146{
  grid-template-columns:120px 26px !important;
  gap:8px !important;
}
html body #page-toolkit .anchor-grid-v146{
  grid-template-columns:repeat(3,36px) !important;
  grid-auto-rows:36px !important;
  gap:6px !important;
}
html body #page-toolkit .anchor-grid-v146 .square-btn,
html body #page-toolkit .anchor-grid-v146 button{
  width:36px !important;
  height:36px !important;
  min-height:36px !important;
  border-radius:7px !important;
}
html body #page-toolkit .anchor-grid-v146 button::before{font-size:19px!important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(2)::before,
html body #page-toolkit .anchor-grid-v146 button:nth-child(8)::before{font-size:17px!important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(4)::before,
html body #page-toolkit .anchor-grid-v146 button:nth-child(6)::before{font-size:22px!important;}
html body #page-toolkit .tools-mini-stack-v146{
  grid-auto-rows:26px !important;
  gap:5px !important;
}
html body #page-toolkit .mini-utility-btn{
  width:26px !important;
  height:26px !important;
  min-height:26px !important;
  border-radius:7px !important;
}
html body #page-toolkit .mini-utility-btn::before{width:12px!important;height:12px!important;}
html body #page-toolkit .tools-row-v146{
  gap:7px !important;
  margin-bottom:6px !important;
}
html body #page-toolkit .tools-layers-row-v146{
  grid-template-columns:repeat(4,minmax(0,1fr)) 36px !important;
}
html body #page-toolkit .tools-actions-row-v146{
  grid-template-columns:repeat(4,minmax(0,1fr)) 36px !important;
}
html body #page-toolkit .tools-bottom-buttons-row-v146{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  max-width:100% !important;
}
html body #page-toolkit .tool-btn-v146{
  height:36px !important;
  min-height:36px !important;
  padding:0 5px !important;
  border-radius:7px !important;
  font-size:8.5px !important;
  line-height:1.05 !important;
  white-space:normal !important;
}
html body #page-toolkit .tools-layers-row-v146 .tool-btn-v146{
  font-size:8px !important;
  white-space:nowrap !important;
}
html body #page-toolkit .tools-actions-row-v146 .tool-btn-v146{
  font-size:7.2px !important;
  line-height:1.05 !important;
  white-space:normal !important;
}
html body #page-toolkit .tools-bottom-buttons-row-v146 .tool-btn-v146{
  font-size:8px !important;
  white-space:nowrap !important;
}
html body #page-toolkit .tool-swatch-btn-v146{
  width:36px !important;
  height:36px !important;
  min-height:36px !important;
  border-radius:7px !important;
}
html body #page-toolkit .tool-stepper-v146{
  width:36px !important;
  height:36px !important;
  min-height:36px !important;
  border-radius:7px !important;
}
html body #page-toolkit .tool-stepper-v146 input{font-size:13px!important;padding-left:4px!important;}
html body #page-toolkit .tools-align-bar-v146{
  margin-top:8px !important;
  grid-template-columns:178px minmax(0,1fr) !important;
  gap:7px !important;
  padding:5px 8px !important;
  min-height:44px !important;
  border-radius:9px !important;
}
html body #page-toolkit .align-target-select-v146{
  height:34px !important;
  min-height:34px !important;
  font-size:9px !important;
  border-radius:7px !important;
}
html body #page-toolkit .align-grid-v146{gap:3px!important;}
html body #page-toolkit .align-grid-v146 .align-action-btn,
html body #page-toolkit .align-grid-v146 button{
  height:34px !important;
  min-height:34px !important;
}
html body #page-toolkit .align-grid-v146 .align-action-btn::before{width:18px!important;height:15px!important;}
@media (max-width:330px){
  html body #page-toolkit{padding:8px 6px!important;}
  html body #page-toolkit .tools-upper-v146{grid-template-columns:126px minmax(0,1fr)!important; gap:7px!important;}
  html body #page-toolkit .tools-anchor-grid-wrap-v146{grid-template-columns:96px 22px!important; gap:6px!important;}
  html body #page-toolkit .anchor-grid-v146{grid-template-columns:repeat(3,30px)!important; grid-auto-rows:30px!important; gap:3px!important;}
  html body #page-toolkit .anchor-grid-v146 .square-btn,
  html body #page-toolkit .anchor-grid-v146 button{width:30px!important;height:30px!important;min-height:30px!important;}
  html body #page-toolkit .tools-mini-stack-v146{grid-auto-rows:22px!important; gap:3px!important;}
  html body #page-toolkit .mini-utility-btn{width:22px!important;height:22px!important;min-height:22px!important;}
  html body #page-toolkit .tools-row-v146{gap:4px!important;margin-bottom:4px!important;}
  html body #page-toolkit .tools-layers-row-v146{grid-template-columns:repeat(4,minmax(0,1fr)) 30px!important;}
  html body #page-toolkit .tools-actions-row-v146{grid-template-columns:repeat(4,minmax(0,1fr)) 30px!important;}
  html body #page-toolkit .tool-btn-v146{height:30px!important;min-height:30px!important;font-size:6.6px!important;padding:0 2px!important;line-height:1.02!important;}
  html body #page-toolkit .tools-layers-row-v146 .tool-btn-v146{font-size:6.6px!important;}
  html body #page-toolkit .tools-actions-row-v146 .tool-btn-v146{font-size:5.7px!important;}
  html body #page-toolkit .tools-bottom-buttons-row-v146 .tool-btn-v146{font-size:6.4px!important;}
  html body #page-toolkit .tool-swatch-btn-v146{width:30px!important;height:30px!important;min-height:30px!important;}
  html body #page-toolkit .tool-stepper-v146{width:30px!important;height:30px!important;min-height:30px!important;}
  html body #page-toolkit .tools-align-bar-v146{grid-template-columns:126px minmax(0,1fr)!important; gap:5px!important; padding:4px 6px!important; min-height:38px!important;}
  html body #page-toolkit .align-target-select-v146{height:30px!important;min-height:30px!important;font-size:7px!important;}
  html body #page-toolkit .align-grid-v146 .align-action-btn,
  html body #page-toolkit .align-grid-v146 button{height:30px!important;min-height:30px!important;}
  html body #page-toolkit .align-grid-v146 .align-action-btn::before{width:15px!important;height:12px!important;}
}

/* ===== css/ui_graph_v147.css ===== */

/* v147 — reliable Graph controls + resize-stable SVG on first paint. */
html body #page-graph-editor .graph-square-wrap{position:relative!important;}
html body #page-graph-editor .graph-square-wrap > .graph-mode-toggle{
  z-index:80 !important;
  pointer-events:auto !important;
}
html body #page-graph-editor .graph-square-wrap > .graph-mode-toggle .graph-mode-btn{
  pointer-events:auto !important;
  position:relative !important;
  z-index:81 !important;
}
html body #page-graph-editor .graph-reset-btn{
  pointer-events:auto !important;
  position:absolute !important;
  right:10px !important;
  top:10px !important;
  z-index:82 !important;
}
html body #page-graph-editor .graph-reset-btn{
  z-index:82 !important;
}
html body #page-graph-editor .graph-stage.square-graph-stage,
html body #page-graph-editor .square-graph-stage{
  position:relative !important;
  z-index:1 !important;
}
html body #page-graph-editor #graphSvg{
  position:relative !important;
  z-index:1 !important;
  overflow:visible !important;
}
html body #page-graph-editor #graphStart,
html body #page-graph-editor #graphEnd,
html body #page-graph-editor .graph-handle{
  vector-effect:non-scaling-stroke !important;
}
html body #page-graph-editor .graph-handle-line,
html body #page-graph-editor .graph-path.main,
html body #page-graph-editor .graph-path.ghost,
html body #page-graph-editor .grid-lines line{
  vector-effect:non-scaling-stroke !important;
}

/* ===== css/ui_saved_v148.css ===== */

/* v148 — Saved page redesign in the current graphite / physical panel style. */
html body #page-colors{
  --sv-bg:#232323;
  --sv-panel:#252525;
  --sv-panel-2:#202020;
  --sv-key:#2b2b2b;
  --sv-key-2:#303030;
  --sv-text:#f4f4f5;
  --sv-muted:rgba(244,244,245,.50);
  --sv-soft:rgba(244,244,245,.30);
  --sv-line:rgba(255,255,255,.052);
  --sv-line-strong:rgba(255,255,255,.135);
  --sv-inset:inset 0 2px 4px rgba(0,0,0,.55);
  --sv-outset:0 3px 8px rgba(0,0,0,.4);
  height:100% !important;
  min-height:0 !important;
  padding:8px 7px 8px !important;
  overflow:hidden !important;
  background:var(--sv-bg) !important;
  background-image:none !important;
  color:var(--sv-text) !important;
  scrollbar-width:none !important;
}
html body #page-colors::-webkit-scrollbar{display:none!important;}

html body #page-colors .saved-page{
  width:100% !important;
  max-width:468px !important;
  height:100% !important;
  min-height:0 !important;
  margin:0 auto !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
  overflow:hidden !important;
  background:transparent !important;
}

html body #page-colors .saved-subtabs{
  flex:0 0 auto !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:6px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
html body #page-colors .saved-subtab{
  height:28px !important;
  min-height:28px !important;
  margin:0 !important;
  padding:0 8px !important;
  border-radius:12px !important;
  border:1px solid var(--sv-line) !important;
  background:linear-gradient(180deg,rgba(255,255,255,.028),rgba(0,0,0,.045)) !important;
  background-color:var(--sv-key) !important;
  box-shadow:var(--sv-outset) !important;
  color:rgba(244,244,245,.72) !important;
  text-shadow:none !important;
  font-size:8px !important;
  line-height:1 !important;
  font-weight:850 !important;
  letter-spacing:.018em !important;
  text-transform:uppercase !important;
  cursor:pointer !important;
}
html body #page-colors .saved-subtab.active,
html body #page-colors .saved-subtab.is-active{
  color:#fff !important;
  border-color:rgba(244,244,245,.52) !important;
  background-color:#303030 !important;
  box-shadow:var(--sv-outset), inset 0 0 0 1px rgba(255,255,255,.035) !important;
}
html body #page-colors .saved-subtab:active{transform:translateY(1px)!important;box-shadow:var(--sv-inset)!important;}

html body #page-colors .saved-subpage{
  flex:1 1 auto !important;
  min-height:0 !important;
  display:none !important;
  overflow:hidden !important;
}
html body #page-colors .saved-subpage.active{display:flex!important;}

html body #page-colors .saved-library-card,
html body #page-colors .card.saved-library-card{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  padding:9px !important;
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
  overflow:auto !important;
  border-radius:11px !important;
  border:1px solid rgba(255,255,255,.038) !important;
  background:var(--sv-panel) !important;
  background-image:none !important;
  box-shadow:var(--sv-outset) !important;
  scrollbar-width:thin !important;
  scrollbar-color:rgba(244,244,245,.34) transparent !important;
}
html body #page-colors .saved-library-card::-webkit-scrollbar{width:7px!important;height:7px!important;}
html body #page-colors .saved-library-card::-webkit-scrollbar-thumb{background:rgba(244,244,245,.30)!important;border-radius:10px!important;border:2px solid transparent!important;background-clip:content-box!important;}
html body #page-colors .saved-library-card::-webkit-scrollbar-track{background:transparent!important;}

html body #page-colors .saved-library-card .mini-head,
html body #page-colors .colors-library-head{
  flex:0 0 auto !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:8px !important;
}
html body #page-colors .saved-library-card .eyebrow{display:none!important;}
html body #page-colors .saved-library-card h2{
  margin:0 !important;
  color:var(--sv-text) !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:850 !important;
  letter-spacing:-.015em !important;
  text-transform:none !important;
}

html body #page-colors .saved-add-toggle,
html body #page-colors .reference-actions{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
}
html body #page-colors .saved-mode-btn,
html body #page-colors .primary-btn,
html body #page-colors .secondary-btn{
  height:28px !important;
  min-height:28px !important;
  margin:0 !important;
  padding:0 10px !important;
  border-radius:11px !important;
  border:1px solid var(--sv-line) !important;
  background:linear-gradient(180deg,rgba(255,255,255,.028),rgba(0,0,0,.045)) !important;
  background-color:var(--sv-key) !important;
  box-shadow:var(--sv-outset) !important;
  color:rgba(244,244,245,.76) !important;
  text-shadow:none !important;
  font-size:8px !important;
  line-height:1 !important;
  font-weight:850 !important;
  letter-spacing:.012em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}
html body #page-colors .saved-mode-btn.active,
html body #page-colors .primary-btn{
  color:var(--qwix-accent-ink,var(--accent-ink,#fff8ed)) !important;
  border-color:rgba(244,244,245,.44) !important;
  background-color:#303030 !important;
  box-shadow:var(--sv-outset), inset 0 0 0 1px rgba(255,255,255,.025) !important;
}
html body #page-colors .saved-mode-btn:active,
html body #page-colors .primary-btn:active,
html body #page-colors .secondary-btn:active{transform:translateY(1px)!important;box-shadow:var(--sv-inset)!important;}

html body #page-colors .saved-add-panel{
  flex:0 0 auto !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
html body #page-colors .saved-add-row{
  display:none !important;
  width:100% !important;
  gap:7px !important;
  align-items:center !important;
  margin:0 !important;
  min-height:0 !important;
}
html body #page-colors .saved-add-row.active{display:grid!important;}
html body #page-colors #savedAddRowSolid{grid-template-columns:minmax(0,1fr) 32px 58px!important;}
html body #page-colors #savedAddRowGrad{grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr) 28px 58px!important;}

html body #page-colors .user-color-input,
html body #page-colors .template-name-input,
html body #page-colors .template-search-input,
html body #page-colors .reference-search-input,
html body #page-colors .reference-input,
html body #page-colors .fonts-sample-input{
  width:100% !important;
  height:32px !important;
  min-height:32px !important;
  margin:0 !important;
  padding:0 11px !important;
  border-radius:11px !important;
  border:1px solid rgba(255,255,255,.045) !important;
  background:var(--sv-panel-2) !important;
  background-image:linear-gradient(180deg,rgba(255,255,255,.018),rgba(0,0,0,.035)) !important;
  box-shadow:var(--sv-inset) !important;
  color:var(--sv-text) !important;
  font-size:9px !important;
  font-weight:750 !important;
  letter-spacing:.002em !important;
  outline:none !important;
}
html body #page-colors .user-color-input::placeholder{color:rgba(244,244,245,.38)!important;}
html body #page-colors .user-color-picker{
  width:32px !important;
  height:32px !important;
  min-width:32px !important;
  min-height:32px !important;
  padding:3px !important;
  border-radius:9px !important;
  border:1px solid rgba(255,255,255,.055) !important;
  background:#202020 !important;
  box-shadow:var(--sv-outset) !important;
  overflow:hidden !important;
}

html body #page-colors .colors-library-hint,
html body #page-colors #savedColorStatus,
html body #page-colors #savedGradientStatus,
html body #page-colors #savedReferenceStatus,
html body #page-colors #savedCompsStatus,
html body #page-colors #savedFontsStatus{
  flex:0 0 auto !important;
  margin:-1px 0 0 !important;
  padding:0 !important;
  min-height:10px !important;
  color:rgba(244,244,245,.42) !important;
  font-size:8px !important;
  line-height:1.15 !important;
  font-weight:650 !important;
}
html body #page-colors #savedGradientStatus{display:none!important;}

html body #page-colors .saved-section-title{
  flex:0 0 auto !important;
  margin:3px 0 -1px !important;
  padding:0 !important;
  color:rgba(244,244,245,.62) !important;
  font-size:8px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.11em !important;
  text-transform:uppercase !important;
}

html body #page-colors .saved-mixed-grid,
html body #page-colors .saved-colors-grid,
html body #page-colors .saved-gradients-grid,
html body #page-colors .saved-reference-grid,
html body #page-colors .saved-templates-grid,
html body #page-colors .saved-fonts-grid{
  display:grid !important;
  width:100% !important;
  min-height:0 !important;
  margin:0 !important;
  gap:7px !important;
  overflow:visible !important;
  max-height:none !important;
}
html body #page-colors .saved-mixed-grid,
html body #page-colors .saved-colors-grid{grid-template-columns:repeat(auto-fill,minmax(31px,1fr))!important;}
html body #page-colors .saved-gradients-grid{grid-template-columns:repeat(auto-fill,minmax(56px,1fr))!important;}

html body #page-colors .saved-color-item,
html body #page-colors .saved-gradient-item,
html body #page-colors .builtin-saved-color-item,
html body #page-colors .builtin-saved-gradient-item{
  position:relative !important;
  min-width:0 !important;
  height:34px !important;
  min-height:34px !important;
  margin:0 !important;
  padding:3px !important;
  border-radius:10px !important;
  border:1px solid rgba(255,255,255,.045) !important;
  background:#252525 !important;
  box-shadow:var(--sv-outset) !important;
  overflow:hidden !important;
  cursor:pointer !important;
}
html body #page-colors .saved-color-swatch,
html body #page-colors .saved-gradient-preview{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  border-radius:8px !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22), inset 0 0 12px rgba(0,0,0,.20) !important;
}
html body #page-colors .saved-gradient-item{height:36px!important;min-height:36px!important;}
html body #page-colors .saved-gradient-hex{display:none!important;}
html body #page-colors .saved-color-delete{
  position:absolute !important;
  right:3px !important;
  top:3px !important;
  width:14px !important;
  height:14px !important;
  border-radius:7px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#fff !important;
  background:rgba(0,0,0,.48) !important;
  font-size:9px !important;
  line-height:1 !important;
  opacity:.88 !important;
}
html body #page-colors .saved-colors-empty{
  grid-column:1 / -1 !important;
  min-height:54px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 12px !important;
  border-radius:11px !important;
  border:1px dashed rgba(255,255,255,.065) !important;
  background:rgba(0,0,0,.12) !important;
  color:rgba(244,244,245,.42) !important;
  font-size:9px !important;
  font-weight:750 !important;
  text-align:center !important;
}

/* Reference */
html body #page-colors .reference-library-card .reference-actions{flex:0 0 auto!important;}
html body #page-colors .reference-search-row.hidden,
html body #page-colors .template-search-row.hidden{display:none!important;}
html body #page-colors .reference-search-row,
html body #page-colors .template-search-row{margin:0!important;display:block!important;}
html body #page-colors .reference-meta-controls,
html body #page-colors .reference-meta-name-only,
html body #page-colors .template-save-row,
html body #page-colors .font-save-row,
html body #page-colors .fonts-sample-row{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:7px !important;
  margin:0 !important;
  width:100% !important;
  align-items:center !important;
}
html body #page-colors .fonts-sample-row{grid-template-columns:minmax(0,1fr)!important;}
html body #page-colors .font-save-row{grid-template-columns:minmax(0,1fr)!important;}
html body #page-colors .font-save-row .primary-btn{width:100%!important;}
html body #page-colors .reference-pending-preview{
  flex:0 0 auto !important;
  width:100% !important;
  height:74px !important;
  min-height:74px !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:12px !important;
  border:1px dashed rgba(244,244,245,.12) !important;
  background:var(--sv-panel-2) !important;
  box-shadow:var(--sv-inset) !important;
  color:rgba(244,244,245,.42) !important;
  font-size:9px !important;
  font-weight:850 !important;
  letter-spacing:.025em !important;
  text-transform:uppercase !important;
  overflow:hidden !important;
}
html body #page-colors .reference-pending-preview img,
html body #page-colors .reference-pending-preview video{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:10px!important;}
html body #page-colors .saved-reference-grid{grid-template-columns:repeat(auto-fill,minmax(94px,1fr))!important;}
html body #page-colors .reference-card,
html body #page-colors .template-card,
html body #page-colors .font-card{
  position:relative !important;
  min-width:0 !important;
  border-radius:12px !important;
  border:1px solid rgba(255,255,255,.045) !important;
  background:var(--sv-key) !important;
  background-image:linear-gradient(180deg,rgba(255,255,255,.024),rgba(0,0,0,.045)) !important;
  box-shadow:var(--sv-outset) !important;
  overflow:hidden !important;
}
html body #page-colors .reference-card{height:92px!important;}
html body #page-colors .reference-preview{width:100%!important;height:70px!important;object-fit:cover!important;display:block!important;}
html body #page-colors .reference-title{
  height:22px !important;
  padding:0 7px !important;
  display:flex !important;
  align-items:center !important;
  color:rgba(244,244,245,.75) !important;
  font-size:8px !important;
  font-weight:800 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
html body #page-colors .reference-delete,
html body #page-colors .reference-edit,
html body #page-colors .template-delete,
html body #page-colors .template-rename,
html body #page-colors .font-delete{
  position:absolute !important;
  z-index:2 !important;
  top:5px !important;
  width:19px !important;
  height:19px !important;
  min-height:19px !important;
  padding:0 !important;
  border-radius:10px !important;
  border:1px solid rgba(255,255,255,.055) !important;
  background:rgba(18,18,18,.72) !important;
  color:rgba(244,244,245,.78) !important;
  font-size:10px !important;
  line-height:1 !important;
}
html body #page-colors .reference-delete,
html body #page-colors .template-delete,
html body #page-colors .font-delete{right:5px!important;}
html body #page-colors .reference-edit,
html body #page-colors .template-rename{right:28px!important;}

/* Comps */
html body #page-colors .templates-title-row{
  flex:0 0 auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:8px !important;
  margin:0 !important;
}
html body #page-colors .templates-title-row .saved-section-title{margin:0!important;}
html body #page-colors .saved-templates-grid{grid-template-columns:repeat(auto-fill,minmax(116px,1fr))!important;}
html body #page-colors .template-card{height:112px!important;}
html body #page-colors .template-main-btn{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  padding:8px !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  display:grid !important;
  grid-template-rows:minmax(0,1fr) auto auto !important;
  gap:5px !important;
  color:var(--sv-text) !important;
}
html body #page-colors .template-preview,
html body #page-colors .template-icon{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:52px !important;
  border-radius:9px !important;
  background:#202020 !important;
  box-shadow:var(--sv-inset) !important;
  color:rgba(244,244,245,.40) !important;
  font-size:18px !important;
}
html body #page-colors .template-preview img{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:8px!important;}
html body #page-colors .template-name,
html body #page-colors .template-date{
  display:block !important;
  text-align:left !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
html body #page-colors .template-name{font-size:9px!important;font-weight:850!important;color:rgba(244,244,245,.82)!important;}
html body #page-colors .template-date{font-size:7px!important;font-weight:700!important;color:rgba(244,244,245,.38)!important;}

/* Fonts */
html body #page-colors .saved-fonts-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))!important;}
html body #page-colors .font-card{padding:8px!important;min-height:66px!important;display:grid!important;gap:5px!important;}
html body #page-colors .font-name,
html body #page-colors .font-preview,
html body #page-colors .font-meta{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
html body #page-colors .font-name{font-size:9px!important;font-weight:850!important;color:rgba(244,244,245,.82)!important;}
html body #page-colors .font-preview{font-size:13px!important;color:#fff!important;}
html body #page-colors .font-meta{font-size:7px!important;color:rgba(244,244,245,.42)!important;}

@media (max-width:330px){
  html body #page-colors{padding:7px 6px!important;}
  html body #page-colors .saved-page{gap:7px!important;}
  html body #page-colors .saved-subtabs{gap:5px!important;}
  html body #page-colors .saved-subtab{height:26px!important;min-height:26px!important;font-size:7px!important;padding:0 5px!important;border-radius:11px!important;}
  html body #page-colors .saved-library-card{padding:8px!important;gap:7px!important;border-radius:10px!important;}
  html body #page-colors .saved-library-card h2{font-size:11px!important;}
  html body #page-colors .saved-mode-btn,
  html body #page-colors .primary-btn,
  html body #page-colors .secondary-btn{height:26px!important;min-height:26px!important;font-size:7px!important;padding:0 8px!important;border-radius:10px!important;}
  html body #page-colors #savedAddRowSolid{grid-template-columns:minmax(0,1fr) 28px 52px!important;}
  html body #page-colors #savedAddRowGrad{grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr) 26px 50px!important;gap:5px!important;}
  html body #page-colors .user-color-input{height:29px!important;min-height:29px!important;font-size:8px!important;padding:0 9px!important;border-radius:10px!important;}
  html body #page-colors .user-color-picker{width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;border-radius:8px!important;}
  html body #page-colors .saved-mixed-grid,
  html body #page-colors .saved-colors-grid{grid-template-columns:repeat(auto-fill,minmax(28px,1fr))!important;gap:6px!important;}
  html body #page-colors .saved-gradients-grid{grid-template-columns:repeat(auto-fill,minmax(48px,1fr))!important;gap:6px!important;}
  html body #page-colors .saved-color-item{height:31px!important;min-height:31px!important;border-radius:9px!important;}
  html body #page-colors .saved-gradient-item{height:33px!important;min-height:33px!important;border-radius:9px!important;}
  html body #page-colors .reference-meta-controls,
  html body #page-colors .template-save-row{grid-template-columns:minmax(0,1fr) 52px!important;gap:6px!important;}
  html body #page-colors .reference-pending-preview{height:62px!important;min-height:62px!important;}
  html body #page-colors .saved-reference-grid{grid-template-columns:repeat(auto-fill,minmax(78px,1fr))!important;}
  html body #page-colors .saved-templates-grid,
  html body #page-colors .saved-fonts-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))!important;}
  html body #page-colors .template-card{height:102px!important;}
}

/* v148b — final responsive polish: no horizontal scroll, compact empty saved area. */
html body #page-colors .saved-library-card{
  overflow-y:auto !important;
  overflow-x:hidden !important;
}
html body #page-colors .saved-library-card > *,
html body #page-colors .saved-subpage > *,
html body #page-colors .saved-page > *{
  min-width:0 !important;
  max-width:100% !important;
}
html body #page-colors #savedMixedGrid .saved-colors-empty{
  min-height:30px !important;
  height:30px !important;
  padding:0 8px !important;
  font-size:8px !important;
}
html body #page-colors #savedMixedGrid{
  min-height:30px !important;
}
@media (max-width:330px){
  html body #page-colors #savedMixedGrid .saved-colors-empty{
    min-height:24px !important;
    height:24px !important;
    font-size:7px !important;
  }
  html body #page-colors #savedMixedGrid{min-height:24px!important;}
}

/* v148c — prevent template save row from creating horizontal scroll in narrow panels. */
html body #page-colors .template-save-row{
  grid-template-columns:minmax(0,1fr) 58px !important;
}
html body #page-colors .template-save-row .primary-btn,
html body #page-colors .reference-actions .primary-btn,
html body #page-colors .reference-actions .secondary-btn{
  min-width:0 !important;
  width:auto !important;
}
@media (max-width:330px){
  html body #page-colors .template-save-row{grid-template-columns:minmax(0,1fr) 52px!important;}
  html body #page-colors .template-save-row .primary-btn{width:52px!important;padding:0!important;}
}

/* ===== css/ui_saved_v149.css ===== */
/* v149 — Saved Colors overlap fix.
   In v148 the large color grids were flex items with flex-shrink enabled, so
   long popular palettes could visually overlap the next section title. */
html body #page-colors .saved-mixed-grid,
html body #page-colors .saved-colors-grid,
html body #page-colors .saved-gradients-grid,
html body #page-colors .saved-reference-grid,
html body #page-colors .saved-templates-grid,
html body #page-colors .saved-fonts-grid{
  flex:0 0 auto !important;
  align-self:stretch !important;
  height:auto !important;
  min-height:0 !important;
  overflow:visible !important;
  contain:layout paint !important;
}

html body #page-colors #popularColorsGrid,
html body #page-colors #popularGradientsGrid,
html body #page-colors #savedMixedGrid{
  flex-shrink:0 !important;
  grid-auto-flow:row !important;
  grid-auto-rows:auto !important;
  align-items:stretch !important;
}

html body #page-colors #popularColorsGrid .saved-color-item,
html body #page-colors #savedMixedGrid .saved-color-item,
html body #page-colors #popularGradientsGrid .saved-gradient-item,
html body #page-colors #savedMixedGrid .saved-gradient-item{
  align-self:stretch !important;
  justify-self:stretch !important;
  width:100% !important;
  aspect-ratio:auto !important;
  transform:none !important;
}

html body #page-colors #popularColorsGrid .saved-color-item:hover,
html body #page-colors #savedMixedGrid .saved-color-item:hover,
html body #page-colors #popularGradientsGrid .saved-gradient-item:hover,
html body #page-colors #savedMixedGrid .saved-gradient-item:hover{
  transform:none !important;
}

html body #page-colors .saved-section-title{
  flex:0 0 auto !important;
  clear:both !important;
  position:relative !important;
  z-index:1 !important;
  background:var(--sv-panel) !important;
}

html body #page-colors #popularGradientsGrid{
  margin-bottom:2px !important;
}

/* ===== css/ui_v150.css ===== */
:root{
  /* Dialogs match the app's own background instead of a fixed neutral gray -
     --qwix-bg is the user's current Style Lab background color/theme, kept
     in sync at runtime by applyTheme() (js/qwix-core.js). Falls back to the
     original gray gradient only if the theme variable is ever unset. */
  --v150-panel-bg: var(--qwix-bg, linear-gradient(180deg, rgba(29,30,34,.96), rgba(15,15,18,.98)));
  --v150-panel-bg-soft: linear-gradient(180deg, rgba(35,36,40,.94), rgba(18,18,21,.98));
  --v150-line: rgba(255,255,255,.08);
  --v150-line-strong: rgba(255,255,255,.15);
  --v150-highlight: rgba(255,255,255,.14);
  --v150-shadow: 0 18px 44px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.08), inset 0 -10px 18px rgba(0,0,0,.34);
  --v150-pill-shadow: inset 0 1px 0 rgba(255,255,255,.12), inset 0 -8px 14px rgba(0,0,0,.34), 0 6px 12px rgba(0,0,0,.18);
}

/* ===== Popup menus / overlays unified style ===== */
.modal-backdrop,
.plugin-settings-overlay,
.reference-modal-overlay,
.tools-paste-image-overlay{
  background: rgba(6,7,10,.72) !important;
  backdrop-filter: blur(12px) saturate(110%) !important;
}

.aptk-modal,
.plugin-settings-panel,
.reference-modal-panel,
.tools-paste-image-modal,
.font-picker-list{
  border: 1px solid var(--v150-line) !important;
  background: var(--v150-panel-bg) !important;
  box-shadow: var(--v150-shadow) !important;
  color: #f7f7f8 !important;
}

.aptk-modal{
  border-radius: 20px !important;
  padding: 16px !important;
}
.modal-eyebrow,
.settings-kicker,
.reference-modal-help{
  color: rgba(255,255,255,.5) !important;
}
.aptk-modal h3,
.settings-title,
.reference-modal-title{
  font-weight: 800 !important;
  letter-spacing: -.01em !important;
}
.modal-input,
.reference-modal-bottom input,
.font-picker-wrap input{
  border: 1px solid var(--v150-line) !important;
  background: rgba(255,255,255,.035) !important;
  color: #fff !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), inset 0 -8px 14px rgba(0,0,0,.28) !important;
}
.modal-input:focus{
  border-color: rgba(255,255,255,.2) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 0 0 2px rgba(255,255,255,.05) !important;
}
.modal-btn,
.theme-option,
.reference-modal-actions button,
.tools-paste-image-target{
  border: 1px solid var(--v150-line) !important;
}
.modal-btn.ghost,
.theme-option,
.reference-modal-actions button,
.tools-paste-image-target{
  background: var(--v150-panel-bg-soft) !important;
  box-shadow: var(--v150-pill-shadow) !important;
}
.modal-btn.primary{
  background: var(--v150-panel-bg-soft) !important;
  border-color: rgba(255,255,255,.14) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), inset 0 -6px 10px rgba(0,0,0,.28), 0 0 0 1px rgba(255,255,255,.04) !important;
}
.modal-btn.primary:hover,
.modal-btn.ghost:hover,
.theme-option:hover,
.reference-modal-actions button:hover{
  border-color: rgba(255,255,255,.2) !important;
  background: linear-gradient(180deg, rgba(52,53,59,.96), rgba(20,20,23,.98)) !important;
}
.plugin-settings-panel{
  border-radius: 18px !important;
  padding: 12px !important;
}
.theme-option.active{
  border-color: rgba(255,255,255,.18) !important;
  background: linear-gradient(180deg, rgba(58,60,66,.98), rgba(22,22,25,.98)) !important;
}
.reference-modal-panel{
  border-radius: 18px !important;
  background: var(--qwix-bg, linear-gradient(180deg, rgba(22,23,27,.98), rgba(11,12,14,.99))) !important;
  grid-template-rows: auto minmax(0,1fr) auto !important;
}
.reference-modal-topbar{
  min-height: 36px !important;
  padding: 8px 10px !important;
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
  background: rgba(255,255,255,.015) !important;
}
.reference-modal-stage{
  background:
    linear-gradient(180deg, rgba(255,255,255,.015), rgba(0,0,0,.12)),
    repeating-linear-gradient(0deg, rgba(255,255,255,.02) 0, rgba(255,255,255,.02) 1px, transparent 1px, transparent 38px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.02) 0, rgba(255,255,255,.02) 1px, transparent 1px, transparent 38px) !important;
}
.reference-modal-bottom{
  min-height: 38px !important;
  padding: 0 10px !important;
  border-top: 1px solid rgba(255,255,255,.05) !important;
}
.tools-paste-image-modal{
  width: min(286px, calc(100vw - 36px)) !important;
  min-height: 152px !important;
  border-radius: 18px !important;
  padding: 18px 18px 16px !important;
}
.tools-paste-image-text{
  font-size: 17px !important;
  font-weight: 800 !important;
  letter-spacing: -.02em !important;
}
.tools-paste-image-subtext{
  color: rgba(255,255,255,.58) !important;
}
.tools-paste-image-target{
  width: 100% !important;
  min-height: 40px !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.03) !important;
}
.tools-paste-image-target:focus{
  outline: none !important;
  border-color: rgba(255,255,255,.16) !important;
}
.font-picker-list{
  border-radius: 14px !important;
  padding: 6px !important;
}
.font-picker-item{
  color: #ececef !important;
  border-radius: 9px !important;
}
.font-picker-item:hover,
.font-picker-item:focus{
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
}
.font-picker-empty{ color: rgba(255,255,255,.58) !important; }

/* unified close buttons */
.saved-font-delete,
.tools-paste-image-close,
#referenceModalClose{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  padding: 0 !important;
  border-radius: 9px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background: linear-gradient(180deg, rgba(37,38,43,.98), rgba(14,14,17,.99)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), inset 0 -7px 10px rgba(0,0,0,.4), 0 4px 10px rgba(0,0,0,.28) !important;
  color: transparent !important;
  line-height: 1 !important;
  overflow: hidden !important;
}
.saved-font-delete::before,
.tools-paste-image-close::before,
#referenceModalClose::before{
  content: "×";
  color: #f7f7f8;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  transform: translateY(-.5px);
}
.saved-font-delete:hover,
.tools-paste-image-close:hover,
#referenceModalClose:hover{
  border-color: rgba(255,255,255,.2) !important;
  background: linear-gradient(180deg, rgba(48,50,56,.98), rgba(16,16,19,.99)) !important;
}
.saved-font-delete{ top: 8px !important; right: 8px !important; }
.saved-font-card:hover .saved-font-delete{ display: inline-flex !important; }
.saved-font-card-compact .saved-font-delete{ display: inline-flex !important; }

/* ===== Tools composition select arrow ===== */
html body #page-toolkit .align-target-select-v146{
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23E9E9EC' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M1.5 1.5L6 6l4.5-4.5'/%3E%3C/svg%3E"),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(0,0,0,.06)) !important;
  background-repeat: no-repeat, no-repeat !important;
  background-position: right 12px center, 0 0 !important;
  background-size: 12px 8px, 100% 100% !important;
  padding-right: 34px !important;
}
html body #page-toolkit .align-target-select-v146:focus{
  outline: none !important;
  border-color: rgba(255,255,255,.15) !important;
}
html body #page-toolkit .align-target-select-v146 option{
  background: #191a1d !important;
  color: #f0f0f2 !important;
}

/* ===== Expressions page - same compact logic as Text ===== */
#page-expressions{
  padding: 8px 8px 10px !important;
}
#page-expressions .expression-page-pro{
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
  gap: 8px !important;
  align-content: start !important;
}
#page-expressions .expression-preview-card,
#page-expressions .expression-controls-card{
  padding: 10px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255,255,255,.055) !important;
  background: linear-gradient(180deg, rgba(29,30,34,.98), rgba(15,15,18,.99)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), inset 0 -10px 18px rgba(0,0,0,.35) !important;
}
#page-expressions .mini-head{
  margin-bottom: 8px !important;
}
#page-expressions .expression-stage{
  min-height: 116px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255,255,255,.06) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.015), rgba(0,0,0,.08)),
    repeating-linear-gradient(0deg, rgba(255,255,255,.035) 0, rgba(255,255,255,.035) 1px, transparent 1px, transparent 34px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.03) 0, rgba(255,255,255,.03) 1px, transparent 1px, transparent 34px) !important;
}
#page-expressions .expression-apply-row{
  margin-top: 8px !important;
}
#page-expressions .expression-apply-action{
  width: 100% !important;
}
#page-expressions .expression-hint-row{
  margin-top: 8px !important;
  font-size: 10px !important;
}
#page-expressions .expression-controls-card{
  display: block !important;
}
#page-expressions .expression-preset-switch{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  gap: 6px !important;
  margin-bottom: 8px !important;
}
#page-expressions .expression-preset-tab{
  min-width: 0 !important;
  min-height: 34px !important;
  padding: 0 8px !important;
  border-radius: 11px !important;
  border: 1px solid rgba(255,255,255,.06) !important;
  background: linear-gradient(180deg, rgba(39,40,45,.98), rgba(18,18,21,.99)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), inset 0 -10px 18px rgba(0,0,0,.35) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}
#page-expressions .expression-preset-tab .eyebrow{
  display: none !important;
}
#page-expressions .expression-preset-tab b{
  font-size: 10px !important;
  line-height: 1.05 !important;
  font-weight: 800 !important;
}
#page-expressions .expression-preset-tab.is-active{
  border-color: rgba(255,255,255,.24) !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,.05), inset 0 1px 0 rgba(255,255,255,.12), inset 0 -10px 18px rgba(0,0,0,.35) !important;
}
#page-expressions .expression-controls-panel{
  display: none !important;
}
#page-expressions .expression-controls-panel.is-active{
  display: block !important;
}
#page-expressions .expression-section-head{
  margin-bottom: 8px !important;
  padding-bottom: 6px !important;
  border-bottom: 1px solid rgba(255,255,255,.05) !important;
}
#page-expressions .expression-section-head h2{
  font-size: 13px !important;
  margin: 2px 0 0 !important;
}
#page-expressions .expression-wiggle-grid{
  display: grid !important;
  gap: 6px !important;
}
#page-expressions .expression-wiggle-row,
#page-expressions .expression-toggle-row{
  padding: 8px !important;
  border-radius: 11px !important;
  border: 1px solid rgba(255,255,255,.05) !important;
  background: rgba(255,255,255,.025) !important;
}
#page-expressions .expression-toggle-row.is-active{
  border-color: rgba(255,255,255,.11) !important;
}
#page-expressions .expression-check{
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #f2f2f4 !important;
  margin-bottom: 6px !important;
}
#page-expressions .expression-check input{
  width: 14px !important;
  height: 14px !important;
}
#page-expressions .expression-toggle-badge{
  margin-left: auto !important;
  min-width: 32px !important;
  text-align: center !important;
  border-radius: 999px !important;
  padding: 2px 6px !important;
  border: 1px solid rgba(255,255,255,.06) !important;
  background: rgba(255,255,255,.04) !important;
  font-size: 8px !important;
}
#page-expressions .expression-scale-mode{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 6px !important;
  margin-top: 6px !important;
}
#page-expressions .expression-scale-mode-btn{
  min-height: 28px !important;
  padding: 0 8px !important;
  border-radius: 9px !important;
  border: 1px solid rgba(255,255,255,.06) !important;
  background: linear-gradient(180deg, rgba(38,39,44,.96), rgba(17,17,20,.99)) !important;
  color: rgba(255,255,255,.8) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
}
#page-expressions .expression-scale-mode-btn.is-active{
  border-color: rgba(255,255,255,.18) !important;
  color: #fff !important;
}
#page-expressions .smart-select-row,
#page-expressions .smart-control-row{
  margin-top: 8px !important;
}
#page-expressions .smart-select-row:first-child,
#page-expressions .smart-control-row:first-child{ margin-top: 0 !important; }
#page-expressions .smart-select-row select,
#page-expressions .smart-control-row input[type="range"]{
  width: 100% !important;
}
#page-expressions select{
  height: 34px !important;
}

/* keep page compact in narrow panels */
@media (max-width: 340px){
  #page-expressions .expression-preset-switch{
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
  #page-expressions .expression-preset-tab{
    min-height: 30px !important;
  }
  #page-expressions .expression-stage{
    min-height: 104px !important;
  }
  #page-expressions .expression-check{
    flex-wrap: wrap !important;
  }
}

/* ===== v151 Expressions: Text-page logic — presets left, preview/settings right ===== */
#page-expressions .expression-page-pro.expression-v151{
  display: block !important;
  width: 100% !important;
  max-width: 468px !important;
  margin: 0 auto !important;
}
#page-expressions .expr-v151-layout{
  display: grid !important;
  grid-template-columns: 112px minmax(0,1fr) !important;
  gap: 8px !important;
  align-items: start !important;
}
#page-expressions .expr-v151-presets-card{
  min-width: 0 !important;
  padding: 8px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255,255,255,.055) !important;
  background: linear-gradient(180deg, rgba(29,30,34,.98), rgba(15,15,18,.99)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), inset 0 -10px 18px rgba(0,0,0,.35) !important;
}
#page-expressions .expr-v151-left-head{
  color: rgba(255,255,255,.42) !important;
  font-size: 7px !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  margin: 1px 0 7px !important;
}
#page-expressions .expr-v151-main{
  min-width: 0 !important;
  display: grid !important;
  gap: 8px !important;
  align-items: start !important;
}
#page-expressions .expression-preset-switch{
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 6px !important;
  margin: 0 !important;
}
#page-expressions .expression-preset-tab,
#page-expressions .expr-v151-custom-btn{
  width: 100% !important;
  min-height: 36px !important;
  padding: 0 8px !important;
  border-radius: 10px !important;
  border: 1px solid rgba(255,255,255,.06) !important;
  background: linear-gradient(180deg, rgba(37,38,43,.98), rgba(16,16,19,.99)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), inset 0 -8px 14px rgba(0,0,0,.34), 0 5px 12px rgba(0,0,0,.18) !important;
  color: rgba(255,255,255,.82) !important;
  display: grid !important;
  align-content: center !important;
  justify-items: start !important;
  text-align: left !important;
}
#page-expressions .expression-preset-tab:hover,
#page-expressions .expr-v151-custom-btn:hover{
  border-color: rgba(255,255,255,.13) !important;
  color: #fff !important;
}
#page-expressions .expression-preset-tab.is-active,
#page-expressions .expr-v151-custom-btn.is-active{
  border-color: rgba(255,255,255,.24) !important;
  color: #fff !important;
  background: linear-gradient(180deg, rgba(47,48,54,.98), rgba(17,17,20,.99)) !important;
}
#page-expressions .expression-preset-tab b,
#page-expressions .expr-v151-custom-btn b{
  font-size: 10px !important;
  line-height: 1.05 !important;
  font-weight: 850 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
#page-expressions .expression-preset-tab .eyebrow,
#page-expressions .expr-v151-custom-btn span{
  display: block !important;
  color: rgba(255,255,255,.34) !important;
  font-size: 6px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  line-height: 1 !important;
  margin-bottom: 4px !important;
  text-transform: uppercase !important;
}
#page-expressions .expr-v151-custom-list{
  display: grid !important;
  gap: 6px !important;
  margin-top: 8px !important;
  padding-top: 8px !important;
  border-top: 1px solid rgba(255,255,255,.05) !important;
}
#page-expressions .expr-v151-custom-empty{
  min-height: 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px dashed rgba(255,255,255,.055) !important;
  border-radius: 10px !important;
  color: rgba(255,255,255,.30) !important;
  font-size: 7px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
}
#page-expressions .expression-preview-card,
#page-expressions .expression-controls-card{
  margin: 0 !important;
  padding: 8px !important;
  border-radius: 14px !important;
}
#page-expressions .expression-preview-card .mini-head{
  display: none !important;
}
#page-expressions .expression-stage{
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: 236px !important;
  border-radius: 12px !important;
}
#page-expressions .expr-v151-quick-row{
  display: none !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 6px !important;
  margin-top: 8px !important;
}
#page-expressions .expr-v151-quick-row.is-visible{
  display: grid !important;
}
#page-expressions .expr-v151-quick-row .smart-select-row{
  margin: 0 !important;
}
#page-expressions .expr-v151-quick-row select{
  height: 32px !important;
  border-radius: 10px !important;
  padding: 0 28px 0 10px !important;
  font-size: 9px !important;
  font-weight: 850 !important;
  border: 1px solid rgba(255,255,255,.06) !important;
  background: linear-gradient(180deg, rgba(37,38,43,.98), rgba(16,16,19,.99)) !important;
  color: #f2f2f4 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), inset 0 -8px 14px rgba(0,0,0,.34) !important;
}
#page-expressions .expression-apply-row-single{
  display: grid !important;
  grid-template-columns: minmax(0,1fr) 74px 64px !important;
  gap: 6px !important;
  margin-top: 8px !important;
}
#page-expressions .expression-apply-row-single .primary-btn,
#page-expressions .expr-v151-clear-btn,
#page-expressions .expr-v151-save-btn{
  width: 100% !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 10px !important;
  border-radius: 11px !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
}
/* Apply keeps the app-wide standard flat accent look (qwix_theme.css) —
   only Clear/Save (secondary/neutral actions) get this dark inset chrome. */
#page-expressions .expr-v151-clear-btn,
#page-expressions .expr-v151-save-btn{
  border: 1px solid rgba(255,255,255,.065) !important;
  background: linear-gradient(180deg, rgba(37,38,43,.98), rgba(16,16,19,.99)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.09), inset 0 -9px 14px rgba(0,0,0,.36), 0 5px 12px rgba(0,0,0,.18) !important;
  color: #f5f5f6 !important;
}
#page-expressions .expr-v151-clear-btn:hover,
#page-expressions .expr-v151-save-btn:hover{
  border-color: rgba(255,255,255,.16) !important;
}
#page-expressions .expression-hint-row{
  display: none !important;
}
#page-expressions .expression-controls-card{
  max-height: 220px !important;
  overflow: auto !important;
  scrollbar-width: thin !important;
}
#page-expressions .expression-section-head{
  margin-bottom: 7px !important;
  padding-bottom: 6px !important;
}
#page-expressions .expression-section-head h2{
  font-size: 12px !important;
}
#page-expressions .expression-wiggle-grid{
  gap: 6px !important;
}
#page-expressions .expression-wiggle-row,
#page-expressions .expression-toggle-row{
  padding: 7px !important;
}
#page-expressions .smart-control-row{
  margin-top: 7px !important;
}
#page-expressions .expression-toggle-row .smart-control-row:first-of-type{
  margin-top: 0 !important;
}
@media (max-width: 340px){
  #page-expressions{ padding: 7px 6px 10px !important; }
  #page-expressions .expr-v151-layout{
    grid-template-columns: 86px minmax(0,1fr) !important;
    gap: 6px !important;
  }
  #page-expressions .expr-v151-presets-card,
  #page-expressions .expression-preview-card,
  #page-expressions .expression-controls-card{
    padding: 7px !important;
    border-radius: 12px !important;
  }
  #page-expressions .expression-preset-tab,
  #page-expressions .expr-v151-custom-btn{
    min-height: 32px !important;
    padding: 0 7px !important;
    border-radius: 9px !important;
  }
  #page-expressions .expression-preset-tab b,
  #page-expressions .expr-v151-custom-btn b{
    font-size: 8.5px !important;
  }
  #page-expressions .expression-stage{
    max-height: 182px !important;
  }
  #page-expressions .expr-v151-quick-row{
    grid-template-columns: 1fr !important;
    gap: 5px !important;
    margin-top: 6px !important;
  }
  #page-expressions .expression-apply-row-single{
    grid-template-columns: 1fr 52px 48px !important;
    gap: 5px !important;
    margin-top: 6px !important;
  }
  #page-expressions .expression-apply-row-single .primary-btn,
  #page-expressions .expr-v151-clear-btn,
  #page-expressions .expr-v151-save-btn{
    height: 30px !important;
    min-height: 30px !important;
    padding: 0 5px !important;
    font-size: 7.4px !important;
    border-radius: 9px !important;
  }
  #page-expressions .expression-controls-card{
    max-height: 214px !important;
  }
}
/* v151b - keep Expression preview compact; remove legacy full-height grid stretching. */
#page-expressions .expression-page-pro.expression-v151{
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}
#page-expressions .expr-v151-layout{
  height: auto !important;
  min-height: 0 !important;
  align-items: start !important;
}
#page-expressions .expr-v151-main{
  grid-template-rows: auto auto !important;
  align-content: start !important;
}
#page-expressions .expression-preview-card{
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
@media (max-width:390px){
  #page-expressions .expression-page-pro.expression-v151{
    height: auto !important;
    overflow: visible !important;
  }
  #page-expressions .expression-preview-card{
    min-height: 0 !important;
  }
}
/* v151c — no bright blue sliders in Expressions. */
#page-expressions input[type="range"]{
  accent-color: #d9d9dc !important;
  height: 16px !important;
  background: transparent !important;
}
#page-expressions input[type="range"]::-webkit-slider-runnable-track{
  height: 4px !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.09), rgba(0,0,0,.18)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045), inset 0 -1px 0 rgba(0,0,0,.42) !important;
}
#page-expressions input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 12px !important;
  height: 12px !important;
  margin-top: -4px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(255,255,255,.42) !important;
  background: linear-gradient(180deg, #eeeeef, #9d9da2) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.65) !important;
}
#page-expressions input[type="range"]::-moz-range-track{
  height: 4px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.08) !important;
}
#page-expressions input[type="range"]::-moz-range-thumb{
  width: 12px !important;
  height: 12px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(255,255,255,.42) !important;
  background: #d8d8dc !important;
}
/* v151d — cleaner compact preset rail, no cramped helper labels. */
#page-expressions .expression-preset-tab .eyebrow{
  display: none !important;
}
#page-expressions .expression-preset-tab{
  min-height: 34px !important;
  justify-items: center !important;
  text-align: center !important;
}
#page-expressions .expression-preset-tab b{
  font-size: 10.5px !important;
}
@media (max-width:340px){
  #page-expressions .expression-preset-tab{
    min-height: 31px !important;
  }
  #page-expressions .expression-preset-tab b{
    font-size: 9px !important;
  }
}

/* ===== css/ui_v152.css ===== */
/* v152 — shared Text/Expressions vertical preset rail. Inactive presets are dim labels, not black pills. */
:root{
  --v152-rail-bg:#171719;
  --v152-active-bg:#0f0f11;
  --v152-active-border:rgba(255,255,255,.055);
  --v152-text:#f4f4f5;
  --v152-muted:rgba(244,244,245,.28);
  --v152-muted-hover:rgba(244,244,245,.52);
  --v152-pressed:inset 0 1px 3px rgba(0,0,0,.62);
  --v152-raised:0 2px 7px rgba(0,0,0,.46);
}

/* Text preset selector */
#page-text-presets .preset-icons-card{
  background:var(--v152-rail-bg)!important;
  border:1px solid rgba(255,255,255,.025)!important;
  box-shadow:inset 0 2px 5px rgba(0,0,0,.34)!important;
  border-radius:28px!important;
  padding:7px 5px!important;
}
#page-text-presets #presetGrid.icon-only-grid{
  gap:4px!important;
  padding:0!important;
}
#page-text-presets #presetGrid.icon-only-grid .preset-card,
#page-text-presets #presetGrid .preset-card{
  width:54px!important;
  min-width:54px!important;
  max-width:54px!important;
  height:42px!important;
  min-height:42px!important;
  max-height:42px!important;
  flex:0 0 42px!important;
  border-radius:999px!important;
  margin:0 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  transform:none!important;
  transition:opacity .16s ease,color .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}
#page-text-presets #presetGrid.icon-only-grid .preset-card:not(.active),
#page-text-presets #presetGrid .preset-card:not(.active){
  background:transparent!important;
  background-image:none!important;
  border-color:transparent!important;
  box-shadow:none!important;
  opacity:1!important;
}
#page-text-presets #presetGrid.icon-only-grid .preset-card:not(.active)::after,
#page-text-presets #presetGrid .preset-card:not(.active)::after{
  display:none!important;
}
#page-text-presets #presetGrid.icon-only-grid .preset-card:not(.active) .icon-mini-text,
#page-text-presets #presetGrid .preset-card:not(.active) .icon-mini-text{
  color:var(--v152-muted)!important;
  opacity:1!important;
}
#page-text-presets #presetGrid.icon-only-grid .preset-card:not(.active):hover,
#page-text-presets #presetGrid .preset-card:not(.active):hover{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
#page-text-presets #presetGrid.icon-only-grid .preset-card:not(.active):hover .icon-mini-text,
#page-text-presets #presetGrid .preset-card:not(.active):hover .icon-mini-text{
  color:var(--v152-muted-hover)!important;
}
#page-text-presets #presetGrid.icon-only-grid .preset-card.active,
#page-text-presets #presetGrid .preset-card.active{
  background:linear-gradient(180deg,#171719,#0e0e10)!important;
  background-image:linear-gradient(180deg,#171719,#0e0e10)!important;
  border:1px solid var(--v152-active-border)!important;
  box-shadow:var(--v152-raised)!important;
  opacity:1!important;
}
#page-text-presets #presetGrid.icon-only-grid .preset-card.active::after,
#page-text-presets #presetGrid .preset-card.active::after{display:none!important;}
#page-text-presets #presetGrid.icon-only-grid .preset-card.active .icon-mini-text,
#page-text-presets #presetGrid .preset-card.active .icon-mini-text{
  color:var(--v152-text)!important;
}
#page-text-presets #presetGrid.icon-only-grid .preset-card.active:active,
#page-text-presets #presetGrid .preset-card.active:active{
  box-shadow:var(--v152-pressed)!important;
  transform:translateY(1px)!important;
}

/* Expressions rail now uses the same visual logic as Text. */
#page-expressions .expr-v151-layout{
  grid-template-columns:74px minmax(0,1fr)!important;
  gap:12px!important;
}
#page-expressions .expr-v151-presets-card{
  width:74px!important;
  min-width:0!important;
  padding:7px 5px!important;
  border-radius:28px!important;
  border:1px solid rgba(255,255,255,.025)!important;
  background:var(--v152-rail-bg)!important;
  box-shadow:inset 0 2px 5px rgba(0,0,0,.34)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  overflow:hidden!important;
}
#page-expressions .expr-v151-left-head{
  display:none!important;
}
#page-expressions .expression-preset-switch{
  width:100%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:4px!important;
  margin:0!important;
}
#page-expressions .expression-preset-tab,
#page-expressions .expr-v151-custom-btn{
  width:54px!important;
  min-width:54px!important;
  max-width:54px!important;
  height:42px!important;
  min-height:42px!important;
  max-height:42px!important;
  flex:0 0 42px!important;
  padding:0!important;
  border-radius:999px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  justify-items:center!important;
  text-align:center!important;
  color:var(--v152-muted)!important;
  background:transparent!important;
  background-image:none!important;
  border:1px solid transparent!important;
  box-shadow:none!important;
  opacity:1!important;
}
#page-expressions .expression-preset-tab .eyebrow,
#page-expressions .expr-v151-custom-btn span{
  display:none!important;
}
#page-expressions .expression-preset-tab b,
#page-expressions .expr-v151-custom-btn b{
  display:block!important;
  width:100%!important;
  padding:0 4px!important;
  color:inherit!important;
  font-size:9.5px!important;
  font-weight:850!important;
  letter-spacing:-.01em!important;
  line-height:1!important;
  text-align:center!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#page-expressions .expression-preset-tab:not(.is-active):hover,
#page-expressions .expr-v151-custom-btn:not(.is-active):hover{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  color:var(--v152-muted-hover)!important;
}
#page-expressions .expression-preset-tab.is-active,
#page-expressions .expr-v151-custom-btn.is-active{
  color:var(--v152-text)!important;
  background:linear-gradient(180deg,#171719,#0e0e10)!important;
  border:1px solid var(--v152-active-border)!important;
  box-shadow:var(--v152-raised)!important;
}
#page-expressions .expression-preset-tab.is-active:active,
#page-expressions .expr-v151-custom-btn.is-active:active{
  box-shadow:var(--v152-pressed)!important;
  transform:translateY(1px)!important;
}
#page-expressions .expr-v151-custom-list{
  width:100%!important;
  margin-top:6px!important;
  padding-top:6px!important;
  border-top:1px solid rgba(255,255,255,.035)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:4px!important;
  overflow:visible!important;
}
#page-expressions .expr-v151-custom-empty{
  width:54px!important;
  min-height:24px!important;
  border:none!important;
  background:transparent!important;
  color:rgba(244,244,245,.18)!important;
  font-size:6px!important;
  letter-spacing:.04em!important;
}
#page-expressions .expr-v152-save-under-menu{
  width:54px!important;
  height:34px!important;
  min-height:34px!important;
  margin-top:8px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.045)!important;
  background:linear-gradient(180deg,#18181b,#101012)!important;
  box-shadow:var(--v152-raised)!important;
  color:rgba(244,244,245,.78)!important;
  font-size:8px!important;
  font-weight:850!important;
  padding:0!important;
}
#page-expressions .expr-v152-save-under-menu:hover{
  color:#fff!important;
  border-color:rgba(255,255,255,.08)!important;
}
#page-expressions .expression-apply-row-single{
  grid-template-columns:minmax(0,1fr) 74px!important;
}
#page-expressions .expression-apply-row-single .expr-v151-save-btn:not(.expr-v152-save-under-menu){
  display:none!important;
}
#page-expressions .expression-stage{
  max-height:246px!important;
}

@media (max-width:340px){
  #page-expressions .expr-v151-layout{
    grid-template-columns:64px minmax(0,1fr)!important;
    gap:8px!important;
  }
  #page-expressions .expr-v151-presets-card{
    width:64px!important;
    padding:6px 4px!important;
    border-radius:24px!important;
  }
  #page-expressions .expression-preset-tab,
  #page-expressions .expr-v151-custom-btn{
    width:48px!important;
    min-width:48px!important;
    max-width:48px!important;
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    flex-basis:38px!important;
  }
  #page-expressions .expression-preset-tab b,
  #page-expressions .expr-v151-custom-btn b{font-size:8.5px!important;}
  #page-expressions .expr-v152-save-under-menu{
    width:48px!important;
    height:30px!important;
    min-height:30px!important;
    font-size:7.3px!important;
  }
  #page-expressions .expression-apply-row-single{
    grid-template-columns:minmax(0,1fr) 50px!important;
  }
}

/* ===== css/ui_v153.css ===== */
/* v153 — Expression Save is outside the preset rail + Stretch preview guide removed. */
#page-expressions .expr-v151-layout{
  grid-template-columns:74px minmax(0,1fr)!important;
}
#page-expressions .expr-v153-left-column{
  width:74px!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:8px!important;
}
#page-expressions .expr-v153-left-column .expr-v151-presets-card{
  width:74px!important;
  flex:0 0 auto!important;
  margin:0!important;
}
#page-expressions .expr-v153-save-below-menu{
  width:58px!important;
  height:34px!important;
  min-height:34px!important;
  margin:0!important;
  padding:0!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.052)!important;
  background:linear-gradient(180deg,#18181b,#101012)!important;
  box-shadow:0 2px 7px rgba(0,0,0,.46)!important;
  color:rgba(244,244,245,.86)!important;
  font-size:8px!important;
  font-weight:850!important;
  letter-spacing:0!important;
  text-transform:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
#page-expressions .expr-v153-save-below-menu:hover{
  color:#fff!important;
  border-color:rgba(255,255,255,.1)!important;
}
#page-expressions .expr-v153-save-below-menu:active{
  transform:translateY(1px)!important;
  box-shadow:inset 0 1px 3px rgba(0,0,0,.62)!important;
}
#page-expressions .expr-v151-presets-card .expr-v153-save-below-menu,
#page-expressions .expression-apply-row-single .expr-v153-save-below-menu{
  display:none!important;
}
#page-expressions .expression-stage.is-shape-stretch-preview::after{
  content:none!important;
  display:none!important;
}
@media (max-width:340px){
  #page-expressions .expr-v151-layout{
    grid-template-columns:64px minmax(0,1fr)!important;
  }
  #page-expressions .expr-v153-left-column,
  #page-expressions .expr-v153-left-column .expr-v151-presets-card{
    width:64px!important;
  }
  #page-expressions .expr-v153-save-below-menu{
    width:50px!important;
    height:30px!important;
    min-height:30px!important;
    font-size:7.3px!important;
  }
}

/* ===== css/ui_v154.css ===== */
/* v154 — Expressions aligned to Text controls.
   The old per-file 5-class color system that used to live here
   (--aptk-class-1..5, .aptk-ui-bg/control/primary/surface/detail) is
   superseded by the exhaustive version in ui_v155.css, which is driven
   by the Style Lab settings page (js/main_v139.js) instead of fixed
   hex values. main_v154.js still adds the old .aptk-ui-* class names
   for legacy reasons; they are harmless no-ops now (no CSS targets
   them), main_v155.js's data-aptk-ui-class attributes are what render. */

/* Expression preset rail: menu ends after presets, Save is below it, no “No saved” placeholder. */
#page-expressions .expr-v151-layout{
  grid-template-columns:74px minmax(0,1fr)!important;
  gap:12px!important;
}
#page-expressions .expr-v153-left-column{
  width:74px!important;
  align-items:center!important;
  gap:8px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
#page-expressions .expr-v151-presets-card{
  width:74px!important;
  padding:7px 5px!important;
  border-radius:28px!important;
  overflow:hidden!important;
}
#page-expressions .expr-v151-custom-list:empty,
#page-expressions .expr-v151-custom-list.is-empty,
#page-expressions .expr-v151-custom-empty{
  display:none!important;
}
#page-expressions .expr-v153-save-below-menu,
#page-expressions #saveExpressionPresetBtn.expr-v153-save-below-menu{
  width:58px!important;
  height:34px!important;
  min-height:34px!important;
  flex:0 0 34px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
}
#page-expressions .expr-v151-presets-card #saveExpressionPresetBtn{
  display:none!important;
}

/* Expressions controls inherit the exact Text control language instead of custom uppercase/large styles. */
#page-expressions .expression-controls-card{
  background:linear-gradient(180deg,rgba(18,21,26,.97),rgba(11,13,17,.98))!important;
  border:1px solid rgba(255,255,255,.045)!important;
  border-radius:24px!important;
  padding:12px 12px 10px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  min-height:0!important;
  max-height:calc(100vh - 350px)!important;
  overflow:auto!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035), inset 0 -10px 18px rgba(0,0,0,.32)!important;
}
#page-expressions .expression-controls-card::-webkit-scrollbar{display:none!important;}
#page-expressions .expression-section-head{
  display:none!important;
}
#page-expressions .expression-controls-panel.is-active{
  display:block!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
}
#page-expressions .expression-wiggle-grid{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
}
#page-expressions .expression-wiggle-row,
#page-expressions .expression-toggle-row{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#page-expressions .expression-check{
  margin:0 0 7px!important;
  color:rgba(241,242,244,.94)!important;
  font-size:12px!important;
  line-height:1.15!important;
  font-weight:720!important;
  letter-spacing:-.01em!important;
  text-transform:none!important;
}
#page-expressions .expression-check input{
  width:13px!important;
  height:13px!important;
  margin:0!important;
  accent-color:#e8e8ea!important;
}
#page-expressions .expression-toggle-badge{
  color:rgba(241,242,244,.48)!important;
  background:transparent!important;
  border:0!important;
  padding:0!important;
  min-width:auto!important;
  font-size:10px!important;
  font-weight:780!important;
}
#page-expressions .smart-control-row{
  margin:0 0 10px!important;
  min-width:0!important;
  padding:0!important;
}
#page-expressions .expression-toggle-row .smart-control-row:first-of-type,
#page-expressions .smart-control-row:first-child{
  margin-top:0!important;
}
#page-expressions .smart-control-row label{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin:0 0 5px!important;
  color:rgba(244,247,251,.92)!important;
  font-size:12px!important;
  line-height:1.15!important;
  font-weight:720!important;
  letter-spacing:-.01em!important;
  text-transform:none!important;
}
#page-expressions .smart-control-row label b{
  color:rgba(229,234,241,.56)!important;
  font-size:11px!important;
  font-weight:780!important;
  text-transform:none!important;
  border-bottom:0!important;
}
#page-expressions input[type="range"]{
  width:100%!important;
  height:18px!important;
  min-height:18px!important;
  padding:6px 0!important;
  margin:0!important;
  border:0!important;
  border-radius:999px!important;
  --range-fill:0%;
  background:linear-gradient(90deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,.92) var(--range-fill),rgba(255,255,255,.08) var(--range-fill),rgba(255,255,255,.08) 100%) 0 50% / 100% 2px no-repeat!important;
  box-shadow:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
#page-expressions input[type="range"]::-webkit-slider-runnable-track{
  height:2px!important;
  border-radius:999px!important;
  background:transparent!important;
}
#page-expressions input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none!important;
  appearance:none!important;
  width:13px!important;
  height:13px!important;
  margin-top:-5.5px!important;
  border-radius:50%!important;
  border:0!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 1px 4px rgba(0,0,0,.42)!important;
}
#page-expressions input[type="range"]::-moz-range-track{height:2px!important;background:rgba(255,255,255,.08)!important;border-radius:999px!important;}
#page-expressions input[type="range"]::-moz-range-progress{height:2px!important;background:rgba(255,255,255,.92)!important;border-radius:999px!important;}
#page-expressions input[type="range"]::-moz-range-thumb{width:13px!important;height:13px!important;border-radius:50%!important;border:0!important;background:rgba(255,255,255,.96)!important;box-shadow:0 1px 4px rgba(0,0,0,.42)!important;}

/* Dropdowns under preview are same physical controls as Text, with visible arrows. */
#page-expressions .expr-v151-quick-row{
  display:none!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  margin:8px 0!important;
}
#page-expressions .expr-v151-quick-row.is-visible{
  display:grid!important;
}
#page-expressions .smart-select-row,
#page-expressions .expr-v151-quick-row .smart-select-row{
  margin:0!important;
  min-width:0!important;
}
#page-expressions select,
#page-expressions .smart-select-row select,
#page-expressions .expr-v151-quick-row select{
  width:100%!important;
  height:34px!important;
  min-height:34px!important;
  padding:0 30px 0 11px!important;
  border-radius:9px!important;
  border:1px solid rgba(255,255,255,.055)!important;
  background-color:#17181b!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 10 7'%3E%3Cpath fill='none' stroke='%23E8E8EA' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M1.3 1.4L5 5.1l3.7-3.7'/%3E%3C/svg%3E"),linear-gradient(180deg,rgba(255,255,255,.03),rgba(0,0,0,.055))!important;
  background-repeat:no-repeat,no-repeat!important;
  background-position:right 11px center,0 0!important;
  background-size:10px 7px,100% 100%!important;
  color:rgba(244,247,251,.92)!important;
  font-size:11px!important;
  font-weight:720!important;
  letter-spacing:-.01em!important;
  text-transform:none!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04), inset 0 -8px 14px rgba(0,0,0,.28)!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
#page-expressions select:focus{
  outline:none!important;
  border-color:rgba(255,255,255,.13)!important;
}
#page-expressions select option{
  background:#17181b!important;
  color:#f4f4f5!important;
}

/* Action row: only Apply is primary, Clear is secondary. */
#page-expressions .expression-apply-row-single{
  grid-template-columns:minmax(0,1fr) 74px!important;
  gap:8px!important;
  margin-top:8px!important;
}
#page-expressions .expression-apply-row-single .primary-btn,
#page-expressions .expr-v151-clear-btn{
  height:34px!important;
  min-height:34px!important;
  border-radius:11px!important;
  font-size:10px!important;
  font-weight:850!important;
  text-transform:none!important;
}
/* Apply's own background/border/color intentionally removed here —
   qwix_theme.css/qwix_theme_suede.css are the sole owners of .primary-btn
   material now; this rule used to hardcode a flat fill (with a stale
   pre-caramel #139af2 fallback) that beat the app-wide gradient rule via
   its #page-expressions id, making Expressions' Apply buttons look
   different from every other page's. */
#page-expressions .expr-v151-clear-btn{
  background:var(--aptk-secondary,#242529)!important;
  border:1px solid var(--aptk-edge-strong,rgba(255,255,255,.055))!important;
  color:var(--aptk-text,#f4f4f5)!important;
}

@media (max-width:340px){
  #page-expressions .expr-v151-layout{grid-template-columns:64px minmax(0,1fr)!important;gap:8px!important;}
  #page-expressions .expr-v153-left-column,#page-expressions .expr-v151-presets-card{width:64px!important;}
  #page-expressions .expr-v153-save-below-menu{width:50px!important;height:30px!important;min-height:30px!important;font-size:7.4px!important;}
  #page-expressions .expr-v151-quick-row{grid-template-columns:1fr 1fr!important;gap:6px!important;}
  #page-expressions .expression-controls-card{padding:10px!important;border-radius:20px!important;max-height:calc(100vh - 340px)!important;}
  #page-expressions .smart-control-row label{font-size:11px!important;}
  #page-expressions .smart-control-row label b{font-size:10px!important;}
  #page-expressions .expression-apply-row-single{grid-template-columns:minmax(0,1fr) 58px!important;}
}

/* ===== css/ui_v155.css ===== */
/* v155 — Expressions is brought back to the exact Text control language. */

/* 1) Expressions left rail: menu ends after presets. Save is below the menu, not inside it. */
#page-expressions .expr-v151-layout{
  grid-template-columns:74px minmax(0,1fr)!important;
  gap:14px!important;
  align-items:start!important;
}
#page-expressions .expr-v153-left-column{
  width:74px!important;
  min-width:74px!important;
  height:auto!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:12px!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
}
#page-expressions .expr-v151-presets-card{
  width:74px!important;
  min-width:74px!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  padding:8px 6px!important;
  border-radius:30px!important;
  overflow:visible!important;
  background:var(--v152-rail-bg,#171719)!important;
  border:1px solid rgba(255,255,255,.025)!important;
  box-shadow:inset 0 2px 5px rgba(0,0,0,.34)!important;
}
#page-expressions .expression-preset-switch{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:4px!important;
  margin:0!important;
  padding:0!important;
  width:100%!important;
}
#page-expressions .expr-v151-custom-list:empty,
#page-expressions .expr-v151-custom-list.is-empty,
#page-expressions .expr-v151-custom-empty{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
}
#page-expressions .expr-v153-save-below-menu,
#page-expressions #saveExpressionPresetBtn.expr-v153-save-below-menu{
  width:58px!important;
  height:34px!important;
  min-height:34px!important;
  flex:0 0 34px!important;
  margin:0!important;
  padding:0!important;
  border-radius:999px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:var(--v138-user-button,#232323)!important;
  background-image:none!important;
  border:1px solid var(--v138-edge-strong,rgba(255,255,255,.075))!important;
  box-shadow:var(--v138-hard-shadow-small,0 2px 5px rgba(0,0,0,.36))!important;
  color:rgba(244,244,245,.78)!important;
  font-size:8px!important;
  font-weight:850!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
#page-expressions .expr-v153-save-below-menu:hover{
  color:#fff!important;
  box-shadow:var(--v138-hard-shadow,0 4px 10px rgba(0,0,0,.45))!important;
}

/* 2) Shared Text-like right layout. No experimental Expression-only slider/button typography. */
#page-expressions .expr-v151-main{
  min-width:0!important;
  width:100%!important;
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
}
#page-expressions .expression-preview-card{
  width:100%!important;
  min-width:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  overflow:visible!important;
}
#page-expressions .expression-preview-card>.mini-head,
#page-expressions .expression-hint-row{
  display:none!important;
}
#page-expressions .expression-stage{
  order:1!important;
  width:100%!important;
  height:170px!important;
  min-height:170px!important;
  max-height:170px!important;
  flex:0 0 170px!important;
  margin:0!important;
  border-radius:18px!important;
  border:1px solid rgba(255,255,255,.055)!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.014),rgba(0,0,0,.08)),
    repeating-linear-gradient(0deg, rgba(255,255,255,.035) 0, rgba(255,255,255,.035) 1px, transparent 1px, transparent 32px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.03) 0, rgba(255,255,255,.03) 1px, transparent 1px, transparent 32px) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045), inset 0 -12px 22px rgba(0,0,0,.25)!important;
}
#page-expressions .expression-stage.is-shape-stretch-preview::after,
#page-expressions .expression-stage.is-shape-stretch-preview .expression-grid-lines::after,
#page-expressions .expression-grid-lines::after{
  content:none!important;
  display:none!important;
  opacity:0!important;
}

/* 3) Quick selects under preview: exact Text top-control behavior and sizing. */
#page-expressions .expr-v151-quick-row{
  order:2!important;
  display:none!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  margin:0!important;
  align-items:center!important;
  width:100%!important;
}
#page-expressions .expr-v151-quick-row.is-visible{
  display:grid!important;
}
#page-expressions .expr-v151-quick-row .smart-select-row,
#page-expressions .smart-select-row.expression-direction-row{
  display:grid!important;
  margin:0!important;
  min-width:0!important;
}
#page-expressions .expr-v151-quick-row select,
#page-expressions .smart-select-row select,
#page-expressions select{
  min-width:0!important;
  width:100%!important;
  height:36px!important;
  min-height:36px!important;
  padding:0 28px 0 13px!important;
  border-radius:14px!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:0!important;
  text-transform:none!important;
  text-align:left!important;
  color:var(--v138-text,#f4f4f5)!important;
  background-color:var(--v138-user-control,#232323)!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 10 7'%3E%3Cpath fill='none' stroke='%23F2F2F4' stroke-width='1.55' stroke-linecap='round' stroke-linejoin='round' d='M1.35 1.55L5 5.05l3.65-3.5'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 12px center!important;
  background-size:10px 7px!important;
  border:1px solid var(--v138-edge-strong,rgba(255,255,255,.075))!important;
  box-shadow:var(--v138-hard-shadow-small,0 2px 5px rgba(0,0,0,.36))!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
#page-expressions select:hover{box-shadow:var(--v138-hard-shadow,0 4px 10px rgba(0,0,0,.45))!important;color:#fff!important;}
#page-expressions select:active{box-shadow:var(--v138-hard-inset,inset 0 2px 4px rgba(0,0,0,.5))!important;transform:translateY(1px)!important;}
#page-expressions select option{background:#18191c!important;color:#f4f4f5!important;}

/* 4) Apply / Clear: exactly same size and physical style family as Text. */
#page-expressions .expression-apply-row-single{
  order:3!important;
  display:grid!important;
  grid-template-columns:minmax(150px,1fr) minmax(92px,116px)!important;
  gap:12px!important;
  align-items:center!important;
  margin:0!important;
  width:100%!important;
}
#page-expressions .expression-apply-row-single .primary-btn,
#page-expressions .expression-apply-action,
#page-expressions .expr-v151-clear-btn{
  height:43px!important;
  min-height:43px!important;
  border-radius:18px!important;
  padding:0 14px!important;
  font-size:15px!important;
  font-weight:850!important;
  line-height:1!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
/* Clear is a secondary/neutral action, distinct from the primary Apply
   button beside it — it alone gets the neutral --v138-user-button fill.
   (Was previously grouped with .primary-btn/.expression-apply-action,
   which made every Apply button in this row inherit Clear's neutral
   look instead of the accent color every other Apply button uses.) */
#page-expressions .expr-v151-clear-btn{
  background:var(--v138-user-button,#232323)!important;
  background-image:none!important;
  border:1px solid var(--v138-edge-strong,rgba(255,255,255,.075))!important;
  box-shadow:var(--v138-hard-shadow-small,0 2px 5px rgba(0,0,0,.36))!important;
  color:var(--v138-text,#f4f4f5)!important;
}
#page-expressions .expression-apply-action{
  grid-column:1!important;
}
#page-expressions .expr-v151-clear-btn{
  grid-column:2!important;
  color:rgba(244,244,245,.58)!important;
}
#page-expressions .expression-apply-action:hover,
#page-expressions .expr-v151-clear-btn:hover{
  box-shadow:var(--v138-hard-shadow,0 4px 10px rgba(0,0,0,.45))!important;
  color:var(--qwix-accent-ink,var(--accent-ink,#fff8ed)) !important;
}
#page-expressions .expression-apply-action:active,
#page-expressions .expr-v151-clear-btn:active{
  box-shadow:var(--v138-hard-inset,inset 0 2px 4px rgba(0,0,0,.5))!important;
  transform:translateY(1px)!important;
}

/* 5) Controls card and sliders: copied from Text control system. */
#page-expressions .expression-controls-card{
  order:2!important;
  width:100%!important;
  min-width:0!important;
  padding:10px!important;
  border-radius:22px!important;
  overflow:auto!important;
  max-height:calc(100vh - 390px)!important;
  min-height:0!important;
  background:var(--v138-user-surface,#111214)!important;
  border:1px solid rgba(255,255,255,.045)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035), inset 0 -10px 18px rgba(0,0,0,.32)!important;
  display:block!important;
}
#page-expressions .expression-controls-card::-webkit-scrollbar{display:none!important;}
#page-expressions .expression-section-head{display:none!important;}
#page-expressions .expression-controls-panel{display:none!important;}
#page-expressions .expression-controls-panel.is-active{
  display:block!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
#page-expressions .expression-wiggle-grid{
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  margin:0!important;
}
#page-expressions .expression-wiggle-row,
#page-expressions .expression-toggle-row{
  display:block!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  opacity:1!important;
}
#page-expressions .expression-toggle-row:not(.is-active){opacity:.48!important;}
#page-expressions .expression-check{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  height:auto!important;
  min-height:14px!important;
  margin:0 0 5px!important;
  color:#f1f1f4!important;
  font-size:12px!important;
  line-height:1.15!important;
  font-weight:800!important;
  letter-spacing:.02em!important;
  text-transform:none!important;
}
#page-expressions .expression-check input{
  display:none!important;
}
#page-expressions .expression-toggle-badge{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  min-width:0!important;
  color:rgba(255,255,255,.58)!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1.15!important;
  letter-spacing:0!important;
}
/* Same guard the Text page uses (see the text-presets rule): rows hidden by
   the JS with an inline display:none (e.g. Jump's Angle row when direction
   is not Custom) must stay hidden. */
#page-expressions .smart-control-row:not([style*="display: none"]):not([style*="display:none"]){
  display:block!important;
}
#page-expressions .smart-control-row{
  margin:0 0 12px!important;
  padding:0!important;
  min-width:0!important;
  min-height:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
#page-expressions .smart-control-row label{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:8px!important;
  height:auto!important;
  min-height:14px!important;
  margin:0 0 5px!important;
  color:#fff!important;
  font-size:12px!important;
  line-height:1.15!important;
  font-weight:800!important;
  letter-spacing:.02em!important;
  text-transform:none!important;
}
#page-expressions .smart-control-row label b{
  color:rgba(255,255,255,.82)!important;
  font-size:11px!important;
  font-weight:700!important;
  border:0!important;
  opacity:1!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
#page-expressions input[type="range"]{
  --v138-track-dark:rgba(0,0,0,.44);
  --v138-track-fill:#f2f4f7;
  --range-fill:0%;
  -webkit-appearance:none!important;
  appearance:none!important;
  width:100%!important;
  height:25px!important;
  min-height:25px!important;
  padding:8px 0!important;
  margin:0!important;
  border:0!important;
  border-radius:999px!important;
  outline:none!important;
  box-shadow:none!important;
  background:
    radial-gradient(circle at 4px 50%, var(--v138-track-fill) 0 4px, transparent 4.15px) 0 50% / 8px 8px no-repeat,
    radial-gradient(circle at calc(100% - 4px) 50%, var(--v138-track-dark) 0 4px, transparent 4.15px) 100% 50% / 8px 8px no-repeat,
    linear-gradient(90deg,var(--v138-track-fill) 0%,var(--v138-track-fill) var(--range-fill),var(--v138-track-dark) var(--range-fill),var(--v138-track-dark) 100%) 4px 50% / calc(100% - 8px) 8px no-repeat!important;
}
#page-expressions input[type="range"]::-webkit-slider-runnable-track{
  height:4px!important;
  border-radius:999px!important;
  background:transparent!important;
}
#page-expressions input[type="range"]::-moz-range-track{
  height:4px!important;
  border-radius:999px!important;
  background:transparent!important;
}
#page-expressions input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none!important;
  appearance:none!important;
  width:12px!important;
  height:12px!important;
  border-radius:50%!important;
  border:0!important;
  background:#f2f4f7!important;
  box-shadow:0 1px 3px rgba(0,0,0,.5)!important;
  margin-top:-4px!important;
  cursor:pointer!important;
}
#page-expressions input[type="range"]::-moz-range-thumb{
  width:12px!important;
  height:12px!important;
  border-radius:50%!important;
  border:0!important;
  background:#f2f4f7!important;
  box-shadow:0 1px 3px rgba(0,0,0,.5)!important;
  cursor:pointer!important;
}
#page-expressions .expression-scale-mode{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  margin:0 0 12px!important;
}
#page-expressions .expression-scale-mode-btn{
  height:36px!important;
  min-height:36px!important;
  padding:0 10px!important;
  border-radius:14px!important;
  font-size:12px!important;
  font-weight:800!important;
  background:var(--v138-user-control,#232323)!important;
  border:1px solid var(--v138-edge-strong,rgba(255,255,255,.075))!important;
  box-shadow:var(--v138-hard-shadow-small,0 2px 5px rgba(0,0,0,.36))!important;
  color:rgba(244,244,245,.7)!important;
}
#page-expressions .expression-scale-mode-btn.is-active{
  color:#fff!important;
  border-color:rgba(255,255,255,.16)!important;
}

/* 6) Keep shared class system usable but do not let it recolor Text/Expression typography differently. */
#page-text-presets .smart-control-row label,
#page-text-presets .smart-control-row label b,
#page-expressions .smart-control-row label,
#page-expressions .smart-control-row label b,
#page-expressions .expression-check,
#page-expressions .expression-toggle-badge{
  font-family:inherit!important;
}

@media(max-width:460px){
  #page-expressions .expr-v151-layout{
    grid-template-columns:70px minmax(0,1fr)!important;
    gap:9px!important;
  }
  #page-expressions .expr-v153-left-column,
  #page-expressions .expr-v151-presets-card{
    width:70px!important;
    min-width:70px!important;
  }
  #page-expressions .expression-stage{
    height:150px!important;
    min-height:150px!important;
    max-height:150px!important;
    flex-basis:150px!important;
  }
  #page-expressions .expr-v151-quick-row{
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
  #page-expressions .expression-apply-row-single{
    grid-template-columns:minmax(0,1fr) 74px!important;
    gap:10px!important;
  }
  #page-expressions .expression-apply-row-single .primary-btn,
  #page-expressions .expression-apply-action,
  #page-expressions .expr-v151-clear-btn{
    height:39px!important;
    min-height:39px!important;
    border-radius:15px!important;
    font-size:13px!important;
  }
  #page-expressions .expression-controls-card{
    max-height:calc(100vh - 289px)!important;
  }
}

/* v155 final pass: tighten Expressions to Text measurements exactly. */
#page-expressions{
  padding:0!important;
  overflow:hidden!important;
}
#page-expressions .expr-v151-layout{
  grid-template-columns:74px minmax(0,1fr)!important;
  gap:10px!important;
  padding:0!important;
}
#page-expressions .expr-v153-left-column,
#page-expressions .expr-v151-presets-card{
  width:74px!important;
  min-width:74px!important;
}
#page-expressions .expr-v151-main{gap:12px!important;}
#page-expressions .expression-stage{
  width:100%!important;
  max-width:100%!important;
  height:170px!important;
  min-height:170px!important;
  max-height:170px!important;
  flex:0 0 170px!important;
  align-self:start!important;
  border-radius:18px!important;
}
#page-expressions .expression-apply-row-single,
#page-expressions .expr-v151-quick-row,
#page-expressions .expression-controls-card{
  width:100%!important;
}
#page-expressions .expression-apply-row-single .primary-btn,
#page-expressions .expression-apply-action,
#page-expressions .expr-v151-clear-btn{
  height:43px!important;
  min-height:43px!important;
  border-radius:19px!important;
  font-size:12.5px!important;
  font-weight:790!important;
}
/* Same split as above: this heavier black drop-shadow is Clear's own
   neutral look, not Apply's — see the comment on .expr-v151-clear-btn
   near line 195. */
#page-expressions .expr-v151-clear-btn{
  border-color:rgba(255,255,255,.03)!important;
  box-shadow:0 4px 10px rgba(0,0,0,.48)!important;
}
#page-expressions .expression-controls-card{
  background:var(--aptk-block,#111214)!important;
  border-radius:24px!important;
  padding:10px!important;
  max-height:calc(100vh - 309px)!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
#page-expressions .expression-controls-card::-webkit-scrollbar,
#page-expressions .expression-controls-card *::-webkit-scrollbar{
  width:0!important;
  height:0!important;
  display:none!important;
}
#page-expressions .smart-control-row label,
#page-expressions .expression-check{
  color:rgba(241,242,244,.94)!important;
  font-size:12px!important;
  font-weight:720!important;
  letter-spacing:-.01em!important;
  margin-bottom:5px!important;
}
#page-expressions .smart-control-row label b,
#page-expressions .expression-toggle-badge{
  color:rgba(255,255,255,.82)!important;
  font-size:11px!important;
  font-weight:700!important;
  opacity:.78!important;
}
#page-expressions input[type="range"]{
  --v138-track-dark:rgba(0,0,0,.46)!important;
  --v138-track-fill:#f2f4f7!important;
}
@media(max-width:460px){
  #page-expressions{padding:0!important;}
  #page-expressions .expr-v151-layout{grid-template-columns:70px minmax(0,1fr)!important;gap:8px!important;}
  #page-expressions .expr-v153-left-column,#page-expressions .expr-v151-presets-card{width:70px!important;min-width:70px!important;}
  #page-expressions .expression-stage{width:100%!important;height:150px!important;min-height:150px!important;max-height:150px!important;flex-basis:150px!important;}
  #page-expressions .expression-controls-card{max-height:calc(100vh - 330px)!important;}
  #page-expressions .expression-apply-row-single .primary-btn,#page-expressions .expression-apply-action,#page-expressions .expr-v151-clear-btn{font-size:12.5px!important;border-radius:19px!important;}
}
/* v155 jump quick dropdowns: one select per cell, same width as Text controls. */
#page-expressions .expr-v151-quick-row > .smart-select-row,
#page-expressions .expr-v151-quick-row .smart-select-row{
  width:100%!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
}
#page-expressions .expr-v151-quick-row .smart-select-row select{
  width:100%!important;
  min-width:0!important;
  grid-column:1!important;
}

/* v155 responsive correction: normal panels keep the preview band a fixed
   short height, only truly narrow panels compress it further. */
@media (min-width:341px){
  #page-expressions .expr-v151-layout{grid-template-columns:74px minmax(0,1fr)!important;gap:10px!important;}
  #page-expressions .expr-v153-left-column,#page-expressions .expr-v151-presets-card{width:74px!important;min-width:74px!important;}
  #page-expressions .expression-stage{width:100%!important;height:170px!important;min-height:170px!important;max-height:170px!important;flex-basis:170px!important;}
  #page-expressions .expression-apply-row-single{grid-template-columns:minmax(150px,1fr) minmax(92px,116px)!important;gap:12px!important;}
  #page-expressions .expression-controls-card{max-height:calc(100vh - 309px)!important;}
}
@media (max-width:340px){
  #page-expressions .expr-v151-layout{grid-template-columns:64px minmax(0,1fr)!important;gap:7px!important;}
  #page-expressions .expr-v153-left-column,#page-expressions .expr-v151-presets-card{width:64px!important;min-width:64px!important;}
  #page-expressions .expression-stage{width:100%!important;height:140px!important;min-height:140px!important;max-height:140px!important;flex-basis:140px!important;}
  #page-expressions .expression-apply-row-single{grid-template-columns:minmax(0,1fr) 58px!important;gap:8px!important;}
  #page-expressions .expression-controls-card{max-height:calc(100vh - 272px)!important;}
  #page-expressions .expression-apply-row-single .primary-btn,#page-expressions .expression-apply-action,#page-expressions .expr-v151-clear-btn{height:39px!important;min-height:39px!important;font-size:12px!important;}
}
@media (max-width:340px){
  #page-expressions .expr-v151-layout{grid-template-columns:58px minmax(0,1fr)!important;gap:6px!important;}
  #page-expressions .expr-v153-left-column,#page-expressions .expr-v151-presets-card{width:58px!important;min-width:58px!important;}
  #page-expressions .expression-preset-tab,#page-expressions .expr-v151-custom-btn{width:48px!important;min-width:48px!important;max-width:48px!important;}
  #page-expressions .expr-v153-save-below-menu{width:52px!important;}
  #page-expressions .expression-apply-row-single{grid-template-columns:minmax(0,1fr) 52px!important;gap:6px!important;}
  #page-expressions .expr-v151-clear-btn{font-size:11px!important;}
}
@media (min-width:341px){
  #page-expressions .expr-v151-quick-row{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;}
}
@media (max-width:340px){
  #page-expressions .expr-v151-quick-row{grid-template-columns:1fr!important;gap:7px!important;}
}

/* v155 shared UI color classes.
   Class 1: back background. Class 2: regular buttons/dropdowns.
   Class 3: primary Apply buttons. Class 4: blocks/cards.
   Class 5: sliders, fields and small details. */
:root{
  --aptk-bg:var(--v139-bg,var(--v138-user-bg,#18191b));
  --aptk-secondary:var(--v139-secondary,var(--v138-user-control,#242529));
  --aptk-primary:var(--v139-primary,#139af2);
  --aptk-block:var(--v139-block,var(--v138-user-surface,#202124));
  --aptk-detail:var(--v139-detail,var(--v138-track-fill,#139af2));
  --aptk-text:var(--v138-text,#f4f4f5);
  --aptk-edge:var(--v138-edge,rgba(255,255,255,.03));
  --aptk-edge-strong:var(--v138-edge-strong,rgba(255,255,255,.05));
  --aptk-shadow:var(--v138-hard-shadow-small,0 2px 5px rgba(0,0,0,.36));
  --aptk-shadow-strong:var(--v138-hard-shadow,0 4px 10px rgba(0,0,0,.45));
}
body .aptk-ui-class-1,
body [data-aptk-ui-class="1"],
body .app-shell,
body #v120Content,
body #v120Content>.page{
  background:var(--aptk-bg)!important;
  background-image:none!important;
}
body .aptk-ui-class-4,
body [data-aptk-ui-class="4"],
body .card,
body .preview-card,
body .preset-icons-card,
body .graph-preview-card,
body .graph-icons-card,
body .saved-library-card,
body .expression-preview-card,
body .expression-controls-card,
body #page-text-presets .preset-stage,
body #page-expressions .expression-stage{
  background:var(--aptk-block)!important;
  background-image:none!important;
  border-color:var(--aptk-edge)!important;
  box-shadow:var(--aptk-shadow-strong)!important;
}
body .aptk-ui-class-2,
body [data-aptk-ui-class="2"],
body select,
body .text-small-btn,
body .secondary-btn,
body .tool-btn,
body .tool-btn-v146,
body .tab-btn,
body .top-action-btn,
body .graph-mode-btn,
body .graph-side-btn,
body .graph-values-btn,
body .saved-subtab,
body .saved-mode-btn,
body .expression-preset-tab,
body .expression-scale-mode-btn,
body #page-expressions select{
  background:var(--aptk-secondary)!important;
  background-image:none!important;
  border-color:var(--aptk-edge-strong)!important;
  box-shadow:var(--aptk-shadow)!important;
  color:var(--aptk-text)!important;
}
body .aptk-ui-class-3,
body [data-aptk-ui-class="3"]{
  background:var(--aptk-primary)!important;
  background-image:none!important;
  border-color:var(--qwix-border-subtle,rgba(255,255,255,.07))!important;
  box-shadow:var(--aptk-shadow-strong),inset 0 0 0 1px rgba(255,255,255,.05)!important;
  color:var(--qwix-accent-ink,#241C16)!important;
}
body .aptk-ui-class-5,
body [data-aptk-ui-class="5"],
body .theme-dot,
body .swatch,
body .tool-swatch-btn-v146,
body .mini-utility-btn,
body .graph-handle,
body #graphStart,
body #graphEnd{
  background:var(--aptk-detail)!important;
  border-color:var(--qwix-border-subtle,rgba(255,255,255,.07))!important;
}
body input:not([type="range"]):not([type="color"]),
body textarea,
body .smart-preview-input,
body .user-color-input,
body .modal-input{
  background:var(--aptk-secondary)!important;
  border-color:var(--aptk-detail)!important;
  color:var(--aptk-text)!important;
}
body #page-text-presets input[type="range"],
body #page-graph-editor input[type="range"],
body #page-toolkit input[type="range"],
body #page-colors input[type="range"],
body #page-expressions input[type="range"],
body #page-settings input[type="range"],
body input[type="range"]{
  --v138-track-fill:var(--aptk-detail)!important;
  --v139-track-fill:var(--aptk-detail)!important;
  accent-color:var(--aptk-detail)!important;
}
body input[type="range"]::-webkit-slider-thumb{background:var(--aptk-detail)!important;}
body input[type="range"]::-moz-range-thumb{background:var(--aptk-detail)!important;}

/* v156 exhaustive hierarchy mapping. Every visible node receives data-aptk-ui-class;
   data-aptk-paint marks nodes that should own material color. */
body [data-aptk-ui-class="1"][data-aptk-paint="1"],
body .aptk-ui-class-1[data-aptk-paint="1"]{
  background:var(--aptk-bg)!important;
  background-image:none!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
body [data-aptk-ui-class="4"][data-aptk-paint="1"],
body .aptk-ui-class-4[data-aptk-paint="1"],
body #page-colors .reference-pending-preview,
body #page-colors .reference-card,
body #page-colors .saved-reference-grid,
body #page-colors .saved-add-panel{
  background:var(--aptk-block)!important;
  background-image:none!important;
  border-color:var(--aptk-edge)!important;
  box-shadow:var(--aptk-shadow-strong)!important;
  color:var(--aptk-text)!important;
}
/* Pure layout wrappers (grids, rows, stages) intentionally have no
   background of their own — only the real cards and individual buttons
   inside them do. Listing them here used to give every button cluster a
   second "backing plate" behind the buttons that already have one. */
body #page-graph-editor .graph-square-wrap,
body #page-graph-editor .square-graph-stage,
body #page-graph-editor #graphSvg,
body #page-graph-editor .graph-values-row,
body #page-toolkit .tools-shell-v146,
body #page-toolkit .tools-upper-v146,
body #page-toolkit .tools-main-actions-v146,
body #page-toolkit .square-grid{
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}
body [data-aptk-ui-class="2"][data-aptk-paint="1"],
body .aptk-ui-class-2[data-aptk-paint="1"],
body #page-graph-editor .graph-mode-btn,
body #page-toolkit .mini-utility-btn,
body #page-toolkit .align-target-select,
body #page-colors .reference-actions button,
body #page-colors .saved-subtab,
body #page-colors .saved-mode-btn{
  background:var(--aptk-secondary)!important;
  background-image:none!important;
  border-color:var(--aptk-edge-strong)!important;
  box-shadow:var(--aptk-shadow)!important;
  color:var(--aptk-text)!important;
  text-shadow:none!important;
}
body [data-aptk-ui-class="3"][data-aptk-paint="1"],
body .aptk-ui-class-3[data-aptk-paint="1"]{
  background:var(--aptk-primary)!important;
  background-image:none!important;
  border-color:var(--qwix-border-subtle,rgba(255,255,255,.07))!important;
  box-shadow:var(--aptk-shadow-strong),inset 0 0 0 1px rgba(255,255,255,.05)!important;
  color:var(--qwix-accent-ink,#241C16)!important;
  text-shadow:none!important;
}
body [data-aptk-ui-class="5"]:not([data-aptk-paint="1"]),
body .aptk-ui-class-5:not([data-aptk-paint="1"]){
  background:transparent!important;
  background-image:none!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
body [data-aptk-ui-class="5"][data-aptk-paint="1"],
body .aptk-ui-class-5[data-aptk-paint="1"],
body #page-toolkit .tool-swatch-btn-v146,
body #page-colors .reference-preview,
body #page-colors .reference-pending-media,
body #page-colors .color-chip,
body #page-colors .swatch,
body #page-settings .v139-swatch{
  background:var(--aptk-detail)!important;
  background-image:none!important;
  border-color:var(--qwix-border-subtle,rgba(255,255,255,.07))!important;
  box-shadow:var(--aptk-shadow)!important;
}
body svg [data-aptk-ui-class="5"][data-aptk-paint="1"],
body svg .aptk-ui-class-5[data-aptk-paint="1"]{
  stroke:var(--aptk-detail)!important;
}
/* Only closed marker shapes get a solid fill — paths/lines/polylines are
   stroke-only curves (graph line, preset icon previews) and must never be
   force-filled, or a thin curve turns into a solid triangle of color. */
body svg circle[data-aptk-ui-class="5"][data-aptk-paint="1"],
body svg rect[data-aptk-ui-class="5"][data-aptk-paint="1"],
body svg ellipse[data-aptk-ui-class="5"][data-aptk-paint="1"],
body svg polygon[data-aptk-ui-class="5"][data-aptk-paint="1"],
body svg circle.aptk-ui-class-5[data-aptk-paint="1"],
body svg rect.aptk-ui-class-5[data-aptk-paint="1"],
body svg ellipse.aptk-ui-class-5[data-aptk-paint="1"],
body svg polygon.aptk-ui-class-5[data-aptk-paint="1"]{
  fill:var(--aptk-detail)!important;
}
body svg path[data-aptk-ui-class="5"][data-aptk-paint="1"],
body svg line[data-aptk-ui-class="5"][data-aptk-paint="1"],
body svg polyline[data-aptk-ui-class="5"][data-aptk-paint="1"],
body svg path.aptk-ui-class-5[data-aptk-paint="1"],
body svg line.aptk-ui-class-5[data-aptk-paint="1"],
body svg polyline.aptk-ui-class-5[data-aptk-paint="1"]{
  fill:none!important;
}
body #page-graph-editor .grid-lines line,
body #page-graph-editor .graph-handle-line,
body #page-graph-editor .graph-path.main,
body #page-graph-editor .graph-path.ghost{
  stroke:var(--aptk-detail)!important;
}
body #page-graph-editor .graph-handle,
body #page-graph-editor #graphStart,
body #page-graph-editor #graphEnd{
  fill:var(--aptk-detail)!important;
  stroke:var(--aptk-detail)!important;
}
body input:not([type="range"]):not([type="color"])[data-aptk-paint="1"],
body textarea[data-aptk-paint="1"],
body .smart-preview-input[data-aptk-paint="1"],
body .user-color-input[data-aptk-paint="1"],
body .modal-input[data-aptk-paint="1"]{
  background:var(--aptk-secondary)!important;
  border-color:var(--aptk-detail)!important;
  color:var(--aptk-text)!important;
}

/* ===== css/redesign_r1.css ===== */
/* ============================================================
   REDESIGN — ROUND 1
   Scope: global nav rail + Text Presets page only.
   Loaded last on purpose: this file is the single source of truth
   for the components listed below. Older per-version patch files
   (ui_v120/124/125/128/129/130) still contain superseded rules for
   these same selectors — see cleanup notes in the chat response.
   ============================================================ */

/* Global text-rendering baseline. Without this the panel relies on
   the OS default subpixel (LCD) antialiasing, which on some Linux/
   Chromium configurations produces visible red/blue fringing on
   bold text over a dark background. Grayscale AA is what every
   native macOS/Windows app effectively uses for UI chrome and reads
   as "clean" instead of "cheap". Safe to apply globally — it only
   changes anti-aliasing, not layout. */
html, body{
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* ---- Main nav rail: unified icon set ----
   Icons are inline SVG (stroke="currentColor"), so they automatically
   pick up the existing active/inactive text colors — no color rules
   needed here, just consistent sizing. */
#v120Nav.v120-nav .v120-nav-btn svg.v120-nav-icon,
#v120Nav.v120-nav .v120-nav-btn .v120-nav-icon-logo{
  width: 19px;
  height: 19px;
  display: block;
  flex: 0 0 auto;
}
#v120Nav.v120-nav .v120-nav-btn[data-page="text-presets"] svg.v120-nav-icon{
  width: 18px;
  height: 18px;
}

/* Plugin logo icon (Settings nav slot): the real brand-mark PNG, painted
   via mask so it inherits currentColor exactly like the stroke-based
   icons above instead of carrying its own baked color.
   logo-q-mask.png's own alpha channel is broken (a sparse dashed/traced
   outline instead of a solid silhouette, visible as a jagged icon) —
   using the clean logo-q.png (solid white Q on black) as a luminance
   mask instead gives the same result without needing a new asset:
   white pixels (the Q) become opaque, black (background) transparent. */
#v120Nav.v120-nav .v120-nav-btn .v120-nav-icon-logo{
  background-color: currentColor;
  -webkit-mask-image: url('../assets/logo-q.png');
  mask-image: url('../assets/logo-q.png');
  -webkit-mask-mode: luminance;
  mask-mode: luminance;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

@media (max-width: 360px){
  #v120Nav.v120-nav .v120-nav-btn svg.v120-nav-icon,
  #v120Nav.v120-nav .v120-nav-btn .v120-nav-icon-logo{
    width: 17px;
    height: 17px;
  }
}

/* ---- Typography normalization (Text Presets page) ----
   The panel has no bundled font file, so "Inter" always falls back to
   a system sans. Combined with odd numeric font-weight values (720,
   760, 780, 790, 850...) scattered across the version-patch files,
   the fallback font gets synthetically emboldened by a fractional
   amount, which is what produces the color-fringed / ghosted text
   visible on Save, Add, Apply, Clear and the dropdown labels at
   normal screen scaling. Standard multiples of 100 render cleanly
   with normal or simple-doubled synthetic bold, no fringing, and
   also give the page one consistent weight scale instead of a dozen
   near-duplicate values.
   NOTE: for pixel-perfect brand typography, bundling an actual Inter
   .woff2 and adding an @font-face rule is recommended — flagged in
   the chat reply, not something fixable from CSS alone. */
#page-text-presets .v121-text-rail-actions .text-small-btn{
  font-weight: 700 !important;
}
#page-text-presets #applySelectedPresetBtn,
#page-text-presets #clearSelectedPresetBtn{
  font-weight: 700 !important;
}
#page-text-presets .v121-smart-top-controls select,
#page-text-presets .smart-select-row select,
#page-text-presets select{
  font-weight: 600 !important;
}
#page-text-presets #presetGrid .icon-mini-text,
#page-text-presets #presetGrid .preset-card.active .icon-mini-text{
  font-weight: 700 !important;
}
#page-text-presets .smart-control-row label{
  font-weight: 600 !important;
}
#page-text-presets .smart-control-row label b{
  font-weight: 700 !important;
}

/* Q logo fix: use a true alpha-mask PNG, not the opaque preview PNG. */
#v120Nav.v120-nav .v120-nav-btn .v120-nav-icon-logo{
  background-color: currentColor !important;
  background-image: none !important;
  -webkit-mask-image: url('../assets/logo-q-mask.png') !important;
  mask-image: url('../assets/logo-q-mask.png') !important;
  -webkit-mask-mode: alpha !important;
  mask-mode: alpha !important;
  -webkit-mask-size: contain !important;
  mask-size: contain !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
  mask-position: center !important;
}

/* ===== css/redesign_r2.css ===== */
/* ============================================================
   REDESIGN — ROUND 2
   Loaded last on purpose (after redesign_r1.css): final word on
   cascade conflicts. Two kinds of fixes live here:

   1) Legacy per-page CSS files (ui_tools_v146, ui_graph_v141,
      ui_saved_v148, ...) prefix nearly every selector with
      "html body #page-X ...", which out-specifies the shared
      class-color rules in ui_v155.css ("body #page-X ..."). Rather
      than rewrite every historical selector, the same prefix is
      repeated here so these rules win the cascade tie (last file
      wins at equal specificity) and stay obedient to the Style Lab
      color/shadow settings.
   2) Genuine layout/typography bugs found during the design pass
      (Tools page label text far too small to read, Graph readout
      pill truncating to "0....").
   ============================================================ */

/* ---- Tools page: legible button labels without touching order/spacing ----
   Root cause: 4-across grids sized for a compact mock forced font-size
   down to 5.7-8.5px so long labels ("Split Text", "Cam + Nulls",
   "Un-Precomp") would not overflow. Fix is typographic only: bigger,
   normal-weight-adjusted text that is allowed to wrap to two lines
   instead of being shrunk into illegibility or ellipsis-truncated.
   Grid columns, gaps and button heights are untouched. */
html body #page-toolkit .tool-btn-v146{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  font-size:10.5px !important;
  line-height:1.12 !important;
  letter-spacing:0 !important;
}
html body #page-toolkit .tools-layers-row-v146 .tool-btn-v146{
  font-size:11px !important;
  white-space:normal !important;
}
html body #page-toolkit .tools-actions-row-v146 .tool-btn-v146{
  font-size:9.5px !important;
  line-height:1.15 !important;
  white-space:normal !important;
}
html body #page-toolkit .tools-bottom-buttons-row-v146 .tool-btn-v146{
  font-size:10.5px !important;
  white-space:normal !important;
}
@media (max-width:330px){
  html body #page-toolkit .tool-btn-v146{
    font-size:9px !important;
    line-height:1.1 !important;
  }
  html body #page-toolkit .tools-layers-row-v146 .tool-btn-v146{font-size:9.5px !important;}
  html body #page-toolkit .tools-actions-row-v146 .tool-btn-v146{font-size:8.3px !important;}
  html body #page-toolkit .tools-bottom-buttons-row-v146 .tool-btn-v146{font-size:9px !important;}
}

/* ---- Graph page: values readout must never truncate to "0...." ----
   The pill used a fixed single line with ellipsis; at panel widths
   below ~340px the curve values ("0.42, 0.00, 0.58, 1.00") no longer
   fit on one line at a readable size. Let it wrap to two lines
   instead of clipping. */
html body #page-graph-editor .graph-values-btn{
  height:auto !important;
  min-height:34px !important;
  padding:6px 8px !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  line-height:1.25 !important;
  font-size:10.5px !important;
  word-break:break-word !important;
}
@media (max-width:330px){
  html body #page-graph-editor .graph-values-btn{font-size:9px !important;}
}

/* ---- Keep legacy per-page chrome obedient to the Style Lab colors/shadows ---- */
html body #page-toolkit,
html body #page-toolkit .tools-design-page,
html body #page-toolkit .tools-design-v146{
  background:var(--aptk-bg) !important;
}
/* No backing plate behind the button clusters — .tools-shell-v146 stays
   transparent (that was already the intent: see "v147 tools polish —
   remove wrapper block" in ui_tools_v146.css) and .tools-align-bar-v146 /
   .tools-inline-options-v146 keep their own original, much subtler
   treatment. Only the individual buttons themselves are theme-colored. */
html body #page-toolkit .tool-btn-v146,
html body #page-toolkit .anchor-grid-v146 .square-btn,
html body #page-toolkit .anchor-grid-v146 button,
html body #page-toolkit .mini-utility-btn,
html body #page-toolkit .tool-stepper-v146,
html body #page-toolkit .tools-inline-options-v146 .tools-run-btn,
html body #page-toolkit .tools-inline-options-v146 .tools-close-btn,
html body #page-toolkit .tools-inline-options-v146 .segment-btn,
html body #page-toolkit .tools-inline-options-v146 .duplicate-precomps-checkbox{
  background:var(--aptk-secondary) !important;
  background-color:var(--aptk-secondary) !important;
  background-image:none !important;
  box-shadow:var(--aptk-hard-shadow-soft, var(--v138-hard-shadow-small)) !important;
  color:var(--aptk-text, #f4f4f5) !important;
}
html body #page-toolkit .tool-swatch-btn-v146{
  background:var(--aptk-detail) !important;
}
/* Composition select needs its own rule: background-image carries the
   dropdown chevron, so it must not be wiped to "none" like the plain
   buttons above — only the solid color swaps to the theme. */
html body #page-toolkit .align-target-select-v146{
  background-color:var(--aptk-secondary) !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1.35 1.25 5 4.55 8.65 1.25' fill='none' stroke='%23F2F4F7' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:right 14px center !important;
  background-size:10px 6px !important;
  padding-right:32px !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  box-shadow:var(--aptk-hard-shadow-soft, var(--v138-hard-shadow-small)) !important;
  color:var(--aptk-text, #f4f4f5) !important;
}

/* Only the two real outer cards (curve card, preset-list card) get a
   themed background — the nested wrap/stage layout divs inside the curve
   card, and the preset grid inside the list card, stay transparent so
   there is no "box within a box" second backing plate. */
html body #page-graph-editor .graph-preview-card,
html body #page-graph-editor .graph-left-pane,
html body #page-graph-editor .graph-icons-card,
html body #page-graph-editor .graph-list-card,
html body #page-graph-editor .graph-right-pane,
html body #v120Content #page-graph-editor .card.graph-preview-card,
html body #v120Content #page-graph-editor .card.graph-left-pane,
html body #v120Content #page-graph-editor .card.graph-preview-card.graph-left-pane,
html body #v120Content #page-graph-editor .card.graph-icons-card,
html body #v120Content #page-graph-editor .card.graph-list-card,
html body #v120Content #page-graph-editor .card.graph-right-pane,
html body #v120Content #page-graph-editor .card.graph-list-card.graph-icons-card.graph-right-pane{
  background:var(--aptk-block) !important;
  background-color:var(--aptk-block) !important;
  background-image:none !important;
  border-color:var(--aptk-edge) !important;
  box-shadow:var(--aptk-hard-shadow, var(--v138-hard-shadow)) !important;
}
html body #page-graph-editor .graph-square-wrap,
html body #page-graph-editor .square-graph-stage,
html body #page-graph-editor #graphSvg,
html body #page-graph-editor .graph-preset-grid,
html body #v120Content #page-graph-editor #graphPresetGrid.graph-preset-grid,
html body #v120Content #page-graph-editor #graphPresetGrid.compact-graph-grid,
html body #v120Content #page-graph-editor #graphPresetGrid.graph-preset-grid.compact-graph-grid{
  background:transparent !important;
  background-image:none !important;
  border:0 !important;
  box-shadow:none !important;
}
html body #page-graph-editor .graph-side-btn,
html body #page-graph-editor .graph-values-btn,
html body #page-graph-editor .graph-mode-btn{
  background:var(--aptk-secondary) !important;
  background-image:none !important;
  box-shadow:var(--aptk-hard-shadow-soft, var(--v138-hard-shadow-small)) !important;
  color:var(--aptk-text, #f4f4f5) !important;
}
html body #page-graph-editor .graph-apply-wide{
  background:var(--aptk-primary) !important;
  background-image:none !important;
  color:var(--qwix-accent-ink,var(--accent-ink,#fff8ed)) !important;
  box-shadow:var(--aptk-hard-shadow, var(--v138-hard-shadow)), inset 0 0 0 1px rgba(255,255,255,.06) !important;
}

html body #page-colors .saved-library-card,
html body #page-colors .saved-library-combined-card,
html body #page-colors .colors-library-card,
html body #page-colors .templates-library-card,
html body #page-colors .comps-library-card,
html body #page-colors .fonts-library-card,
html body #page-colors .reference-library-card,
html body #page-colors .reference-card,
html body #page-colors .reference-pending-preview,
html body #page-colors .saved-reference-grid,
html body #page-colors .saved-add-panel,
html body #v120Content #page-colors .card.saved-library-card,
html body #v120Content #page-colors .card.saved-library-card.saved-library-combined-card,
html body #v120Content #page-colors .card.saved-library-card.colors-library-card,
html body #v120Content #page-colors .card.saved-library-card.reference-library-card,
html body #v120Content #page-colors .card.saved-library-card.templates-library-card,
html body #v120Content #page-colors .card.saved-library-card.comps-library-card,
html body #v120Content #page-colors .card.saved-library-card.fonts-library-card,
html body #v120Content #page-colors .card.saved-library-card.fonts-library-card-compact,
html body #v120Content #page-colors #saved-subpage-colors > .card.saved-library-card,
html body #v120Content #page-colors #saved-subpage-reference > .card.saved-library-card,
html body #v120Content #page-colors #saved-subpage-comps > .card.saved-library-card,
html body #v120Content #page-colors #saved-subpage-fonts > .card.saved-library-card{
  background:var(--aptk-block) !important;
  background-color:var(--aptk-block) !important;
  background-image:none !important;
  border-color:var(--aptk-edge) !important;
  box-shadow:var(--aptk-hard-shadow, var(--v138-hard-shadow)) !important;
}
html body #page-colors .saved-subtab,
html body #page-colors .saved-mode-btn,
html body #page-colors .secondary-btn{
  background:var(--aptk-secondary) !important;
  background-image:none !important;
  box-shadow:var(--aptk-hard-shadow-soft, var(--v138-hard-shadow-small)) !important;
}

/* ---- Unify the "active selection" pill: Text's preset rail and
   Expressions' preset switch must look identical, not two different
   shades pulled from two different legacy files. ---- */
body #page-text-presets #presetGrid.icon-only-grid .preset-card.active,
body #page-text-presets #presetGrid .preset-card.active,
body #page-expressions .expression-preset-tab.is-active,
body #page-expressions .expr-v151-custom-btn.is-active{
  background:rgba(244,245,247,.94) !important;
  background-image:none !important;
  border-color:rgba(255,255,255,.5) !important;
  box-shadow:var(--aptk-hard-shadow-soft, var(--v138-hard-shadow-small)) !important;
  color:#101114 !important;
}
body #page-text-presets #presetGrid.icon-only-grid .preset-card.active .icon-mini-text,
body #page-text-presets #presetGrid .preset-card.active .icon-mini-text{
  color:#101114 !important;
}

/* ---- Robust slider styling everywhere: draw the fill on the real
   track pseudo-element instead of layering radial+linear gradients on
   the input box. The old technique left a visible seam ("black stripe")
   along the bottom edge on some renders. One consistent look for
   Text, Expressions and Settings sliders. ---- */
body #page-text-presets input[type="range"],
body #page-expressions input[type="range"],
body #page-settings input[type="range"]{
  -webkit-appearance:none !important;
  appearance:none !important;
  background:transparent !important;
  height:20px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  outline:none !important;
  box-shadow:none !important;
  cursor:pointer !important;
}
body #page-text-presets input[type="range"]::-webkit-slider-runnable-track,
body #page-expressions input[type="range"]::-webkit-slider-runnable-track,
body #page-settings input[type="range"]::-webkit-slider-runnable-track{
  height:4px !important;
  border-radius:999px !important;
  border:0 !important;
  outline:none !important;
  box-shadow:none !important;
  background:linear-gradient(90deg, var(--aptk-detail) 0%, var(--aptk-detail) var(--range-fill,0%), rgba(0,0,0,.42) var(--range-fill,0%), rgba(0,0,0,.42) 100%) !important;
}
body #page-text-presets input[type="range"]::-moz-range-track,
body #page-expressions input[type="range"]::-moz-range-track,
body #page-settings input[type="range"]::-moz-range-track{
  height:4px !important;
  border-radius:999px !important;
  border:0 !important;
  box-shadow:none !important;
  background:rgba(0,0,0,.42) !important;
}
body #page-text-presets input[type="range"]::-moz-range-progress,
body #page-expressions input[type="range"]::-moz-range-progress,
body #page-settings input[type="range"]::-moz-range-progress{
  height:4px !important;
  border-radius:999px !important;
  background:var(--aptk-detail) !important;
}
body #page-text-presets input[type="range"]::-webkit-slider-thumb,
body #page-expressions input[type="range"]::-webkit-slider-thumb,
body #page-settings input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none !important;
  appearance:none !important;
  width:14px !important;
  height:14px !important;
  border-radius:50% !important;
  border:0 !important;
  outline:none !important;
  background:var(--aptk-detail) !important;
  box-shadow:0 1px 3px rgba(0,0,0,.5) !important;
  margin-top:-5px !important;
  cursor:pointer !important;
}
body #page-text-presets input[type="range"]::-moz-range-thumb,
body #page-expressions input[type="range"]::-moz-range-thumb,
body #page-settings input[type="range"]::-moz-range-thumb{
  width:14px !important;
  height:14px !important;
  border-radius:50% !important;
  border:0 !important;
  outline:none !important;
  background:var(--aptk-detail) !important;
  box-shadow:0 1px 3px rgba(0,0,0,.5) !important;
  cursor:pointer !important;
}

/* ---- Expressions preview stays a perfect square at any panel width;
   width alone used to shrink via min(246px,100%) while height stayed
   fixed, turning the square into a rectangle when the panel narrowed. ---- */
/* Preview is a short, full-width band, not a square — a square here eats
   most of the vertical space the slider stack below needs, at any panel
   width. Height is fixed in ui_v155.css; only width is enforced here. */
body #page-expressions .expression-stage{
  width:100% !important;
  aspect-ratio:auto !important;
}

/* ---- Solid-layer color swatch + its popover ---- */
html body #page-toolkit #solidColorSwatchBtn{
  cursor:pointer !important;
  border-color:rgba(255,255,255,.16) !important;
}
html body #page-toolkit #solidColorSwatchBtn.is-open{
  border-color:rgba(255,255,255,.4) !important;
  box-shadow:0 0 0 2px rgba(255,255,255,.14) !important;
}
.solid-color-popover{
  position:fixed;
  z-index:5000;
  min-width:168px;
  padding:10px;
  border-radius:14px;
  background:var(--aptk-block, #202124);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 12px 30px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.06);
}
.solid-color-popover-title{
  margin:0 0 8px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(244,244,245,.6);
}
.solid-color-popover-row{
  display:flex;
  align-items:center;
  gap:8px;
}
.solid-color-input-native{
  width:32px;
  height:30px;
  min-height:30px;
  padding:0;
  border:1px solid rgba(255,255,255,.14);
  border-radius:8px;
  background:var(--aptk-secondary, #242529);
  overflow:hidden;
  cursor:pointer;
}
.solid-color-input-native::-webkit-color-swatch-wrapper{padding:2px;}
.solid-color-input-native::-webkit-color-swatch{border:0;border-radius:5px;}
.solid-color-input-hex{
  flex:1;
  min-width:0;
  height:30px;
  min-height:30px;
  padding:0 10px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:8px;
  background:var(--aptk-secondary, #242529);
  color:#f4f4f5;
  font-size:11px;
  font-weight:700;
  letter-spacing:.02em;
  text-transform:uppercase;
  text-align:center;
  outline:none;
}

/* ---- Custom dropdown replacing native <select> controls that can flicker
   shut in AE's panel. The real
   select stays in the DOM (hidden) so existing app logic is untouched;
   this is only the visible trigger + option list. ---- */
html body select.aptk-native-select-hidden,
html body #page-text-presets select.aptk-native-select-hidden,
html body #page-text-presets .smart-select-row select.aptk-native-select-hidden{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  min-height:0 !important;
  min-width:0 !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  border:0 !important;
  background:none !important;
  box-shadow:none !important;
}
.aptk-custom-select-trigger{
  display:flex;
  align-items:center;
  width:100%;
  height:40px;
  min-height:40px;
  padding:0 30px 0 14px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.11);
  background-color:var(--aptk-secondary, #242529);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1.35 1.25 5 4.55 8.65 1.25' fill='none' stroke='%23F2F4F7' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 13px center;
  background-size:10px 6px;
  color:#fff;
  font:inherit;
  font-size:12px;
  text-align:left;
  cursor:pointer;
  outline:none !important;
  box-shadow:none !important;
  -webkit-tap-highlight-color:transparent;
  user-select:none;
  transition:none !important;
  transform:none;
}
html body .aptk-custom-select-trigger:hover,
html body .aptk-custom-select-trigger:focus,
html body .aptk-custom-select-trigger:focus-visible,
html body .aptk-custom-select-trigger:active{
  outline:none !important;
  box-shadow:none !important;
  transform:none;
  background-color:var(--aptk-secondary, #242529) !important;
}
.aptk-custom-select-trigger span{
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  pointer-events:none;
}
.aptk-custom-select-trigger.is-open{
  border-color:rgba(255,255,255,.3);
}
.aptk-custom-select-list{
  position:fixed;
  z-index:5000;
  max-height:220px;
  overflow-y:auto;
  padding:6px;
  border-radius:14px;
  background:var(--aptk-block, #202124);
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 12px 30px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.06);
}
.aptk-custom-select-option{
  display:block;
  width:100%;
  padding:8px 10px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:rgba(244,244,245,.55);
  font-size:12px;
  font-weight:600;
  text-align:left;
  cursor:pointer;
  outline:none !important;
  box-shadow:none !important;
  transition:none !important;
  transform:none !important;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
}
/* The list's own width always matches its trigger (JS sets it inline), so
   at narrow panel widths a plain-text option (e.g. "Letters") can be wider
   than the pill itself. Without truncation the label just overflowed past
   the option and past the list's own border instead of eliding - excluding
   the graph preset preview card since that variant lays out its own
   multi-line content and isn't a plain text label. */
html body .aptk-custom-select-option:not(.has-note):not(.expr-graph-preset-preview-card){
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
/* Only the selected option gets a background pill — the rest stay flat
   and dimmed, brightening on hover for feedback without a backdrop. */
html body .aptk-custom-select-option:hover{
  background:transparent !important;
  color:#f4f4f5 !important;
}
html body .aptk-custom-select-option:focus,
html body .aptk-custom-select-option:focus-visible,
html body .aptk-custom-select-option:active{
  outline:none !important;
  box-shadow:none !important;
  transform:none !important;
}
html body .aptk-custom-select-option.is-active{
  background:rgba(244,245,247,.94) !important;
  color:#101114 !important;
  font-weight:800;
}
html body .aptk-custom-select-option.is-active:hover{
  background:rgba(244,245,247,.94) !important;
  color:#101114 !important;
}

/* ===== css/split-page.css ===== */
/* Split page layout. Shared .card/.tool-btn/.primary-btn/select styles keep it
   aligned with the rest of AE Toolkit while this file scopes the Split UX. */

#page-split .split-page-v1 {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 8px;
  height: 100%;
  min-height: 0;
  padding-bottom: 4px;
}

#page-split .card {
  margin: 0;
}

#page-split .split-topbar-card {
  display: grid;
  grid-template-columns: minmax(114px, 1fr) minmax(114px, 1fr) 92px 118px;
  gap: 6px;
  align-items: center;
  padding: 6px !important;
  min-width: 0;
}

#page-split .split-mode-field {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4px;
  align-items: stretch;
  min-width: 0;
}

#page-split .split-mode-field > span {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .04em;
  color: rgba(244, 244, 245, .56);
  text-transform: uppercase;
}

#page-split .split-select-shell {
  position: relative;
  min-width: 0;
}

#page-split .split-select-shell select,
#page-split .split-inspector-select,
#page-split .split-inspector-input {
  width: 100%;
  min-width: 0;
  min-height: 32px;
  height: 32px;
  padding-right: 28px;
  font-size: 10px;
}

#page-split .split-select-shell select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

#page-split .split-select-arrow {
  position: absolute;
  right: 10px;
  top: 50%;
  width: 7px;
  height: 7px;
  margin-top: -6px;
  border-right: 1.8px solid rgba(244, 244, 245, .72);
  border-bottom: 1.8px solid rgba(244, 244, 245, .72);
  transform: rotate(45deg);
  transform-origin: 50% 50%;
  pointer-events: none;
  transition: transform .22s cubic-bezier(.2,.8,.2,1), border-color .18s ease, margin-top .22s cubic-bezier(.2,.8,.2,1);
}

#page-split .split-select-shell:focus-within .split-select-arrow {
  transform: rotate(225deg);
  margin-top: -2px;
  border-color: var(--aptk-detail, #139af2);
}

#page-split .tool-btn,
#page-split .primary-btn {
  height: 32px;
  min-height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 10px;
  line-height: 1.12;
  padding: 0 9px;
  white-space: nowrap;
}

#page-split .split-preview-card {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
  padding: 7px !important;
}

#page-split .split-canvas-wrap {
  position: relative;
  flex: 1 1 auto;
  min-height: 180px;
  width: 100%;
  border-radius: 10px;
  overflow: hidden;
  background: rgba(0, 0, 0, .28);
  border: 1px solid rgba(255,255,255,.06);
}

#page-split #splitPreviewCanvas {
  display: block;
  width: 100%;
  height: 100%;
  cursor: default;
}

#page-split .split-analysis-overlay,
#page-split .split-dialog-backdrop {
  position: absolute;
  inset: 0;
  z-index: 14;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  background: rgba(7, 8, 10, .84);
}

#page-split .split-dialog-backdrop {
  position: fixed;
  z-index: 1690;
}

#page-split .split-analysis-overlay.is-hidden,
#page-split .split-dialog-backdrop.is-hidden {
  display: none;
}

#page-split .split-analysis-card,
#page-split .split-dialog-card {
  width: min(100%, 348px);
  padding: 12px;
  border-radius: 10px;
  background: var(--qwix-bg, #202124) !important;
  background-color: var(--qwix-bg, #202124) !important;
  border: 1px solid var(--aptk-edge, rgba(255, 255, 255, .12)) !important;
  box-shadow: var(--aptk-hard-shadow, 0 18px 36px rgba(0, 0, 0, .58)), inset 0 1px 0 rgba(255, 255, 255, .06) !important;
  color: var(--aptk-text, #f4f4f5) !important;
  opacity: 1 !important;
}

#page-split .split-dialog-card {
  width: min(100%, 372px);
}

#page-split .split-analysis-topline {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 11px;
  font-weight: 800;
  color: var(--aptk-text, #f4f4f5);
}

#page-split .split-analysis-pulse {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--aptk-detail, #139af2);
  box-shadow: 0 0 0 0 var(--aptk-detail, #139af2);
  animation: splitPulse 1.4s ease-out infinite;
  flex: 0 0 auto;
}

@keyframes splitPulse {
  0% { box-shadow: 0 0 0 0 rgba(19, 154, 242, .55); }
  100% { box-shadow: 0 0 0 8px rgba(19, 154, 242, 0); }
}

#page-split .split-analysis-stage {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#page-split .split-analysis-eta {
  flex: 0 0 auto;
  color: rgba(244, 244, 245, .64);
  font-weight: 700;
}

#page-split .split-analysis-meter {
  height: 5px;
  border-radius: 999px;
  background: rgba(0, 0, 0, .42);
  margin: 9px 0 8px;
  overflow: hidden;
}

#page-split .split-analysis-meter span {
  display: block;
  height: 100%;
  width: 6%;
  background: var(--aptk-detail, #139af2);
  transition: width .4s cubic-bezier(.2,.8,.2,1);
}

#page-split .split-analysis-detail {
  min-height: 34px;
  font-size: 10.5px;
  line-height: 1.42;
  color: rgba(244, 244, 245, .72);
}

#page-split .split-cancel-btn {
  width: 92px;
  margin: 10px auto 0;
  color: rgba(255, 135, 135, .9);
}

#page-split .split-dialog-eyebrow {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(244,244,245,.46);
}

#page-split .split-dialog-title {
  margin: 6px 0 0;
  font-size: 17px;
  line-height: 1.2;
  color: rgba(244,244,245,.96);
}

#page-split .split-dialog-option-group {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

#page-split .split-mode-choice {
  width: 100%;
  text-align: left;
  padding: 10px 11px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.035);
  color: rgba(244,244,245,.82);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
  transition: transform .16s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

#page-split .split-mode-choice:hover,
#page-split .split-mode-choice:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(255,255,255,.16);
  background: rgba(255,255,255,.055);
  outline: none;
}

#page-split .split-mode-choice.is-active {
  border-color: rgba(19,154,242,.45);
  background: rgba(19,154,242,.10);
  box-shadow: inset 0 0 0 1px rgba(19,154,242,.18), 0 10px 18px rgba(0,0,0,.18);
}

#page-split .split-mode-choice-title,
#page-split .split-mode-choice-meta {
  display: block;
}

#page-split .split-mode-choice-title {
  font-size: 11px;
  font-weight: 800;
  color: rgba(244,244,245,.94);
}

#page-split .split-mode-choice-meta {
  margin-top: 4px;
  font-size: 9.5px;
  line-height: 1.35;
  color: rgba(244,244,245,.58);
}

#page-split .split-dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 12px;
}

#page-split .split-dialog-actions .tool-btn,
#page-split .split-dialog-actions .primary-btn {
  min-width: 104px;
}

#page-split .split-selection-inspector {
  position: absolute;
  left: 12px;
  top: 12px;
  z-index: 11;
  width: min(320px, calc(100% - 24px));
  padding: 8px;
  border-radius: 10px;
  background: rgba(20, 22, 27, .94);
  border: 1px solid rgba(255, 255, 255, .08);
  box-shadow: 0 14px 30px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter: blur(10px);
}

#page-split .split-selection-inspector.is-hidden {
  display: none;
}

#page-split .split-inspector-grid {
  display: grid;
  gap: 8px;
  align-items: start;
}

#page-split .split-inspector-title {
  min-width: 0;
  font-size: 11px;
  font-weight: 800;
  color: rgba(244, 244, 245, .92);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#page-split .split-inspector-meta {
  font-size: 9.5px;
  font-weight: 700;
  color: rgba(244, 244, 245, .48);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#page-split .split-inspector-note {
  font-size: 10px;
  color: rgba(244, 244, 245, .58);
  line-height: 1.35;
}

#page-split button:disabled,
#page-split select:disabled,
#page-split input:disabled {
  opacity: .42;
  cursor: default;
}

#page-split .split-hidden-controls,
#page-split .split-font-categories-panel {
  display: none !important;
}

html body .split-context-menu-blocker.context-menu-blocker{
  position:fixed !important;
  inset:0 !important;
  z-index:1680 !important;
  display:none !important;
  background:transparent !important;
  cursor:default !important;
  touch-action:none !important;
}
html body .split-context-menu-blocker.context-menu-blocker.is-open{display:block !important;}
html body .split-orbit-context-menu.orbit-context-menu{
  --orbit-radius:78px;
  --orbit-item-w:42px;
  --orbit-item-h:52px;
  --orbit-duration:14s;
  position:fixed !important;
  left:0;
  top:0;
  width:0;
  height:0;
  z-index:1700 !important;
  visibility:hidden;
  pointer-events:none;
}
html body .split-orbit-context-menu.orbit-context-menu.is-open,
html body .split-orbit-context-menu.orbit-context-menu.is-closing{visibility:visible;}
html body .split-orbit-context-menu .context-orbit-path{
  position:absolute;
  width:calc(var(--orbit-radius) * 2);
  height:calc(var(--orbit-radius) * 2);
  left:calc(var(--orbit-radius) * -1);
  top:calc(var(--orbit-radius) * -1);
  border:1px solid rgba(255,255,255,.075);
  border-radius:50%;
  opacity:0;
  transform:scale(.9);
  animation:tools-context-path-in 320ms cubic-bezier(.18,.82,.2,1) 13ms forwards;
  box-shadow:inset 0 0 36px rgba(255,255,255,.008);
  pointer-events:none;
}
html body .split-orbit-context-menu .context-orbit-spinner{
  position:absolute;left:0;top:0;width:0;height:0;transform-origin:0 0;
  animation:tools-context-orbit-spin var(--orbit-duration) linear infinite;
  pointer-events:none;will-change:transform;backface-visibility:hidden;
}
html body .split-orbit-context-menu .context-orbit-slot{
  --angle:0deg;position:absolute;left:0;top:0;width:0;height:0;
  transform:rotate(var(--angle)) translate3d(var(--orbit-radius),0,0);
  transform-origin:0 0;pointer-events:none;backface-visibility:hidden;
}
html body .split-orbit-context-menu .context-orbit-upright{
  position:absolute;
  left:calc(var(--orbit-item-w) * -.5);
  top:calc(var(--orbit-item-h) * -.5);
  width:var(--orbit-item-w);
  height:var(--orbit-item-h);
  transform:rotate(calc(var(--angle) * -1));
  transform-origin:50% 50%;
  pointer-events:none;
  backface-visibility:hidden;
}
html body .split-orbit-context-menu .context-orbit-counter{
  position:absolute;inset:0;
  animation:tools-context-orbit-counter-spin var(--orbit-duration) linear infinite;
  transform-origin:50% 50%;will-change:transform;backface-visibility:hidden;pointer-events:none;
}
html body .split-orbit-context-menu .context-orbit-item{
  --delay:0ms;
  position:relative;
  width:100%;height:100%;padding:0;
  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;
  display:block;
  color:rgba(255,255,255,.88);
  background:linear-gradient(180deg,rgba(25,27,32,.96) 0%,rgba(18,20,24,.98) 100%);
  box-shadow:0 14px 28px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.04);
  cursor:pointer;
  pointer-events:auto;
  opacity:0;
  transform:scale(.38);
  transform-origin:50% 50%;
  animation:tools-context-item-in 555ms var(--delay) both;
  transition:border-color 180ms ease,background 180ms ease,color 180ms ease,box-shadow 180ms ease,transform 180ms ease;
  outline:none;
  will-change:transform,opacity;
  backface-visibility:hidden;
  -webkit-font-smoothing:antialiased;
}
html body .split-orbit-context-menu .context-orbit-item::after{
  content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.03);border-radius:inherit;pointer-events:none;
}
html body .split-orbit-context-menu .context-orbit-face{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:5px;padding:7px 4px 6px;transform-origin:50% 50%;pointer-events:none;will-change:transform;
  backface-visibility:hidden;text-align:center;transform:translateZ(0);
}
html body .split-orbit-context-menu .context-orbit-icon{
  width:14px;height:14px;display:grid;place-items:center;flex:0 0 auto;transform:translateZ(0);
}
html body .split-orbit-context-menu .context-orbit-item svg{
  width:14px;height:14px;stroke-width:1.85;pointer-events:none;shape-rendering:geometricPrecision;
}
html body .split-orbit-context-menu .context-orbit-text{
  display:block;max-width:38px;font-size:6.8px;font-weight:650;line-height:1.05;letter-spacing:0;
  color:rgba(255,255,255,.94);white-space:nowrap;overflow:hidden;text-overflow:clip;text-shadow:none;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transform:translateZ(0);
}
html body .split-orbit-context-menu .context-orbit-item:hover,
html body .split-orbit-context-menu .context-orbit-item:focus-visible{
  color:#fff;border-color:rgba(255,255,255,.18);
  background:linear-gradient(180deg,rgba(31,34,40,.98) 0%,rgba(22,24,29,.99) 100%);
  box-shadow:0 16px 32px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.05);
}
html body .split-orbit-context-menu .context-orbit-item.is-disabled{
  cursor:default !important;
}
html body .split-orbit-context-menu .context-orbit-item.is-disabled .context-orbit-face{
  opacity:.25 !important;
  filter:grayscale(1) !important;
}
html body .split-orbit-context-menu .context-orbit-item.is-disabled:hover{
  color:rgba(255,255,255,.88);
  border-color:rgba(255,255,255,.10);
  background:linear-gradient(180deg,rgba(25,27,32,.96) 0%,rgba(18,20,24,.98) 100%);
  box-shadow:0 14px 28px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.04);
}
html body .split-orbit-context-menu .context-orbit-pulse{
  position:absolute;width:14px;height:14px;left:-7px;top:-7px;border-radius:50%;
  border:1px solid var(--qwix-accent,#ff8750);opacity:0;
  animation:tools-context-pulse-out 338ms cubic-bezier(.15,.65,.2,1) forwards;pointer-events:none;
}
html body .split-orbit-context-menu.is-closing .context-orbit-path{
  animation:tools-context-path-out 270ms cubic-bezier(.4,0,.75,.2) forwards;
}
html body .split-orbit-context-menu.is-closing .context-orbit-item{
  pointer-events:none;
  animation:tools-context-item-out 245ms var(--close-delay,0ms) cubic-bezier(.4,0,.75,.2) both;
}
html body .split-orbit-context-menu.is-closing .context-orbit-pulse{opacity:0;animation:none;}

html[data-aptk-mode="suede"] body .split-orbit-context-menu .context-orbit-path{
  border-color:rgba(58,42,27,.10);
}
html[data-aptk-mode="suede"] body .split-orbit-context-menu .context-orbit-item{
  color:rgba(34,28,20,.88);
  border-color:rgba(76,58,37,.13);
  background:linear-gradient(180deg,rgba(246,237,222,.98),rgba(235,222,202,.99));
  box-shadow:0 14px 28px rgba(74,51,24,.22),inset 0 1px rgba(255,255,255,.52);
}
html[data-aptk-mode="suede"] body .split-orbit-context-menu .context-orbit-text{color:rgba(34,28,20,.92);}
html[data-aptk-mode="suede"] body .split-orbit-context-menu .context-orbit-item:hover{
  color:#21190f;border-color:rgba(76,58,37,.23);
  background:linear-gradient(180deg,rgba(250,243,232,.99),rgba(239,228,210,.99));
}

@media (max-width: 420px) {
  #page-split .split-topbar-card {
    grid-template-columns: 1fr 1fr;
  }

  #page-split .split-dialog-actions {
    flex-direction: column-reverse;
  }

  #page-split .split-dialog-actions .tool-btn,
  #page-split .split-dialog-actions .primary-btn {
    width: 100%;
  }
}

/* ===== css/qwix_theme.css ===== */
/* ============================================================
   QWIX DEFAULT THEME — final visual layer.
   Loaded last on purpose: this file only ever touches
   background / color / border / border-radius / box-shadow /
   font / transition. No layout, no structure, no new markup.

   Color source of truth: js/main_v139.js's Style Lab engine sets
   --aptk-bg / --aptk-secondary / --aptk-primary / --aptk-block /
   --aptk-detail (+ the derived --qwix-* surface & accent-state
   tokens). This file adds the fixed part of the Qwix token set
   (ink scale, borders, radii, fonts, success/error) and applies
   both sets to the real components.
   ============================================================ */

:root{
  /* fixed Qwix tokens — never change with Style Lab recoloring */
  --qwix-border: rgba(255,255,255,.14);
  --qwix-border-subtle: rgba(255,255,255,.07);
  --qwix-accent-ink: #241C16;
  --qwix-success: #7E9974;
  --qwix-error: #D18175;
  --qwix-ink: #F2EDE6;
  --qwix-ink-secondary: #B3A99C;
  --qwix-ink-tertiary: #7C7266;
  --qwix-ink-disabled: #5B564C;

  --qwix-radius-xs: 6px;
  --qwix-radius-sm: 8px;
  --qwix-radius-md: 10px;
  --qwix-radius-lg: 14px;
  --qwix-radius-xl: 18px;
  --qwix-radius-pill: 999px;

  /* Flat/standard, no colored glow — matches the plain hard-shadow every
     Apply button across the app already resolves to in practice (see
     redesign_r2.js's --aptk-hard-shadow/--v138-hard-shadow), so whichever
     of the two competing declarations wins for a given button, the result
     looks the same. */
  --qwix-shadow-primary: 0 1px 0 rgba(255,255,255,.03) inset, 0 0 0 1px rgba(255,255,255,.06) inset;
  --qwix-shadow-primary-hover: 0 1px 0 rgba(255,255,255,.05) inset, 0 0 0 1px rgba(255,255,255,.09) inset;
  --qwix-shadow-card: inset 0 1px 0 rgba(255,255,255,.03);

  --qwix-font-ui: 'Inter', -apple-system, 'Segoe UI', system-ui, sans-serif;
  --qwix-font-mono: 'IBM Plex Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;

  --qwix-dur: 140ms;
}

/* ------------------------------------------------------------
   01. Typography — Inter everywhere, IBM Plex Mono for values
   ------------------------------------------------------------ */
body,
button, input, select, textarea{
  font-family: var(--qwix-font-ui) !important;
}
body #page-text-presets .smart-control-row label b,
body #page-expressions .smart-control-row label b,
body #page-expressions .expression-toggle-badge,
body .field-val,
body .graph-values-btn,
body #x1Value, body #y1Value, body #x2Value, body #y2Value,
body .user-color-input,
body .v139-hex-input,
body #splitAnalysisEtaText,
body .split-elements-summary{
  font-family: var(--qwix-font-mono) !important;
  letter-spacing: 0 !important;
}

/* ------------------------------------------------------------
   02. Base surfaces — outer shell / page background
   ------------------------------------------------------------ */
html, body{
  background: var(--aptk-bg, #1E1B18) !important;
}
#v120App{
  background: var(--aptk-bg, #1E1B18) !important;
}
body #v120Content > .page,
body .page{
  background: var(--qwix-bg-secondary, #262320) !important;
}

/* ------------------------------------------------------------
   03. Buttons — Primary / Secondary / Icon
   ------------------------------------------------------------ */
body .primary-btn,
body .expression-apply-action,
body .graph-apply-wide,
body #page-text-presets #applySelectedPresetBtn,
body #page-graph-editor #applyGraphBtn,
body .modal-btn.primary,
body #splitRunBtn,
body #splitCreateLayersBtn{
  background: var(--aptk-primary, #D97757) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: var(--qwix-radius-md) !important;
  box-shadow: var(--qwix-shadow-primary) !important;
  color: var(--qwix-accent-ink) !important;
  text-shadow: none !important;
  transition: background var(--qwix-dur), box-shadow var(--qwix-dur), color var(--qwix-dur) !important;
}
body .primary-btn:hover,
body .expression-apply-action:hover,
body .graph-apply-wide:hover,
body #page-text-presets #applySelectedPresetBtn:hover,
body #page-graph-editor #applyGraphBtn:hover,
body .modal-btn.primary:hover,
body #splitRunBtn:not(:disabled):hover,
body #splitCreateLayersBtn:not(:disabled):hover{
  background: var(--qwix-accent-hover, #E2835F) !important;
  box-shadow: var(--qwix-shadow-primary-hover) !important;
  color: var(--qwix-accent-ink) !important;
}
body .primary-btn:active,
body .expression-apply-action:active,
body .graph-apply-wide:active,
body #page-text-presets #applySelectedPresetBtn:active,
body #page-graph-editor #applyGraphBtn:active,
body .modal-btn.primary:active,
body #splitRunBtn:not(:disabled):active,
body #splitCreateLayersBtn:not(:disabled):active{
  background: var(--qwix-accent-pressed, #C6673F) !important;
  box-shadow: none !important;
  transform: none !important;
  color: var(--qwix-accent-ink) !important;
}
body .primary-btn:disabled,
body #splitRunBtn:disabled,
body #splitCreateLayersBtn:disabled,
body .expression-apply-action:disabled{
  opacity: .4 !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
}

/* Secondary / tool / plain buttons */
body .secondary-btn,
body .tool-btn,
body .tool-btn-v146,
body .text-small-btn,
body .large-function-btn,
body .layer-name-btn,
body .graph-side-btn,
body .graph-values-btn,
body .graph-reset-btn,
body .expr-v151-clear-btn,
body .expr-v153-save-below-menu,
body .modal-btn.ghost,
body #splitGetSelectedBtn,
body .top-action-btn,
body button:not(.primary-btn):not(.expression-apply-action):not(.graph-apply-wide):not(.v120-nav-btn):not(.aptk-custom-select-trigger):not(.aptk-custom-select-option):not(.preset-card):not(.tab-btn):not(.saved-subtab):not(.saved-mode-btn):not(.graph-mode-btn):not(.expression-scale-mode-btn):not(.expression-preset-tab):not(.segment-btn):not(.v139-swatch):not(.theme-option):not(.saved-asset-menu-btn):not(.graph-preset-menu-btn):not(.stepper button)
{
  border: 1px solid var(--qwix-border) !important;
  border-radius: var(--qwix-radius-md) !important;
  box-shadow: var(--qwix-shadow-card) !important;
  color: var(--qwix-ink-secondary) !important;
  text-shadow: none !important;
  transition: background var(--qwix-dur), color var(--qwix-dur), border-color var(--qwix-dur) !important;
}
body .secondary-btn:hover,
body .tool-btn:hover,
body .tool-btn-v146:hover,
body .text-small-btn:hover,
body .large-function-btn:hover,
body .layer-name-btn:hover,
body .graph-side-btn:hover,
body .graph-values-btn:hover,
body .graph-reset-btn:hover,
body .expr-v151-clear-btn:hover,
body .expr-v153-save-below-menu:hover,
body .modal-btn.ghost:hover,
body #splitGetSelectedBtn:hover,
body .top-action-btn:hover{
  background: var(--qwix-surface-hover, #34302A) !important;
  color: var(--qwix-ink, #F2EDE6) !important;
  box-shadow: var(--qwix-shadow-card) !important;
}
body .secondary-btn:active,
body .tool-btn:active,
body .tool-btn-v146:active,
body .text-small-btn:active,
body .large-function-btn:active,
body .layer-name-btn:active,
body .graph-side-btn:active,
body .graph-values-btn:active,
body .graph-reset-btn:active,
body .expr-v151-clear-btn:active,
body .expr-v153-save-below-menu:active,
body .modal-btn.ghost:active,
body #splitGetSelectedBtn:active{
  background: var(--qwix-surface-pressed, #282420) !important;
  box-shadow: none !important;
  transform: none !important;
}
body .secondary-btn:disabled,
body .tool-btn:disabled,
body .tool-btn-v146:disabled,
body #splitGetSelectedBtn:disabled{
  opacity: .4 !important;
  cursor: not-allowed !important;
}
/* These specific buttons live inside page-scoped legacy stylesheets
   (ui_graph_v14x.css, ui_tools_v146.css, ui_v155.css) that prefix every
   rule with the page id, out-ranking the plain class selectors above —
   same id-boost needed here as the Tabs section. */
html body #page-graph-editor .graph-side-btn,
html body #page-graph-editor .graph-values-btn,
html body #page-graph-editor .graph-reset-btn,
html body #page-toolkit .tool-btn-v146,
html body #page-text-presets #clearSelectedPresetBtn,
html body #page-expressions .expr-v151-clear-btn,
html body #page-expressions .expr-v153-save-below-menu,
html body #page-expressions #clearExpressionPresetBtn{
  border-radius: var(--qwix-radius-md) !important;
}
html body #v120App #v120Content #page-text-presets #clearSelectedPresetBtn,
html body #v120App #v120Content #page-expressions #clearExpressionPresetBtn{
  color: var(--qwix-ink-secondary, #B3A99C) !important;
}
html body #v120App #v120Content #page-text-presets #clearSelectedPresetBtn:hover,
html body #v120App #v120Content #page-expressions #clearExpressionPresetBtn:hover{
  color: var(--qwix-ink, #F2EDE6) !important;
}

/* Icon-only buttons — square, radius-sm */
body .mini-utility-btn,
body .btn-icon,
body #resetGraphBtn,
body #resetTextPresetsBtn,
body #editModeBtn,
body #pluginSettingsBtn,
body .stepper button{
  border: 1px solid var(--qwix-border) !important;
  border-radius: var(--qwix-radius-sm) !important;
  color: var(--qwix-ink-secondary) !important;
  transition: background var(--qwix-dur), color var(--qwix-dur) !important;
}
body .mini-utility-btn:hover,
body #resetGraphBtn:hover,
body #resetTextPresetsBtn:hover,
body #editModeBtn:hover,
body #pluginSettingsBtn:hover{
  background: var(--qwix-surface-hover, #34302A) !important;
  color: var(--qwix-ink, #F2EDE6) !important;
}
body .mini-utility-btn:active,
body #resetGraphBtn:active{
  background: var(--qwix-surface-pressed, #282420) !important;
}
body .tool-swatch-btn-v146{
  border-radius: var(--qwix-radius-sm) !important;
  border: 1px solid var(--qwix-border) !important;
}

/* ------------------------------------------------------------
   04. Inputs — text / search / numeric / textarea / native select
   ------------------------------------------------------------ */
body input:not([type="range"]):not([type="color"]):not([type="checkbox"]),
body textarea,
body .smart-preview-input,
body .user-color-input,
body .modal-input,
body select:not(.aptk-native-select-hidden){
  border: 1px solid var(--qwix-border) !important;
  border-radius: var(--qwix-radius-md) !important;
  box-shadow: none !important;
  color: var(--qwix-ink, #F2EDE6) !important;
  transition: border-color var(--qwix-dur), background var(--qwix-dur) !important;
}
body input:not([type="range"]):not([type="color"]):not([type="checkbox"]):hover,
body textarea:hover,
body select:not(.aptk-native-select-hidden):hover{
  border-color: rgba(255,255,255,.22) !important;
}
body input:not([type="range"]):not([type="color"]):not([type="checkbox"]):focus,
body textarea:focus{
  border-color: var(--aptk-primary, #D97757) !important;
  background: var(--qwix-surface-hover, #34302A) !important;
  box-shadow: 0 0 0 3px var(--qwix-accent-soft-bg, rgba(217,119,87,.12)) !important;
  outline: none !important;
}
body input:disabled, body textarea:disabled, body select:disabled{
  opacity: .4 !important;
  cursor: not-allowed !important;
}
body .stepper, body .tool-stepper-v146{
  border: 1px solid var(--qwix-border) !important;
  border-radius: var(--qwix-radius-md) !important;
}

/* Custom dropdown trigger + menu */
body .aptk-custom-select-trigger{
  border: 1px solid var(--qwix-border) !important;
  border-radius: var(--qwix-radius-md) !important;
  box-shadow: none !important;
  color: var(--qwix-ink, #F2EDE6) !important;
  transition: background var(--qwix-dur), border-color var(--qwix-dur) !important;
}
html body .aptk-custom-select-trigger:hover{
  border-color: rgba(255,255,255,.22) !important;
  background-color: var(--qwix-surface-hover, #34302A) !important;
}
.aptk-custom-select-trigger.is-open{
  border-color: var(--aptk-primary, #D97757) !important;
}
.aptk-custom-select-list{
  border: 1px solid var(--qwix-border) !important;
  border-radius: var(--qwix-radius-md) !important;
  box-shadow: 0 20px 40px -16px rgba(0,0,0,.55) !important;
}
.aptk-custom-select-option{
  border-radius: var(--qwix-radius-sm) !important;
  color: var(--qwix-ink-tertiary, #7C7266) !important;
}
html body .aptk-custom-select-option:hover{
  background: var(--qwix-surface-hover, #34302A) !important;
  color: var(--qwix-ink, #F2EDE6) !important;
}
html body .aptk-custom-select-option.is-active,
html body .aptk-custom-select-option.is-active:hover{
  background: var(--qwix-accent-soft-bg, rgba(217,119,87,.12)) !important;
  color: var(--qwix-accent-soft-ink, #E79367) !important;
  font-weight: 700 !important;
}

/* Native selects that keep their own visible chevron background-image
   (Tools composition target, Split mode/masks) only need radius/border
   touched — their color already tracks --aptk-secondary. */
body .align-target-select,
body .align-target-select-v146,
body #splitModeSelect,
body #splitMaskModeSelect,
body #splitRasterModeSelect,
body #smartMode, body #numberThousands, body #timerMode, body #timerShowHours,
body #randomCharset, body #dateFormat, body #dateAnimate,
body #smartDirection, body #smartSplit,
body #exprJumpMode, body #exprJumpDirection,
body #exprPopUpMode, body #exprSpinMode, body #exprBlurMode{
  border-radius: var(--qwix-radius-md) !important;
}

/* ------------------------------------------------------------
   05. Sliders (range inputs) — cream handle with an accent ring
   (Qwix UI kit .sl-handle), not a solid-accent dot. Page-scoped
   legacy files (ui_v155.css, redesign_r2.js) set the thumb's
   width/border/background per page at #page-X specificity, so the
   override needs the same #page-X prefix to reliably win — a plain
   "body input[type=range]::-webkit-slider-thumb" rule loses ties
   against those every time.
   ------------------------------------------------------------ */
html body #page-text-presets input[type="range"]::-webkit-slider-thumb,
html body #page-expressions input[type="range"]::-webkit-slider-thumb,
html body #page-graph-editor input[type="range"]::-webkit-slider-thumb,
html body #page-settings input[type="range"]::-webkit-slider-thumb,
body input[type="range"]::-webkit-slider-thumb{
  width: 15px !important;
  height: 15px !important;
  border-radius: 50% !important;
  background: var(--qwix-ink, #F2EDE6) !important;
  border: 2px solid var(--aptk-primary, #D97757) !important;
  box-shadow: 0 2px 6px rgba(0,0,0,.4) !important;
  margin-top: -6px !important;
  transition: box-shadow var(--qwix-dur), width var(--qwix-dur), height var(--qwix-dur) !important;
}
html body #page-text-presets input[type="range"]::-moz-range-thumb,
html body #page-expressions input[type="range"]::-moz-range-thumb,
html body #page-graph-editor input[type="range"]::-moz-range-thumb,
html body #page-settings input[type="range"]::-moz-range-thumb,
body input[type="range"]::-moz-range-thumb{
  width: 15px !important;
  height: 15px !important;
  border-radius: 50% !important;
  background: var(--qwix-ink, #F2EDE6) !important;
  border: 2px solid var(--aptk-primary, #D97757) !important;
  box-shadow: 0 2px 6px rgba(0,0,0,.4) !important;
}
body input[type="range"]:hover::-webkit-slider-thumb{
  box-shadow: 0 2px 6px rgba(0,0,0,.4), 0 0 0 6px var(--qwix-accent-soft-bg, rgba(217,119,87,.12)) !important;
}
body input[type="range"]:active::-webkit-slider-thumb{
  width: 17px !important;
  height: 17px !important;
  margin-top: -7px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.5), 0 0 0 8px var(--qwix-accent-soft-bg, rgba(217,119,87,.12)) !important;
}
body input[type="range"]:disabled{
  opacity: .4 !important;
  cursor: not-allowed !important;
}
body input[type="range"]:disabled::-webkit-slider-thumb{
  box-shadow: none !important;
}

/* Value chip — the "1.30s" / "80px" badge next to a slider label.
   Same #page-X boosting reason as above: .smart-control-row label b
   already carries page-scoped font-weight/color rules to beat. */
html body #page-text-presets .smart-control-row label b,
html body #page-expressions .smart-control-row label b,
html body .custom-ffx-row label b,
html body #page-settings .v139-slider-row label b,
body .field-val{
  display: inline-block !important;
  font-family: var(--qwix-font-mono) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  color: var(--qwix-accent-soft-ink, #E79367) !important;
  background: var(--qwix-accent-soft-bg, rgba(217,119,87,.12)) !important;
  padding: 2px 7px !important;
  border-radius: var(--qwix-radius-xs) !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ------------------------------------------------------------
   06. Toggle — native checkboxes inside .expression-check become a
   Qwix pill toggle via appearance:none + pseudo-elements. No markup
   changes; the ON/OFF text badge next to it is left exactly as-is.
   ------------------------------------------------------------ */
html body #page-expressions .expression-check input[type="checkbox"],
body .expression-check input[type="checkbox"]{
  -webkit-appearance: none !important;
  appearance: none !important;
  display: inline-block !important;
  position: relative !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  width: 32px !important;
  height: 19px !important;
  min-width: 32px !important;
  margin: 0 8px 0 0 !important;
  padding: 0 !important;
  border: 1px solid var(--qwix-border) !important;
  border-radius: var(--qwix-radius-pill) !important;
  background: var(--qwix-surface-raised, #332E27) !important;
  vertical-align: middle !important;
  cursor: pointer !important;
  outline: none !important;
  box-shadow: none !important;
  transition: background var(--qwix-dur), border-color var(--qwix-dur) !important;
}
html body #page-expressions .expression-check input[type="checkbox"]::after,
body .expression-check input[type="checkbox"]::after{
  content: '' !important;
  position: absolute !important;
  top: 2px !important;
  left: 2px !important;
  width: 13px !important;
  height: 13px !important;
  border-radius: 50% !important;
  background: var(--qwix-ink-secondary, #B3A99C) !important;
  transition: transform var(--qwix-dur), background var(--qwix-dur) !important;
}
html body #page-expressions .expression-check input[type="checkbox"]:checked,
body .expression-check input[type="checkbox"]:checked{
  background: var(--aptk-primary, #D97757) !important;
  border-color: transparent !important;
}
html body #page-expressions .expression-check input[type="checkbox"]:checked::after,
body .expression-check input[type="checkbox"]:checked::after{
  transform: translateX(13px) !important;
  background: var(--qwix-accent-ink) !important;
}
html body #page-expressions .expression-check input[type="checkbox"]:hover,
body .expression-check input[type="checkbox"]:hover{
  border-color: rgba(255,255,255,.28) !important;
}
html body #page-expressions .expression-check input[type="checkbox"]:disabled,
body .expression-check input[type="checkbox"]:disabled{
  opacity: .4 !important;
  cursor: not-allowed !important;
}

/* ------------------------------------------------------------
   07. Checkbox — plain native checkboxes elsewhere in the app
   ------------------------------------------------------------ */
body input[type="checkbox"]:not(#exprWigglePositionEnabled):not(#exprWiggleScaleEnabled):not(#exprWiggleOpacityEnabled):not(#exprWiggleRotationEnabled):not(.tools-settings-switch-input){
  -webkit-appearance: none !important;
  appearance: none !important;
  display: inline-block !important;
  position: relative !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--qwix-border) !important;
  border-radius: var(--qwix-radius-xs) !important;
  background: var(--qwix-surface, #2C2823) !important;
  vertical-align: middle !important;
  cursor: pointer !important;
  outline: none !important;
  box-shadow: none !important;
  transition: background var(--qwix-dur), border-color var(--qwix-dur) !important;
}
body input[type="checkbox"]:not(#exprWigglePositionEnabled):not(#exprWiggleScaleEnabled):not(#exprWiggleOpacityEnabled):not(#exprWiggleRotationEnabled):not(.tools-settings-switch-input):hover{
  border-color: rgba(255,255,255,.3) !important;
}
body input[type="checkbox"]:not(#exprWigglePositionEnabled):not(#exprWiggleScaleEnabled):not(#exprWiggleOpacityEnabled):not(#exprWiggleRotationEnabled):not(.tools-settings-switch-input):checked{
  background: var(--aptk-primary, #D97757) !important;
  border-color: transparent !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23241C16' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 12px 12px !important;
}
body input[type="checkbox"]:not(#exprWigglePositionEnabled):not(#exprWiggleScaleEnabled):not(#exprWiggleOpacityEnabled):not(#exprWiggleRotationEnabled):not(.tools-settings-switch-input):disabled{
  opacity: .4 !important;
  cursor: not-allowed !important;
}

/* ------------------------------------------------------------
   08. Cards & containers
   ------------------------------------------------------------ */
body .card,
body .preview-card,
body .saved-library-card,
body .graph-preview-card,
body .graph-list-card,
body .graph-icons-card,
body .expression-preview-card,
body .expression-controls-card,
body .split-topbar-card,
body .split-preview-card,
body .solid-color-popover,
body .aptk-modal{
  border: 1px solid var(--qwix-border-subtle) !important;
  border-radius: var(--qwix-radius-lg) !important;
  box-shadow: var(--qwix-shadow-card) !important;
}
/* large preview/stage surfaces get the bigger radius */
body #presetStage,
body #page-text-presets .preset-stage,
body #page-expressions .expression-stage,
body #page-graph-editor .graph-stage,
body .reference-pending-preview{
  border-radius: var(--qwix-radius-xl) !important;
}
/* narrow icon rails read as one continuous pill column — pinned to the
   exact same value with a page-id boost on both sides so Text and
   Expressions' rails are pixel-identical, not just "both roundish". */
html body #page-text-presets .preset-icons-card,
html body #page-expressions .expr-v151-presets-card{
  border-radius: 28px !important;
}
body #graphPresetGrid .graph-preset-card,
body .template-preview,
body .template-icon{
  border-radius: var(--qwix-radius-sm) !important;
}

/* ------------------------------------------------------------
   09. Tabs — soft (secondary groupings) vs pill (mode switches)
   ------------------------------------------------------------ */
/* soft: Text Presets/Edit, Saved sub-tabs.
   Every one of these selectors is boosted with its page id (and where
   that still isn't enough to beat a JS-injected <style> appended after
   this file, with #v120App #v120Content too) — page-scoped legacy
   files (ui_graph_v14x.css, ui_saved_v148.css, main_v155.js's class-2
   auto-paint...) all prefix with an id of their own, which out-ranks a
   plain ".foo" selector regardless of load order. */
html body #page-text-presets .text-subtab,
html body #page-colors .saved-subtab{
  border: 1px solid transparent !important;
  border-radius: var(--qwix-radius-md) !important;
  background: transparent !important;
  background-image: none !important;
  color: var(--qwix-ink-tertiary, #7C7266) !important;
  box-shadow: none !important;
  transition: background var(--qwix-dur), color var(--qwix-dur) !important;
}
html body #page-text-presets .text-subtab:hover,
html body #page-colors .saved-subtab:hover{
  background: var(--qwix-surface-hover, #34302A) !important;
  color: var(--qwix-ink-secondary, #B3A99C) !important;
}
html body #page-text-presets .text-subtab.active,
html body #v120App #v120Content #page-colors .saved-subtab.active,
html body #v120App #v120Content #page-colors .saved-subtab.is-active{
  background: var(--qwix-accent-soft-bg, rgba(217,119,87,.12)) !important;
  background-image: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
  color: var(--qwix-accent-soft-ink, #E79367) !important;
  opacity: 1 !important;
}
/* Expression's preset switch (Wiggle/Jump/Bounce/Stretch) is the exact
   same job as Text's preset rail — picking which preset you're editing
   — so it gets the same strong solid-accent treatment as the Text rail
   pills, not the softer sub-tab tint. */
html body #page-expressions .expression-preset-tab{
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  background: transparent !important;
  background-image: none !important;
  color: var(--qwix-ink-tertiary, #7C7266) !important;
  box-shadow: none !important;
  transition: background var(--qwix-dur), color var(--qwix-dur) !important;
}
html body #page-expressions .expression-preset-tab:hover{
  background: var(--qwix-surface-hover, #34302A) !important;
  color: var(--qwix-ink-secondary, #B3A99C) !important;
}
html body #v120App #v120Content #page-expressions .expression-preset-tab.is-active,
html body #v120App #v120Content #page-expressions .expr-v151-custom-btn.is-active{
  background: var(--aptk-primary, #D97757) !important;
  background-image: none !important;
  border-color: transparent !important;
  box-shadow: 0 4px 12px -4px var(--v138-primary-glow, rgba(217,119,87,.5)) !important;
  color: var(--qwix-accent-ink, #241C16) !important;
  opacity: 1 !important;
}

/* pill: Graph Speed/Value switch, Tools split-mode segment */
html body #page-graph-editor .graph-mode-toggle{
  border-radius: var(--qwix-radius-pill) !important;
  background: var(--qwix-surface, #2C2823) !important;
  border: 1px solid var(--qwix-border-subtle) !important;
}
/* Sync W/H and Separate W/H must read as two independent buttons, not two
   halves of one joined pill - no shared background/border on the wrapper. */
html body #page-expressions .expression-scale-mode{
  background: none !important;
  border: none !important;
}
html body #page-graph-editor .graph-mode-btn,
html body #page-expressions .expression-scale-mode-btn,
html body #page-toolkit .segment-btn{
  border-radius: var(--qwix-radius-pill) !important;
  background: transparent !important;
  background-image: none !important;
  border: 1px solid transparent !important;
  color: var(--qwix-ink-tertiary, #7C7266) !important;
  box-shadow: none !important;
  transition: background var(--qwix-dur), color var(--qwix-dur) !important;
}
html body #page-graph-editor .graph-mode-btn:hover,
html body #page-expressions .expression-scale-mode-btn:hover,
html body #page-toolkit .segment-btn:hover{
  background: var(--qwix-surface-hover, #34302A) !important;
  color: var(--qwix-ink-secondary, #B3A99C) !important;
}
html body #v120App #v120Content #page-graph-editor .graph-mode-btn.is-active,
html body #v120App #v120Content #page-graph-editor .graph-mode-btn.active,
html body #v120App #v120Content #page-expressions .expression-scale-mode-btn.is-active,
html body #v120App #v120Content #page-toolkit .segment-btn.active{
  background: var(--aptk-primary, #D97757) !important;
  background-image: none !important;
  color: var(--qwix-accent-ink) !important;
  box-shadow: none !important;
}

/* Saved add-mode pill (Solid / Grad) reuses the pill family */
body .saved-add-toggle{
  border-radius: var(--qwix-radius-pill) !important;
  background: var(--qwix-surface, #2C2823) !important;
  border: 1px solid var(--qwix-border-subtle) !important;
}
body .saved-mode-btn{
  border-radius: var(--qwix-radius-pill) !important;
  background: transparent !important;
  border-color: transparent !important;
  color: var(--qwix-ink-tertiary, #7C7266) !important;
  box-shadow: none !important;
}
body .saved-mode-btn:hover{
  background: var(--qwix-surface-hover, #34302A) !important;
  color: var(--qwix-ink-secondary, #B3A99C) !important;
}
html body #page-colors .saved-mode-btn.active{
  background: var(--aptk-primary, #D97757) !important;
  color: var(--qwix-accent-ink) !important;
}

/* ------------------------------------------------------------
   10. Primary nav (#v120Nav) — strong solid-accent selection,
   squircle on the active item even though the rest stay round.
   ------------------------------------------------------------ */
body #v120Nav.v120-nav{
  border-radius: var(--qwix-radius-pill) !important;
  border: 1px solid var(--qwix-border-subtle) !important;
  background: var(--qwix-surface, #2C2823) !important;
  box-shadow: var(--qwix-shadow-card) !important;
}
body #v120Nav .v120-nav-btn{
  border-radius: var(--qwix-radius-pill) !important;
  color: var(--qwix-ink-tertiary, #7C7266) !important;
  transition: background var(--qwix-dur), color var(--qwix-dur), border-radius var(--qwix-dur) !important;
}
body #v120Nav .v120-nav-btn:hover{
  background: var(--qwix-surface-hover, #34302A) !important;
  color: var(--qwix-ink-secondary, #B3A99C) !important;
}
body #v120Nav .v120-nav-btn.active{
  background: var(--aptk-primary, #D97757) !important;
  color: var(--qwix-accent-ink) !important;
  border-radius: var(--qwix-radius-md) !important;
  box-shadow: 0 4px 12px -4px var(--v138-primary-glow, rgba(217,119,87,.5)) !important;
}
/* Divider ticks: ui_v120.css draws an old right-edge ::after tick
   (unconditionally, on every button) AND ui_v128/ui_v131.css layer a
   newer left-edge ::before tick on top via the "+" adjacent-sibling
   trick (drawn on the RIGHT button, so it's already positioned to be
   hideable without a "previous sibling" selector) — but neither one is
   ever hidden next to an active button, so at narrow panel widths the
   tick visibly overlaps the active squircle on both sides. Some of
   these rules are also re-injected as an inline <style> appended to
   <head> after this file loads, which wins equal-specificity ties on
   source order — so every rule below adds a real #v120App ancestor id
   to reliably out-rank all of them regardless of load timing. */
body #v120App #v120Nav .v120-nav-btn::after{
  content: none !important;
}
body #v120App #v120Nav .v120-nav-btn:first-child::before,
body #v120App #v120Nav .v120-nav-btn.active::before,
body #v120App #v120Nav .v120-nav-btn.active + .v120-nav-btn::before{
  content: none !important;
}

/* ------------------------------------------------------------
   11. Rail Pill — text preset rail (strong solid-accent selection,
   same weight as the primary nav)
   ------------------------------------------------------------ */
body #presetGrid .preset-card,
body .graph-preset-card,
body #graphPresetGrid .graph-preset-card{
  border: 1px solid var(--qwix-border-subtle) !important;
  box-shadow: none !important;
  transition: background var(--qwix-dur), color var(--qwix-dur) !important;
}
body #presetGrid .preset-card:hover:not(.active){
  background: var(--qwix-surface-hover, #34302A) !important;
}
html body #page-text-presets #presetGrid.icon-only-grid .preset-card.active,
html body #page-text-presets #presetGrid .preset-card.active{
  background: var(--aptk-primary, #D97757) !important;
  border-color: transparent !important;
  box-shadow: 0 4px 12px -4px var(--v138-primary-glow, rgba(217,119,87,.5)) !important;
  color: var(--qwix-accent-ink, #241C16) !important;
}
html body #page-text-presets #presetGrid.icon-only-grid .preset-card.active .icon-mini-text,
html body #page-text-presets #presetGrid .preset-card.active .icon-mini-text{
  color: var(--qwix-accent-ink) !important;
}
html body #page-graph-editor .graph-card.active,
html body #page-graph-editor #graphPresetGrid .graph-card.active{
  /* The box-shadow used to duplicate the same 1px ring as border-color,
     directly on top of it - two identical strokes anti-aliasing together
     read as a much bolder/brighter outline than either alone, which is
     the overly strong "highlight" this trims down to a single border. */
  border-color: var(--aptk-primary, #D97757) !important;
  box-shadow: none !important;
}

/* Saved color/gradient/template/font/reference grid items */
body .saved-color-item, body .saved-gradient-item,
body .builtin-saved-color-item, body .builtin-saved-gradient-item,
body .popular-color-btn, body .saved-color-btn,
body .template-card, body .font-card, body .reference-card{
  border: 1px solid var(--qwix-border-subtle) !important;
  border-radius: var(--qwix-radius-sm) !important;
  box-shadow: none !important;
  transition: border-color var(--qwix-dur), background var(--qwix-dur) !important;
}
body .saved-color-item:hover, body .saved-gradient-item:hover,
body .template-card:hover, body .font-card:hover, body .reference-card:hover{
  border-color: rgba(255,255,255,.28) !important;
}
body .template-card.active, body .font-card.active, body .reference-card.active{
  border-color: var(--aptk-primary, #D97757) !important;
  box-shadow: 0 0 0 2px var(--aptk-primary, #D97757) !important;
}

/* ------------------------------------------------------------
   12. Section headers / dividers / eyebrows
   ------------------------------------------------------------ */
body .eyebrow, body .v139-section-title, body .saved-section-title{
  color: var(--qwix-ink-tertiary, #7C7266) !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
}
body .mini-head h2, body h2, body h3{
  color: var(--qwix-ink, #F2EDE6) !important;
}
body .meta-row, body p, body small, body .graph-meta{
  color: var(--qwix-ink-tertiary, #7C7266) !important;
}

/* ------------------------------------------------------------
   13. Scrollbar — thin, rounded, accent thumb
   ------------------------------------------------------------ */
body ::-webkit-scrollbar{ width: 7px !important; height: 7px !important; }
body ::-webkit-scrollbar-track{ background: transparent !important; }
body ::-webkit-scrollbar-thumb{
  background: var(--qwix-surface-raised, #332E27) !important;
  border-radius: var(--qwix-radius-pill) !important;
}
body ::-webkit-scrollbar-thumb:hover{ background: var(--qwix-ink-tertiary, #7C7266) !important; }

/* ------------------------------------------------------------
   14. Tooltip — custom bubble for every [title], native tooltip
   suppressed for the elements a small helper script mirrors onto
   data-aptk-tooltip (see js/qwix_tooltip.js).
   ------------------------------------------------------------ */
[data-aptk-tooltip]{ position: relative !important; }
[data-aptk-tooltip]::after{
  content: attr(data-aptk-tooltip);
  position: absolute;
  left: 50%;
  bottom: calc(100% + 8px);
  transform: translateX(-50%) translateY(4px);
  background: #161412;
  color: var(--qwix-ink, #F2EDE6);
  font-family: var(--qwix-font-ui);
  font-size: 10.5px;
  font-weight: 500;
  white-space: nowrap;
  padding: 6px 9px;
  border-radius: var(--qwix-radius-sm);
  border: 1px solid var(--qwix-border);
  box-shadow: 0 12px 24px -8px rgba(0,0,0,.6);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--qwix-dur), transform var(--qwix-dur);
  z-index: 6000;
}
[data-aptk-tooltip]:hover::after,
[data-aptk-tooltip]:focus-visible::after{
  opacity: 1;
  transform: translateX(-50%) translateY(0);
  transition-delay: 220ms;
}

/* ------------------------------------------------------------
   15. Badges / status
   ------------------------------------------------------------ */
body .expression-toggle-badge{
  color: var(--qwix-ink-tertiary, #7C7266) !important;
}
body .expression-toggle-row.is-active .expression-toggle-badge{
  color: var(--qwix-accent-soft-ink, #E79367) !important;
}
body .split-elements-summary{
  color: var(--qwix-ink-secondary, #B3A99C) !important;
}

/* ------------------------------------------------------------
   16. Disabled state — universal cursor/opacity fallback for
   anything not already covered above
   ------------------------------------------------------------ */
body button:disabled,
body [aria-disabled="true"]{
  cursor: not-allowed !important;
}

/* ------------------------------------------------------------
   17. Cascade safety net.
   A handful of legacy rules hardcode "color:#fff" / an off-white
   "unify the active pill" background at higher specificity than a
   plain class selector (some via static IDs, some via JS-injected
   <style> tags appended to <head> after this file loads, which win
   equal-specificity ties on source order). Rather than editing
   every historical file, the same trick redesign_r2.css itself
   documents is used here: match/exceed the winning selector so
   this stylesheet — the one place all Qwix tokens are defined —
   stays the final word for color.
   ------------------------------------------------------------ */
html body #v120App #v120Content #page-text-presets #applySelectedPresetBtn,
html body #v120App #v120Content #page-graph-editor #applyGraphBtn,
html body #v120App #v120Content #page-expressions #applyObjectWiggleBtn,
html body #v120App #v120Content #page-expressions #applyObjectJumpBtn,
html body #v120App #v120Content #page-expressions #applyObjectPopUpBtn,
html body #v120App #v120Content #page-expressions #applyObjectSpinBtn,
html body #v120App #v120Content #page-expressions #applyObjectBlurBtn,
html body #v120App #v120Content #page-expressions #applyObjectKeyBounceBtn,
html body #v120App #v120Content #page-expressions #applyObjectShapeStretchBtn{
  color: var(--qwix-accent-ink, #241C16) !important;
}
html body #v120App #v120Content #page-expressions .expr-v151-clear-btn,
html body #v120App #v120Content #page-expressions .expr-v153-save-below-menu{
  color: var(--qwix-ink-secondary, #B3A99C) !important;
}
html body #v120App #v120Content #page-expressions .expr-v151-clear-btn:hover,
html body #v120App #v120Content #page-expressions .expr-v153-save-below-menu:hover{
  color: var(--qwix-ink, #F2EDE6) !important;
}
html body #v120App #v120Content #page-colors .saved-subtab.active,
html body #v120App #v120Content #page-colors .saved-subtab.is-active{
  background: var(--qwix-accent-soft-bg, rgba(217,119,87,.12)) !important;
  background-image: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
  color: var(--qwix-accent-soft-ink, #E79367) !important;
  opacity: 1 !important;
}
html body #v120App #v120Content #page-expressions .expression-preset-tab.is-active,
html body #v120App #v120Content #page-expressions .expr-v151-custom-btn.is-active{
  background: var(--aptk-primary, #D97757) !important;
  background-image: none !important;
  border-color: transparent !important;
  box-shadow: 0 4px 12px -4px var(--v138-primary-glow, rgba(217,119,87,.5)) !important;
  color: var(--qwix-accent-ink, #241C16) !important;
  opacity: 1 !important;
}
html body .aptk-custom-select-option.is-active.is-active,
html body .aptk-custom-select-option.is-active.is-active:hover{
  background: var(--qwix-accent-soft-bg, rgba(217,119,87,.12)) !important;
  color: var(--qwix-accent-soft-ink, #E79367) !important;
  font-weight: 700 !important;
}

/* #page-colors (Saved: Colors/Refs/Comps/Fonts) runs its own local
   --sv-* palette (ui_saved_v148.css) completely disconnected from the
   --aptk-* theme engine, hardcoding every .primary-btn on that page to
   flat gray (#303030) with white text and a translateY press — instead
   of patching that parallel system, out-rank it here so Save buttons on
   Colors/Refs/Comps/Fonts read as the same primary action as everywhere
   else. */
html body #v120App #v120Content #page-colors .primary-btn{
  background: var(--aptk-primary, #D97757) !important;
  border-color: rgba(255,255,255,.10) !important;
  box-shadow: var(--qwix-shadow-primary) !important;
  color: var(--qwix-accent-ink, #241C16) !important;
}
html body #v120App #v120Content #page-colors .primary-btn:hover{
  background: var(--qwix-accent-hover, #E2835F) !important;
  color: var(--qwix-accent-ink, #241C16) !important;
}
html body #v120App #v120Content #page-colors .primary-btn:active,
html body #v120App #v120Content #page-colors .secondary-btn:active,
html body #v120App #v120Content #page-colors .saved-mode-btn:active{
  transform: none !important;
}
html body #v120App #v120Content #page-colors .primary-btn:active{
  background: var(--qwix-accent-pressed, #C6673F) !important;
  box-shadow: none !important;
}

/* Graph handle-value chips (x1/y1/x2/y2 readouts) reuse the same chip look. */
html body #page-graph-editor #x1Value,
html body #page-graph-editor #y1Value,
html body #page-graph-editor #x2Value,
html body #page-graph-editor #y2Value{
  display: inline-block !important;
  font-family: var(--qwix-font-mono) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--qwix-accent-soft-ink, #E79367) !important;
  background: var(--qwix-accent-soft-bg, rgba(217,119,87,.12)) !important;
  padding: 2px 7px !important;
  border-radius: var(--qwix-radius-xs) !important;
}

/* ------------------------------------------------------------
   18. Expressions page parity with Text Presets.
   ------------------------------------------------------------ */
/* Bug: at panel widths <=340px, ui_v155.css collapses the Jump preset's
   In/Direction dropdown pair from a 3-column row to a single column,
   so they stack full-width — Text's equivalent row (#v121SmartTopControls,
   In / Up / Letters) has no such breakpoint and always stays a fixed
   3-column row. Fixed with flex instead of a hardcoded 3-column grid:
   Jump only ever populates 2 selects (Mode + Direction), so a fixed
   repeat(3,...) left an empty, unusable third column — flex with
   flex:1 on each row makes however many selects are actually present
   share the full line evenly, matching Text's "always fills the row"
   behaviour regardless of item count. */
html body #page-expressions .expr-v151-quick-row,
html body #page-expressions .expr-v151-quick-row.is-visible{
  display: flex !important;
  grid-template-columns: none !important;
  gap: 10px !important;
  width: 100% !important;
}
html body #page-expressions .expr-v151-quick-row > .smart-select-row{
  flex: 1 1 0 !important;
  min-width: 0 !important;
  width: auto !important;
}
html body #page-expressions .expr-v151-quick-row > .smart-select-row .aptk-custom-select-trigger{
  width: 100% !important;
}
/* The preset rail card itself: Text's rail (.preset-icons-card) is
   painted by the theme engine, but Expression's rail hardcodes its own
   --v152-rail-bg constant (#171719, ui_v152.css) with no link to the
   theme at all — same background/border/radius as Text's rail so the
   two columns read as one component, not two different materials. */
html body #page-expressions .expr-v151-presets-card{
  background: var(--qwix-surface, #2C2823) !important;
  border: 1px solid var(--qwix-border-subtle) !important;
  box-shadow: var(--qwix-shadow-card) !important;
}
/* Inactive preset items: Text's inactive preset-card is transparent —
   only the selected one gets a painted pill, everything else is bare
   text sitting on the rail's own background. Expression's inactive
   tabs were getting a solid surface fill each (from main_155.js's
   auto-paint "class-2" system, which treats every button generically),
   making the whole rail look like a stack of separate buttons instead
   of one list with a single highlighted item — same fix, mirrored. */
html body #v120App #v120Content #page-expressions .expression-preset-tab:not(.is-active){
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* Apply is not attached to the preview: the preview stage/ball and the
   controls card below it (dropdowns → Apply/Clear → sliders) must read
   as two separate groups, exactly like Text's #presetStage vs
   #smartRevealControls. The auto-paint "class-4" system was painting
   .expression-preview-card itself solid (border/shadow, same tone as
   the stage inside it), which visually welded the ball preview and the
   Apply/Clear row into one fused block with no seam. */
html body #v120App #v120Content #page-expressions .expression-preview-card{
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body #page-expressions .expression-preview-card{
  gap: 20px !important;
}

/* Apply/Clear proportions: reuse Text's exact grid formula (flexible
   Apply, a near-fixed ~94px Clear) instead of Expression's own
   minmax(150px,1fr)/minmax(92px,116px) pair, which was floors-first and
   produced a much squarer 1.3:1 ratio versus Text's ~2.2:1. Height is
   also pinned to Text's 38px — Expression's own row sizes both buttons
   to 43px, and a 10px radius on a shorter 38px button reads as visibly
   rounder than the same 10px on a 43px one. */
html body #page-expressions .expression-apply-row-single{
  grid-template-columns: minmax(0,1fr) 94px !important;
  gap: 8px !important;
}
html body #page-expressions .expression-apply-row-single .primary-btn,
html body #page-expressions .expression-apply-action,
html body #page-expressions .expr-v151-clear-btn{
  height: 38px !important;
  min-height: 38px !important;
}
/* Clear's own material: a page-specific ui_v155.css rule was giving
   Expression's Clear a heavy drop shadow (0 4px 10px rgba(0,0,0,.48))
   with only a near-invisible .03-alpha border, the opposite of Text's
   Clear (hairline-only shadow, same .03 border) — same treatment
   forced on both instead of inventing a third one. */
html body #v120App #v120Content #page-text-presets #clearSelectedPresetBtn,
html body #v120App #v120Content #page-expressions .expr-v151-clear-btn,
html body #v120App #v120Content #page-expressions #clearExpressionPresetBtn{
  box-shadow: var(--qwix-shadow-card) !important;
  border-color: var(--qwix-border-subtle) !important;
}

/* Save button — one shared component everywhere "Save" means "store the
   current preset/state to my list": same size, radius, color, weight.
   Add reuses the exact same border/shadow (still its own width/id/
   handler) so Text's own Save+Add pair reads as one family too. */
html body #v120App #v120Content #page-text-presets #saveTextPresetBtn,
html body #v120App #v120Content #page-text-presets #addTextPresetBtn,
html body #v120App #v120Content #page-expressions #saveExpressionPresetBtn{
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 !important;
  border-radius: 19px !important;
  background: var(--qwix-surface, #2C2823) !important;
  border: 1px solid var(--qwix-border) !important;
  color: var(--qwix-ink, #F2EDE6) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}
html body #v120App #v120Content #page-text-presets #saveTextPresetBtn,
html body #v120App #v120Content #page-expressions #saveExpressionPresetBtn{
  width: 56px !important;
}
html body #v120App #v120Content #page-text-presets #saveTextPresetBtn:hover,
html body #v120App #v120Content #page-text-presets #addTextPresetBtn:hover,
html body #v120App #v120Content #page-expressions #saveExpressionPresetBtn:hover{
  background: var(--qwix-surface-hover, #34302A) !important;
  color: var(--qwix-ink, #F2EDE6) !important;
}
html body #v120App #v120Content #page-text-presets #saveTextPresetBtn:active,
html body #v120App #v120Content #page-text-presets #addTextPresetBtn:active,
html body #v120App #v120Content #page-expressions #saveExpressionPresetBtn:active{
  background: var(--qwix-surface-pressed, #282420) !important;
  transform: none !important;
}

/* Preset menu — unselected items are bare text with no button chrome
   at all (no border, dimmed), only the selected one is a filled pill.
   ui_v152.css force-resets Text's own inactive opacity back to 1 with
   a higher-specificity rule than the plain class one, and Expression's
   inactive tabs still carried a faint border from the generic class-2
   auto-paint pass — both cleaned up here, mirrored on both pages. */
html body #page-text-presets #presetGrid.icon-only-grid .preset-card:not(.active),
html body #page-text-presets #presetGrid .preset-card:not(.active){
  opacity: .55 !important;
  border-color: transparent !important;
}
/* Expression's inactive label is an 850-weight <b> at a smaller size —
   heavier strokes cover more of the pixel, so the exact same .55
   opacity still reads as noticeably less dim than Text's 700-weight
   label. Match the weight (root cause) and dim a touch further so the
   two read as equally faded, not just numerically equal. */
html body #page-expressions .expression-preset-tab:not(.is-active){
  opacity: .42 !important;
  border-color: transparent !important;
}
html body #page-expressions .expression-preset-tab:not(.is-active) b{
  font-weight: 700 !important;
}
html body #page-text-presets #presetGrid .preset-card.active,
html body #page-expressions .expression-preset-tab.is-active{
  opacity: 1 !important;
}

/* Hover lift: Text's own base stylesheet already gives .preset-card the
   same translateY(-1px) hover Expression uses, but a later patch
   (ui_v131.css) explicitly zeroed it out for Text only with a higher-
   specificity rule — re-enable it so both rails lift on hover the same
   way instead of just one of them. */
html body #page-text-presets #presetGrid.icon-only-grid .preset-card:not(.active):hover,
html body #page-text-presets #presetGrid .preset-card:not(.active):hover{
  transform: translateY(-1px) !important;
}

/* Graph editor: compact separated Value/Speed buttons. */
html body #v120App #v120Content #page-graph-editor .graph-square-wrap > .graph-mode-toggle{
  display: grid !important;
  grid-template-columns: 24px 24px !important;
  gap: 5px !important;
  width: auto !important;
  min-width: 0 !important;
  height: 22px !important;
  min-height: 22px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

html body #v120App #v120Content #page-graph-editor .graph-square-wrap > .graph-mode-toggle .graph-mode-btn{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  width: 24px !important;
  min-width: 24px !important;
  height: 22px !important;
  min-height: 22px !important;
  padding: 0 !important;
  border-radius: 6px !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  background: rgba(35,32,28,.78) !important;
  background-image: none !important;
  box-shadow: none !important;
  font-size: 8px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  overflow: hidden !important;
  text-align: center !important;
  white-space: nowrap !important;
}

html body #v120App #v120Content #page-graph-editor .graph-square-wrap > .graph-mode-toggle .graph-mode-btn.is-active,
html body #v120App #v120Content #page-graph-editor .graph-square-wrap > .graph-mode-toggle .graph-mode-btn.active{
  background: var(--aptk-primary, #D97757) !important;
  border-color: transparent !important;
  color: var(--qwix-accent-ink, #241C16) !important;
}

html body #v120App #v120Content #page-graph-editor .graph-values-row{
  order: 3 !important;
}

html body #v120App #v120Content #page-graph-editor .graph-apply-wide{
  order: 4 !important;
}

html body #v120App #v120Content #page-graph-editor .hidden-graph-controls{
  order: 99 !important;
}

@media (max-width: 260px){
  html body #v120App #v120Content #page-graph-editor .graph-square-wrap > .graph-mode-toggle{
    grid-template-columns: 22px 22px !important;
    gap: 4px !important;
  }

  html body #v120App #v120Content #page-graph-editor .graph-square-wrap > .graph-mode-toggle .graph-mode-btn{
    width: 22px !important;
    min-width: 22px !important;
    font-size: 7px !important;
  }
}


/* Qwix contrast cleanup: value chips stay soft-tinted, primary actions get contrast ink. */
html body [data-aptk-ui-class="3"][data-aptk-paint="1"],
html body .aptk-ui-class-3[data-aptk-paint="1"],
html body .primary-btn,
html body .expression-apply-action,
html body .graph-apply-wide{
  color: var(--qwix-accent-ink, #241C16) !important;
}

/* ===== css/ui_expr_custom_v1.css ===== */
/* Custom Expression (Expressions > Custom) — additive styles only.
   Reuses existing tokens/classes (.card, .smart-control-row, .expression-scale-mode,
   .secondary-btn, qwix textarea rules) so this stays visually part of the same
   design system instead of introducing a new look. */

/* .mini-head is deliberately display:none on this card in the compact
   layout (ui_v120.css / ui_v155.css), so the toggle lives as its own overlay
   above the stage/code-view instead — the same "small pill switch sitting on
   top of the preview" pattern already used by the Graph page's Speed/Value
   toggle. It is a sibling of .expression-stage and .expr-custom-code-view
   (not a child of either) so it stays visible and clickable no matter which
   of those two is currently shown — otherwise switching to Code view would
   hide the only control that can switch back to Preview. */
html body #page-expressions .expr-custom-stage-wrap {
  position: relative;
}

html body #page-expressions .expr-custom-view-toggle {
  position: absolute;
  z-index: 5;
  top: 8px;
  right: 8px;
  display: flex;
  gap: 5px;
}

html body #page-expressions .expr-custom-view-btn {
  height: 22px;
  min-height: 22px;
  margin: 0;
  padding: 0 9px;
  border-radius: 11px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(20,20,23,.82);
  color: rgba(244,244,245,.72);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: uppercase;
  white-space: nowrap;
}

html body #page-expressions .expr-custom-view-btn.is-active {
  border-color: rgba(244,244,245,.55);
  color: #fff;
}

html body #page-expressions .expr-custom-code-view {
  width: 100%;
  aspect-ratio: 1 / 1;
  min-height: 0;
  max-height: 236px;
  border-radius: 12px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(16,16,19,.98), rgba(9,9,11,.99));
  border: 1px solid rgba(255,255,255,.07);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), inset 0 -10px 18px rgba(0,0,0,.35);
  display: flex;
  flex-direction: column;
}

html body #page-expressions .expr-custom-code-view-label {
  flex: 0 0 auto;
  padding: 8px 10px 4px;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.34);
}

html body #page-expressions .expr-custom-code-view-pre {
  flex: 1 1 auto;
  margin: 0;
  padding: 0 10px 10px;
  overflow: auto;
  scrollbar-width: thin;
  white-space: pre-wrap;
  word-break: break-word;
  font-family: var(--qwix-font-mono, 'IBM Plex Mono', ui-monospace, monospace) !important;
  font-size: 10px;
  line-height: 1.5;
  color: rgba(242,237,230,.92);
}

html body #page-expressions .expr-custom-code-view-pre:empty::before {
  content: "Paste your expression here.";
  color: rgba(255,255,255,.32);
  font-family: var(--qwix-font-ui, 'Inter', sans-serif) !important;
  font-style: normal;
}

html body #page-expressions .expr-custom-input-wrap {
  position: relative;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

html body #page-expressions .expr-custom-textarea {
  display: block;
  width: 100%;
  box-sizing: border-box;
  min-height: 96px;
  max-height: 160px;
  resize: vertical;
  padding: 9px 36px 9px 10px;
  border-radius: 10px;
  background: rgba(255,255,255,.03);
  font-family: var(--qwix-font-mono, 'IBM Plex Mono', ui-monospace, monospace) !important;
  font-size: 10.5px;
  line-height: 1.55;
  letter-spacing: 0 !important;
}

html body #page-expressions .expr-custom-paste-btn {
  position: absolute;
  z-index: 3;
  top: 7px;
  right: 7px;
  width: 24px;
  height: 24px;
  min-width: 24px;
  min-height: 24px;
  padding: 0;
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.09);
  background: rgba(255,255,255,.055);
  color: rgba(255,255,255,.68);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
  cursor: pointer;
}

html body #page-expressions .expr-custom-paste-btn:hover {
  background: rgba(255,255,255,.085);
  color: rgba(255,255,255,.92);
}

html body #page-expressions .expr-custom-paste-btn svg {
  width: 15px;
  height: 15px;
  display: block;
  fill: currentColor;
  pointer-events: none;
}


html body #page-expressions .expr-custom-analyze-row,
html body #page-expressions .expr-custom-vars-list {
  display: none !important;
}

html body #page-expressions .expr-custom-analyze-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
}

html body #page-expressions .expr-custom-analyze-btn {
  flex: 0 0 auto;
  height: 30px;
  padding: 0 14px;
  font-size: 10px;
}

html body #page-expressions .expr-custom-analyze-hint {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 9px;
  font-weight: 700;
  color: rgba(255,255,255,.4);
}

html body #page-expressions .expr-custom-analyze-hint.is-error {
  color: #D18175;
}

html body #page-expressions .expr-custom-analyze-hint.is-ok {
  color: #7E9974;
}

html body #page-expressions .expr-custom-vars-list {
  display: grid;
  gap: 6px;
  margin-top: 8px;
  max-height: 180px;
  overflow: auto;
  scrollbar-width: thin;
}

html body #page-expressions .expr-custom-vars-empty {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 6px 10px;
  border: 1px dashed rgba(255,255,255,.09);
  border-radius: 10px;
  color: rgba(255,255,255,.32);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .02em;
}

html body #page-expressions .expr-custom-var-row {
  padding: 8px;
  border-radius: 11px;
  border: 1px solid rgba(255,255,255,.05);
  background: rgba(255,255,255,.025);
}

html body #page-expressions .expr-custom-var-row label b {
  font-variant-numeric: tabular-nums;
}


html body #page-expressions .expression-warning-note {
  margin: -2px 0 9px;
  padding: 7px 9px;
  border-radius: 10px;
  border: 1px solid rgba(209,129,117,.22);
  background: rgba(209,129,117,.075);
  color: rgba(255,222,214,.82);
  font-size: 9px;
  line-height: 1.35;
  font-weight: 750;
  letter-spacing: .01em;
}

html[data-aptk-mode="suede"] body #page-expressions .expression-warning-note {
  border-color: color-mix(in srgb, var(--qwix-error, #D18175) 26%, transparent);
  background: color-mix(in srgb, var(--qwix-error, #D18175) 10%, transparent);
  color: color-mix(in srgb, var(--qwix-error, #D18175) 72%, #fff 28%);
}

/* Expressions adaptive slider-list polish: keep labels/values inside the list
   while the JS below lets the clipped slider card use the same lower boundary
   logic as the Text page. */
html body #page-expressions .smart-control-row label,
html body #page-expressions .expression-check {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
}

html body #page-expressions .smart-control-row label b,
html body #page-expressions .expression-toggle-badge {
  display: inline-block !important;
  flex: 0 0 auto !important;
  max-width: 48% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html body #page-expressions .expr-custom-var-row,
html body #page-expressions .expr-custom-vars-list,
html body #page-expressions .expression-controls-card,
html body #page-expressions .expression-controls-panel {
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* ===== css/tools_full_panel_layout_v1.css ===== */
/* Tools full-panel layout pass.
   Only reflows existing Tools elements; colors, shadows, radii and the Align panel styling
   continue to come from the plugin's current theme files (qwix_theme.css / qwix_theme_suede.css /
   ui_tools_v146.css etc). This file is purely grid/flex placement. */

html body #page-toolkit .tools-design-page,
html body #page-toolkit .tools-design-v146{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
}

html body #page-toolkit .tools-shell-v146{
  height:100% !important;
  min-height:0 !important;
  display:flex !important;
  flex-direction:column !important;
}

html body #page-toolkit .tools-upper-v146{
  flex:0 0 120px !important;
  min-height:120px !important;
  display:grid !important;
  grid-template-columns:154px minmax(0,1fr) !important;
  gap:8px !important;
  align-items:stretch !important;
}

html body #page-toolkit .tools-anchor-cluster-v146,
html body #page-toolkit .tools-main-actions-v146,
html body #page-toolkit .tools-anchor-grid-wrap-v146{
  height:100% !important;
  min-height:0 !important;
}

html body #page-toolkit .tools-anchor-grid-wrap-v146{
  align-items:stretch !important;
}

html body #page-toolkit .tools-main-actions-v146{
  display:block !important;
  min-width:0 !important;
}

/* Top-right create-layer block: existing buttons only, now stretched into a 2x2 block
   aligned to the Anchor Point Mover height. */
html body #page-toolkit .tools-layers-row-v146{
  position:relative !important;
  height:100% !important;
  min-height:0 !important;
  margin:0 !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  grid-template-rows:repeat(2,minmax(0,1fr)) !important;
  gap:8px !important;
  align-items:stretch !important;
}

html body #page-toolkit .tools-layers-row-v146 .tool-btn-v146{
  height:100% !important;
  min-height:0 !important;
  font-size:11px !important;
}

html body #page-toolkit .tools-layers-row-v146 .tool-swatch-btn-v146{
  position:absolute !important;
  right:8px !important;
  bottom:8px !important;
  width:22px !important;
  height:22px !important;
  min-height:22px !important;
  z-index:2 !important;
}

html body #page-toolkit .tools-layers-row-v146 [data-create-layer="blackSolid"]{
  padding-right:34px !important;
}

/* Main functions: moved below the top block and stretched across the panel width.
   margin-top is 0 here on purpose - the 8px gap to the anchor point section
   lives on .tools-scroll-area-v79 (outside the scrollable content) instead,
   so row 1 sits exactly at scrollTop 0. A gap inside the scrollable content
   is not a fixed point under scroll-snap: snapping to row 1's actual start
   pulls scrollTop away from 0 and eats the gap the moment the page loads. */
html body #page-toolkit .tools-functions-v146{
  flex:1 1 auto !important;
  min-height:0 !important;
  margin-top:0 !important;
  display:grid !important;
  grid-template-rows:minmax(42px,1fr) minmax(42px,1fr) !important;
  gap:8px !important;
  align-items:stretch !important;
}

html body #page-toolkit .tools-functions-v146 .tools-row-v146{
  margin:0 !important;
  min-height:0 !important;
  height:100% !important;
  align-items:stretch !important;
}

html body #page-toolkit .tools-functions-v146 .tools-actions-row-v146{
  grid-template-columns:repeat(4,minmax(0,1fr)) 42px !important;
}

html body #page-toolkit .tools-functions-v146 .tools-bottom-buttons-row-v146{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  max-width:100% !important;
}

html body #page-toolkit .tools-functions-v146 .tool-btn-v146,
html body #page-toolkit .tools-functions-v146 .tool-stepper-v146{
  height:100% !important;
  min-height:42px !important;
}

html body #page-toolkit .tools-functions-v146 .tools-actions-row-v146 .tool-btn-v146,
html body #page-toolkit .tools-functions-v146 .tools-bottom-buttons-row-v146 .tool-btn-v146{
  font-size:8.6px !important;
  line-height:1.08 !important;
}

html body #page-toolkit .tools-functions-v146 .tool-stepper-v146{
  width:100% !important;
}

html body #page-toolkit .tools-functions-v146 .tools-inline-options-v146{
  margin-top:0 !important;
}

@media (max-width:330px){
  html body #page-toolkit .tools-upper-v146{
    flex-basis:102px !important;
    min-height:102px !important;
    grid-template-columns:126px minmax(0,1fr) !important;
    gap:7px !important;
  }

  html body #page-toolkit .tools-layers-row-v146{
    gap:6px !important;
  }

  html body #page-toolkit .tools-layers-row-v146 .tool-btn-v146{
    font-size:8.5px !important;
  }

  html body #page-toolkit .tools-layers-row-v146 .tool-swatch-btn-v146{
    right:6px !important;
    bottom:6px !important;
    width:18px !important;
    height:18px !important;
    min-height:18px !important;
  }

  html body #page-toolkit .tools-layers-row-v146 [data-create-layer="blackSolid"]{
    padding-right:27px !important;
  }

  html body #page-toolkit .tools-functions-v146{
    margin-top:0 !important;
    gap:7px !important;
    grid-template-rows:minmax(34px,1fr) minmax(34px,1fr) !important;
  }

  html body #page-toolkit .tools-functions-v146 .tools-actions-row-v146{
    grid-template-columns:repeat(4,minmax(0,1fr)) 34px !important;
  }

  html body #page-toolkit .tools-functions-v146 .tool-btn-v146,
  html body #page-toolkit .tools-functions-v146 .tool-stepper-v146{
    min-height:34px !important;
  }

  html body #page-toolkit .tools-functions-v146 .tools-actions-row-v146 .tool-btn-v146,
  html body #page-toolkit .tools-functions-v146 .tools-bottom-buttons-row-v146 .tool-btn-v146{
    font-size:6.6px !important;
    line-height:1.02 !important;
  }
}

/* ===== css/qwix_theme_suede.css ===== */
/* ============================================================
   QWIX SUEDE — light theme pass.

   Loaded last. Everything here is scoped under
   html[data-aptk-mode="suede"] (the mode attribute js/qwix_theme_mode.js
   sets on <html>), except the appearance switch itself, which must
   render correctly in both modes.

   Background/surface/accent roles come through Style Lab's existing
   engine (js/qwix_theme_mode.js seeds it with a Suede 5-color set) —
   this file only supplies the "fixed" ink/border/shadow tokens
   qwix_theme.css hardcodes for a dark canvas (Style Lab never
   touches those), plus targeted patches for legacy per-page rules
   that hardcode white text/borders instead of using the qwix tokens.
   ============================================================ */

/* ------------------------------------------------------------
   -1. Hover tooltips — removed app-wide, both themes. qwix_theme.css
   draws a dark bubble via [data-aptk-tooltip]::after on hover/focus
   for every element js/qwix_tooltip.js mirrors a [title] onto; user
   asked for these gone everywhere, not just in Suede.
   ------------------------------------------------------------ */
[data-aptk-tooltip]:hover::after,
[data-aptk-tooltip]:focus-visible::after{
  display: none !important;
}

/* ------------------------------------------------------------
   00. Appearance switch (Settings page) — mode-agnostic
   ------------------------------------------------------------ */
/* .v139-settings-wrap is a row flexbox built for exactly one centered
   card (main_v139.js's own Style Lab card) — adding a second card
   ahead of it needs the wrap to stack instead of going side-by-side. */
body #page-settings .v139-settings-wrap{ flex-direction: column !important; align-items: center !important; }
body #page-settings .v139-settings-wrap > .v139-settings-card{ width: 100% !important; }
.aptk-appearance-card{ margin-bottom: 14px !important; }
.aptk-mode-switch{ display:flex; gap:8px; margin-top:2px; }
.aptk-mode-btn{
  flex:1; height:36px; border-radius:12px;
  border:1px solid var(--qwix-border, rgba(255,255,255,.14));
  background: var(--qwix-surface, #2c2823);
  color: var(--qwix-ink-secondary, #b3a99c);
  font-family: var(--qwix-font-ui);
  font-size:11.5px; font-weight:700; cursor:pointer;
  transition: background .14s, color .14s, box-shadow .14s;
}
.aptk-mode-btn:hover:not(.is-active){
  background: var(--qwix-surface-hover, #34302a);
  color: var(--qwix-ink, #f2ede6);
}
.aptk-mode-btn.is-active{
  background: var(--aptk-primary, #d97757);
  color: var(--qwix-accent-ink, #241c16);
  box-shadow: var(--qwix-shadow-primary);
  border-color: transparent;
}
/* main_v155.js's DOM-wide auto-paint sweep classifies this button
   generically (aptk-ui-class-2/[data-aptk-paint="1"]) and its exhaustive
   hierarchy CSS force-fills that at high specificity — needs to be
   out-ranked explicitly rather than relying on the plain rule above. */
html body .aptk-mode-btn.is-active,
html body [data-aptk-ui-class="2"].aptk-mode-btn.is-active,
html body [data-aptk-ui-class="2"][data-aptk-paint="1"].aptk-mode-btn.aptk-mode-btn.is-active.is-active{
  background: var(--aptk-primary, #d97757) !important;
  background-image: none !important;
  color: var(--qwix-accent-ink, #241c16) !important;
  border-color: transparent !important;
}

/* ------------------------------------------------------------
   01. Fixed ink/border/shadow tokens qwix_theme.css hardcodes
   for a dark canvas — Style Lab never sets these, so they need
   their own light-mode values here.
   ------------------------------------------------------------ */
html[data-aptk-mode="suede"]{
  --qwix-border: rgba(61,53,39,.18);
  --qwix-border-subtle: rgba(61,53,39,.10);
  --qwix-accent-ink: #241a0c;
  --qwix-success: #4f7d46;
  --qwix-error: #b14e3f;
  --qwix-ink: #3d3527;
  --qwix-ink-secondary: #6e624e;
  --qwix-ink-tertiary: #9a8c71;
  --qwix-ink-disabled: #bcb093;

  --qwix-shadow-primary: 0 8px 18px -8px var(--v138-primary-glow, rgba(166,124,66,.4)), inset 0 1px 0 rgba(255,255,255,.15);
  --qwix-shadow-primary-hover: 0 10px 22px -8px var(--v138-primary-glow, rgba(166,124,66,.5)), inset 0 1px 0 rgba(255,255,255,.18);
  --qwix-shadow-card: inset 0 1px 0 rgba(255,255,255,.6), 0 8px 16px -12px rgba(70,55,30,.35);

  /* Skeuomorphic "Warm Suede" material set — matches the qwix_layout12
     mockup 1:1: soft raised gradient chrome on buttons/selects/cards,
     a recessed inset look for stage/preview surfaces and slider
     grooves, a dedicated dark "active selection" chip (distinct from
     the caramel primary-action accent) for nav/rail/tab selection. */
  --qwix-grad-raised: linear-gradient(160deg, #f0e4cc, var(--qwix-surface, #e8dcc4));
  --qwix-shadow-raised: 0 1px 0 rgba(255,255,255,.6) inset, 0 4px 10px -8px rgba(70,55,30,.35);
  --qwix-shadow-raised-lg: 0 1px 0 rgba(255,255,255,.6) inset, 0 8px 16px -10px rgba(70,55,30,.4);
  --qwix-shadow-recessed: inset 0 3px 6px rgba(90,70,35,.22), inset 0 -1px 0 rgba(255,255,255,.4);
  --qwix-shadow-groove: inset 0 2px 5px rgba(90,70,35,.3);
  --qwix-grad-accent: linear-gradient(160deg, #be9257, var(--aptk-primary, #a67c42));
  --qwix-grad-accent-hover: linear-gradient(160deg, #c99e63, var(--qwix-accent-hover, #be9257));
  --qwix-shadow-accent: 0 5px 12px -4px rgba(166,124,66,.55), inset 0 1px 0 rgba(255,255,255,.35);
  --qwix-grad-active: linear-gradient(160deg, #3c3420, #2e2818);
  --qwix-shadow-active: 0 3px 6px -1px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.12);
  --qwix-active-chip-ink: #f0e8d4;
  --qwix-grad-handle: linear-gradient(160deg, #faf3e4, #e4d3ae);
  --qwix-handle-border: rgba(90,70,35,.3);
  --qwix-shadow-handle: 0 2px 5px rgba(70,55,30,.4), inset 0 1px 0 rgba(255,255,255,.7);
}

/* ------------------------------------------------------------
   01b. main_v139.js's own hardcoded-white generic token set.
   aptk-text, aptk-muted, aptk-edge (and the v138 roots they chain
   from) back nearly every plain button/tab/hint label
   across the legacy per-page files below, always as a literal
   white regardless of Style Lab's 5 picked colors. --v138-text and
   --v138-edge/--v138-edge-strong are also set inline on <html> by
   main_v139.js's applyTheme() on every reload/edit — inline wins
   over any external rule at equal importance, so those three need
   !important here to actually take over; the rest just need to
   out-specificity a plain :root selector, which html[attr] already
   does, but !important is added throughout for one consistent,
   race-proof rule.
   ------------------------------------------------------------ */
html[data-aptk-mode="suede"]{
  --aptk-text: #3d3527 !important;
  --aptk-muted: rgba(61,53,39,.55) !important;
  --aptk-muted-strong: rgba(61,53,39,.72) !important;
  --aptk-edge: rgba(61,53,39,.12) !important;
  --aptk-edge-strong: rgba(61,53,39,.18) !important;
  --v138-text: #3d3527 !important;
  --v138-edge: rgba(61,53,39,.10) !important;
  --v138-edge-strong: rgba(61,53,39,.16) !important;
  --v138-muted: rgba(61,53,39,.55) !important;
  --v138-muted-soft: rgba(61,53,39,.30) !important;
  --v152-text: #3d3527 !important;
  --v152-muted: rgba(61,53,39,.42) !important;
  --v152-muted-hover: rgba(61,53,39,.62) !important;
}

/* Same story, but these local palettes are declared on the page
   section itself (#page-toolkit/#page-graph-editor/#page-colors),
   not :root — an ancestor-level override wouldn't reach them, since
   the page element's own declaration for that custom property
   always wins over an inherited one regardless of the ancestor's
   importance. Each needs the override scoped to that same element. */
html[data-aptk-mode="suede"] #page-toolkit{
  --t-text: #3d3527 !important;
  --t-muted: rgba(61,53,39,.55) !important;
  --t146-text: #3d3527 !important;
  --t146-muted: rgba(61,53,39,.55) !important;
  --t-bg: #e6dac3 !important;
  --t-panel: #e8dcc4 !important;
  --t-dark: #d9cbae !important;
  --t-key: #e8dcc4 !important;
  --t-key-hi: #f0e4cc !important;
  --t146-bg: #e6dac3 !important;
  --t146-surface: #e8dcc4 !important;
  --t146-surface-2: #f0e4cc !important;
}
html[data-aptk-mode="suede"] #page-graph-editor{
  --g-text: #3d3527 !important;
  --g-muted: rgba(61,53,39,.55) !important;
  --g-muted-soft: rgba(61,53,39,.32) !important;
  --g-bg: #e6dac3 !important;
  --g-surface: #e8dcc4 !important;
}
html[data-aptk-mode="suede"] #page-colors{
  --sv-text: #3d3527 !important;
  --sv-muted: rgba(61,53,39,.55) !important;
  --sv-soft: rgba(61,53,39,.32) !important;
  --sv-bg: #e6dac3 !important;
  --sv-panel: #e8dcc4 !important;
  --sv-panel-2: #f0e4cc !important;
  --sv-key: #e8dcc4 !important;
  --sv-key-2: #f0e4cc !important;
}

/* A handful of inputs/chips hardcode #202020 directly (not via any
   --sv-*/--t-* token) for their "recessed dark well" background. */
html[data-aptk-mode="suede"] body #page-colors .user-color-picker,
html[data-aptk-mode="suede"] body #page-toolkit .align-target-select,
html[data-aptk-mode="suede"] body #page-toolkit .duplicate-precomps-checkbox,
html[data-aptk-mode="suede"] body #page-toolkit .camera-rig-null-count{
  background: var(--qwix-surface-pressed, #d9cbae) !important;
}

/* ------------------------------------------------------------
   02. Legacy hardcoded white text/borders — patched to the ink
   scale. Radii/layout untouched; color/border-color only.
   ------------------------------------------------------------ */
html[data-aptk-mode="suede"] body{
  color: var(--qwix-ink);
}
/* A runtime-injected <style> (appended to <head> after every other
   stylesheet, so it wins any equal-specificity/!important tie by
   source order) hardcodes white for every plain heading/label/strong
   app-wide — needs a real specificity edge to beat, which the
   html[data-aptk-mode] attribute selector provides regardless of
   injection order. */
html[data-aptk-mode="suede"] body h1,
html[data-aptk-mode="suede"] body h2,
html[data-aptk-mode="suede"] body h3,
html[data-aptk-mode="suede"] body h4,
html[data-aptk-mode="suede"] body strong,
html[data-aptk-mode="suede"] body label,
html[data-aptk-mode="suede"] body #page-settings h2,
html[data-aptk-mode="suede"] body #page-settings strong{ color: var(--qwix-ink) !important; }
/* Rail action button hint text (Save/Add's ".ffx" sub-label) hardcodes
   a near-white rgba(242,244,247,.32) — invisible on a light chip. */
html[data-aptk-mode="suede"] body small,
html[data-aptk-mode="suede"] body #page-text-presets .v121-text-rail-actions .text-small-btn small,
html[data-aptk-mode="suede"] body .rail-btn small{ color: var(--qwix-ink-tertiary) !important; }

/* Top nav + tab bars */
html[data-aptk-mode="suede"] body .v120-nav-btn{ color: var(--qwix-ink-tertiary) !important; }
html[data-aptk-mode="suede"] body .v120-nav-btn:hover{ color: var(--qwix-ink-secondary) !important; }
html[data-aptk-mode="suede"] body #tabbar.compact-tabbar .tab-btn{ color: var(--qwix-ink-tertiary) !important; }
html[data-aptk-mode="suede"] body .v120-section-title,
html[data-aptk-mode="suede"] body .v139-kicker,
html[data-aptk-mode="suede"] body .v139-section-title{ color: var(--qwix-ink-tertiary) !important; }

/* Slider / control labels (Text presets, Expressions, Settings).
   redesign_r2.js's dark-theme injected <style> hardcodes #F2EDE6 (near-
   white) via a triple-ID chain (html body #v120App #v120Content #page-X
   .smart-control-row label) — that beats a plain-class suede selector
   on ID count alone even with !important, so this override must repeat
   the same ID chain (see the sibling "label b" rule below, which
   already does this correctly). */
html[data-aptk-mode="suede"] body .smart-control-row label,
html[data-aptk-mode="suede"] body #page-text-presets .smart-control-row label,
html[data-aptk-mode="suede"] body .v139-slider-row label,
html[data-aptk-mode="suede"] body #page-settings .v139-slider-row label,
html[data-aptk-mode="suede"] body #v120App #v120Content #page-text-presets .smart-control-row label,
html[data-aptk-mode="suede"] body #v120App #v120Content #page-expressions .smart-control-row label,
html[data-aptk-mode="suede"] body #v120App #v120Content #page-graph-editor .smart-control-row label{ color: var(--qwix-ink) !important; }
html[data-aptk-mode="suede"] body #v120App #v120Content #page-text-presets #v124CustomSliderCard .custom-ffx-note{
  color: var(--qwix-ink-tertiary) !important;
}
html[data-aptk-mode="suede"] body .smart-control-row label b,
html[data-aptk-mode="suede"] body #page-text-presets .smart-control-row label b,
html[data-aptk-mode="suede"] body #page-expressions .smart-control-row label b,
html[data-aptk-mode="suede"] body #x1Value,
html[data-aptk-mode="suede"] body #y1Value,
html[data-aptk-mode="suede"] body #x2Value,
html[data-aptk-mode="suede"] body #y2Value,
html[data-aptk-mode="suede"] body #v120App #v120Content #page-text-presets .smart-control-row label b,
html[data-aptk-mode="suede"] body #v120App #v120Content #page-expressions .smart-control-row label b,
html[data-aptk-mode="suede"] body #v120App #v120Content #page-graph-editor #x1Value,
html[data-aptk-mode="suede"] body #v120App #v120Content #page-graph-editor #y1Value,
html[data-aptk-mode="suede"] body #v120App #v120Content #page-graph-editor #x2Value,
html[data-aptk-mode="suede"] body #v120App #v120Content #page-graph-editor #y2Value{ color: var(--qwix-accent-soft-ink, #6e4e22) !important; background: var(--qwix-accent-soft-bg, rgba(166,124,66,.12)) !important; box-shadow:none !important; }

/* Expressions "affect Position/Scale/Opacity/Rotation" checkbox labels —
   ui_v155.css's #page-expressions-id-scoped rule hardcodes near-white
   rgba(241,242,244,.94), beating the generic suede `body label` rule
   on ID count; needs the same #page-expressions id repeated here. */
html[data-aptk-mode="suede"] body #page-expressions .expression-check{ color: var(--qwix-ink) !important; }

/* Range sliders: main_v139.js/redesign_r2.js inject a <style> tag
   into <head> (at runtime, later than this stylesheet's <link>)
   that paints the track with a hardcoded #D97757/#332E27 gradient —
   equal specificity to that injected rule would lose on source
   order, so this needs a real specificity edge, which the
   html[data-aptk-mode] attribute selector provides. */
html[data-aptk-mode="suede"] #page-text-presets input[type="range"],
html[data-aptk-mode="suede"] #page-graph-editor input[type="range"],
html[data-aptk-mode="suede"] #page-toolkit input[type="range"],
html[data-aptk-mode="suede"] #page-colors input[type="range"],
html[data-aptk-mode="suede"] #page-expressions input[type="range"],
html[data-aptk-mode="suede"] #page-settings input[type="range"],
html[data-aptk-mode="suede"] body input[type="range"]{
  /* Dark theme's own track (redesign_r2.js) paints a thin 4px bar
     centered in the (much taller, 16px) hit-area via this exact
     "position / size no-repeat" suffix — filling the full element
     height instead (no suffix = covers the whole box) is what made
     the track read as a thick slab and, combined with an inset
     box-shadow, produced a visible seam across the middle. Match
     dark theme's thin-bar sizing exactly, no added shadow. */
  background: linear-gradient(90deg, var(--qwix-detail, var(--aptk-detail)) 0%, var(--qwix-detail, var(--aptk-detail)) var(--range-fill,0%), var(--qwix-surface-pressed, #d9cbae) var(--range-fill,0%), var(--qwix-surface-pressed, #d9cbae) 100%) 0 50% / 100% 4px no-repeat !important;
  box-shadow: none !important;
  /* ui_v155.css sets accent-color on every range input for its own
     reasons, but Chromium still paints a faint native fill line from
     it even with -webkit-appearance:none on both the input and the
     thumb — visible as a stray band across the middle of the custom
     track. Neutralize it; the actual fill is drawn entirely via the
     background gradient above. */
  accent-color: transparent !important;
}

/* Animated Text-preset preview letters. A runtime-injected <style>
   (from the preview renderer) sets these with a #page-text-presets
   #presetStage double-ID selector — needs matching ID weight here. */
html[data-aptk-mode="suede"] #page-text-presets #presetStage .smart-preview-text,
html[data-aptk-mode="suede"] #page-text-presets #presetStage .smart-preview-text *,
html[data-aptk-mode="suede"] body .smart-preview-text,
html[data-aptk-mode="suede"] body .smart-piece{ color: var(--qwix-ink) !important; }

/* Preset rail labels (Text presets icon grid). An inline runtime-injected
   rule (`body #page-text-presets #presetGrid .preset-card .icon-mini-text
   { color: var(--aptk-muted) }`) carries 2 ID selectors and beats the
   plain 1-ID rule below on ID count alone even with !important — this
   was rendering as near-invisible translucent ink (WR/SB/WB/... rail
   labels). Add a matching-ID-weight :not(.active) override so it wins
   without also overriding the dedicated active-chip color rule below. */
html[data-aptk-mode="suede"] body #presetGrid .icon-mini-text{ color: var(--qwix-ink-secondary) !important; }
html[data-aptk-mode="suede"] body #page-text-presets #presetGrid .preset-card:not(.active) .icon-mini-text{ color: var(--qwix-ink-secondary) !important; }
html[data-aptk-mode="suede"] body #presetGrid .preset-card.active .icon-mini-text{ color: var(--qwix-accent-ink) !important; }

/* Native inputs/selects that hardcode a dark fill + white text */
html[data-aptk-mode="suede"] body input[type="text"],
html[data-aptk-mode="suede"] body input[type="number"],
html[data-aptk-mode="suede"] body input[type="date"],
html[data-aptk-mode="suede"] body select,
html[data-aptk-mode="suede"] body .modal-input,
html[data-aptk-mode="suede"] body #page-text-presets .smart-select-row select{
  background: var(--qwix-surface) !important;
  color: var(--qwix-ink) !important;
  border-color: var(--qwix-border) !important;
}
html[data-aptk-mode="suede"] body .smart-select-row option,
html[data-aptk-mode="suede"] body select option,
html[data-aptk-mode="suede"] body #page-text-presets .v121-smart-top-controls select,
html[data-aptk-mode="suede"] body #page-text-presets .v121-smart-top-controls select option{ background: var(--qwix-surface) !important; color: var(--qwix-ink) !important; }

/* Tools page "Cam + Nulls" count stepper input — ui_tools_v146.css scopes
   its own near-white text color with a #page-toolkit id, beating the
   generic suede input rule above (0 ids) on id count alone. */
html[data-aptk-mode="suede"] body #page-toolkit .tool-stepper-v146 input{ color: var(--qwix-ink) !important; }

/* main_v139.js's runtime-injected <style> (see note above) also
   hardcodes a few literal #fff spots this token-level fix doesn't
   reach: generic button/card hover text, Graph's active-card label,
   and the Settings page's per-slider value badge. */
html[data-aptk-mode="suede"] body .secondary-btn:hover,
html[data-aptk-mode="suede"] body .tool-btn:hover,
html[data-aptk-mode="suede"] body .square-btn:hover,
html[data-aptk-mode="suede"] body .segment-btn:hover,
html[data-aptk-mode="suede"] body .graph-card.active{ color: var(--qwix-ink) !important; }
html[data-aptk-mode="suede"] body .v139-slider-row label b{ color: var(--qwix-accent-soft-ink, #6e4e22) !important; }
html[data-aptk-mode="suede"] body .v139-preview-accent span{ background: var(--aptk-detail) !important; }

/* Graph editor: mode toggle + apply button text, meta labels */
html[data-aptk-mode="suede"] body .graph-mode-toggle .graph-mode-btn.is-active,
html[data-aptk-mode="suede"] body .graph-mode-btn.is-active,
html[data-aptk-mode="suede"] body .graph-title{ color: var(--qwix-accent-ink) !important; }
html[data-aptk-mode="suede"] body .graph-apply-wide{ color: var(--qwix-accent-ink) !important; }
/* qwix_theme.css's compact V/S toggle (section 18) hardcodes a
   near-black chip background regardless of theme, assuming a dark
   canvas around it. */
html[data-aptk-mode="suede"] body #v120App #v120Content #page-graph-editor .graph-square-wrap > .graph-mode-toggle .graph-mode-btn{
  background: var(--qwix-surface-raised, #f0e4cc) !important;
  border-color: var(--qwix-border) !important;
  color: var(--qwix-ink-secondary) !important;
}

/* Tools page: icon buttons, function grid, segment pills — all
   hardcode rgba(244,244,245,X) literals (not routed through --t-*
   tokens), per ui_tools_v145.css/ui_tools_v146.css. */
html[data-aptk-mode="suede"] body #page-toolkit .align-grid button,
html[data-aptk-mode="suede"] body #page-toolkit .large-function-btn,
html[data-aptk-mode="suede"] body #page-toolkit .layer-name-btn,
html[data-aptk-mode="suede"] body #page-toolkit .segment-btn,
html[data-aptk-mode="suede"] body #page-toolkit .custom-tool-btn{
  color: var(--qwix-ink-secondary) !important;
}
html[data-aptk-mode="suede"] body #page-toolkit .tool-placeholder-btn{ color: var(--qwix-ink-disabled) !important; }
html[data-aptk-mode="suede"] body #page-toolkit .split-mode-inline .segment-btn{ color: var(--qwix-ink-tertiary) !important; }
html[data-aptk-mode="suede"] body #page-toolkit .segment-btn.active{
  color: var(--qwix-accent-ink) !important;
  background: var(--aptk-primary) !important;
  border-color: transparent !important;
}
html[data-aptk-mode="suede"] body #page-toolkit .square-btn:hover,
html[data-aptk-mode="suede"] body #page-toolkit .align-action-btn:hover,
html[data-aptk-mode="suede"] body #page-toolkit .large-function-btn:hover,
html[data-aptk-mode="suede"] body #page-toolkit .layer-name-btn:hover,
html[data-aptk-mode="suede"] body #page-toolkit .custom-tool-btn:hover,
html[data-aptk-mode="suede"] body #page-toolkit .custom-tool-btn:hover,
html[data-aptk-mode="suede"] body #page-toolkit .tools-inline-options-v146 .segment-btn.active{
  color: var(--qwix-ink) !important;
  border-color: var(--qwix-border) !important;
}

/* Saved/Colors page: font previews, saved-item labels, hints */
html[data-aptk-mode="suede"] body #page-colors .font-preview,
html[data-aptk-mode="suede"] body #page-colors .saved-section-title{ color: var(--qwix-ink) !important; }
html[data-aptk-mode="suede"] body #page-colors .user-color-input::placeholder{ color: var(--qwix-ink-disabled) !important; }
html[data-aptk-mode="suede"] body #page-colors .colors-library-hint,
html[data-aptk-mode="suede"] body #page-colors #savedColorStatus,
html[data-aptk-mode="suede"] body #page-colors #savedGradientStatus,
html[data-aptk-mode="suede"] body #page-colors #savedReferenceStatus,
html[data-aptk-mode="suede"] body #page-colors #savedCompsStatus,
html[data-aptk-mode="suede"] body #page-colors #savedFontsStatus,
html[data-aptk-mode="suede"] body #page-colors .template-name,
html[data-aptk-mode="suede"] body #page-colors .template-date,
html[data-aptk-mode="suede"] body #page-colors .font-name,
html[data-aptk-mode="suede"] body #page-colors .font-meta{ color: var(--qwix-ink-tertiary) !important; }
/* ui_saved_v148.css hardcodes rgba(244,244,245,.76) for the Solid/Grad
   toggle (and reuses the same rule for primary/secondary buttons on
   this page) with an #page-colors id boost that beats the plain
   qwix_theme.css token rule. */
html[data-aptk-mode="suede"] body #page-colors .saved-mode-btn,
html[data-aptk-mode="suede"] body #page-colors .primary-btn,
html[data-aptk-mode="suede"] body #page-colors .secondary-btn{ color: var(--qwix-ink-tertiary) !important; }
html[data-aptk-mode="suede"] body #page-colors .saved-mode-btn.active,
html[data-aptk-mode="suede"] body #page-colors .primary-btn{ color: var(--qwix-accent-ink) !important; }

/* Split page: every label/meta/status text is a one-off literal
   rgba(244,244,245,X) (no shared local token to override once, per
   split-page.css). */
html[data-aptk-mode="suede"] body #page-split,
html[data-aptk-mode="suede"] body .expr-v1-hint,
html[data-aptk-mode="suede"] body #page-expressions .expression-toggle-badge{ color: var(--qwix-ink-tertiary) !important; }
html[data-aptk-mode="suede"] body #page-expressions .expression-toggle-row.is-active .expression-toggle-badge{ color: var(--qwix-accent-soft-ink, #6e4e22) !important; }
html[data-aptk-mode="suede"] body #page-expressions .expr-custom-analyze-hint,
html[data-aptk-mode="suede"] body #page-expressions .expr-custom-vars-empty{ color: var(--qwix-ink-tertiary) !important; }
html[data-aptk-mode="suede"] body #page-expressions .expr-custom-analyze-hint.is-error{ color: var(--qwix-error) !important; }
html[data-aptk-mode="suede"] body #page-expressions .expr-custom-analyze-hint.is-ok{ color: var(--qwix-success) !important; }
html[data-aptk-mode="suede"] body #page-split .split-mode-field span,
html[data-aptk-mode="suede"] body #page-split .split-field span,
html[data-aptk-mode="suede"] body #page-split .split-analysis-eta,
html[data-aptk-mode="suede"] body #page-split .split-radial-label em,
html[data-aptk-mode="suede"] body #page-split .split-inspector-meta,
html[data-aptk-mode="suede"] body #page-split .split-inspector-note,
html[data-aptk-mode="suede"] body #page-split .split-meta-row,
html[data-aptk-mode="suede"] body #page-split #splitStatusText{ color: var(--qwix-ink-tertiary) !important; }
html[data-aptk-mode="suede"] body #page-split .split-analysis-detail,
html[data-aptk-mode="suede"] body #page-split .split-inspector-title{ color: var(--qwix-ink) !important; }
html[data-aptk-mode="suede"] body #page-split .split-elements-summary{ color: var(--qwix-ink-secondary) !important; }

/* Generic border-color safety net for hairline borders hardcoded as
   translucent white (meant to read as "light line on dark surface") */
html[data-aptk-mode="suede"] body .card,
html[data-aptk-mode="suede"] body .preview-card,
html[data-aptk-mode="suede"] body input,
html[data-aptk-mode="suede"] body select,
html[data-aptk-mode="suede"] body textarea{
  border-color: var(--qwix-border-subtle);
}

/* ============================================================
   03. Material treatment — matches qwix_layout12's "Warm Suede"
   mockup 1:1: soft raised gradient chrome, recessed stage/groove
   surfaces, a dedicated dark "active selection" chip distinct from
   the caramel primary-action accent. Selectors mirror qwix_theme.css
   and its runtime-injected <style> counterparts exactly (with the
   html[data-aptk-mode] prefix added for the specificity edge needed
   to win) so nothing about layout/structure changes, only material.
   ============================================================ */

/* --- Nav bar: raised gradient chrome, dark chip on the active icon --- */
html[data-aptk-mode="suede"] body #v120Nav.v120-nav{
  background: var(--qwix-grad-raised) !important;
  border-radius: 14px !important;
  box-shadow: var(--qwix-shadow-raised-lg) !important;
}
html[data-aptk-mode="suede"] body #v120Nav .v120-nav-btn.active,
html[data-aptk-mode="suede"] body #v120App #v120Nav .v120-nav-btn.active{
  background: var(--qwix-grad-active) !important;
  color: var(--qwix-active-chip-ink) !important;
  border-radius: 9px !important;
  box-shadow: var(--qwix-shadow-active) !important;
}

/* --- Radii: qwix_theme.css's own radius scale (10/14/18/999px pill)
   doesn't match the mockup's values component-for-component — pin
   each to the exact mockup number instead of reusing the nearest
   qwix token. */
html[data-aptk-mode="suede"] body #page-text-presets #presetGrid .preset-card,
html[data-aptk-mode="suede"] body #page-text-presets #presetGrid.icon-only-grid .preset-card,
html[data-aptk-mode="suede"] body #page-expressions .expression-preset-tab{ border-radius: 8px !important; }
html[data-aptk-mode="suede"] body #v120App #v120Content #page-text-presets #saveTextPresetBtn,
html[data-aptk-mode="suede"] body #v120App #v120Content #page-text-presets #addTextPresetBtn,
html[data-aptk-mode="suede"] body #v120App #v120Content #page-expressions #saveExpressionPresetBtn{ border-radius: 10px !important; }
html[data-aptk-mode="suede"] body #page-text-presets #presetStage,
html[data-aptk-mode="suede"] body #page-text-presets .preset-stage,
html[data-aptk-mode="suede"] body #page-expressions .expression-stage,
html[data-aptk-mode="suede"] body #page-graph-editor .graph-stage{ border-radius: 14px !important; }
html[data-aptk-mode="suede"] body #page-text-presets #v124SliderCard,
html[data-aptk-mode="suede"] body #page-text-presets .v124-slider-card,
html[data-aptk-mode="suede"] body #page-expressions .expr-v151-presets-card{ border-radius: 14px !important; }
html[data-aptk-mode="suede"] body .aptk-custom-select-trigger{ border-radius: 9px !important; }
html[data-aptk-mode="suede"] body .primary-btn,
html[data-aptk-mode="suede"] body .expression-apply-action,
html[data-aptk-mode="suede"] body .secondary-btn,
html[data-aptk-mode="suede"] body .expr-v151-clear-btn,
html[data-aptk-mode="suede"] body #v120App #v120Content #page-text-presets #applySelectedPresetBtn,
html[data-aptk-mode="suede"] body #v120App #v120Content #page-text-presets #clearSelectedPresetBtn,
html[data-aptk-mode="suede"] body #page-expressions .expression-apply-row-single .primary-btn,
html[data-aptk-mode="suede"] body #page-expressions .expression-apply-action,
html[data-aptk-mode="suede"] body #page-expressions .expr-v151-clear-btn,
html[data-aptk-mode="suede"] body #page-expressions #clearExpressionPresetBtn{ border-radius: 11px !important; }

/* --- Text preset rail + Expressions preset rail: same dark chip on
   the active item, so the two preset-driven pages read as one family
   (both are "pick one of these, then Apply/Clear + sliders below"). --- */
html[data-aptk-mode="suede"] body #page-text-presets #presetGrid.icon-only-grid .preset-card.active,
html[data-aptk-mode="suede"] body #page-text-presets #presetGrid .preset-card.active,
html[data-aptk-mode="suede"] body #v120App #v120Content #page-text-presets #presetGrid.icon-only-grid .preset-card.active,
html[data-aptk-mode="suede"] body #v120App #v120Content #page-text-presets #presetGrid .preset-card.active{
  background: var(--qwix-grad-active) !important;
  color: var(--qwix-active-chip-ink) !important;
  box-shadow: var(--qwix-shadow-active) !important;
  border-color: transparent !important;
  /* The dark chip fills the exact same cell size as an inactive item
     (54x42) — at that size an 8px-radius rectangle reads as a bulky
     slab rather than a compact selection pill. Scale it down slightly
     (transform, not width/height, so it doesn't disturb flex layout
     or the icon-mini-text's own centering inside it). */
  transform: scale(0.86) !important;
}
html[data-aptk-mode="suede"] body #page-text-presets #presetGrid.icon-only-grid .preset-card.active .icon-mini-text,
html[data-aptk-mode="suede"] body #page-text-presets #presetGrid .preset-card.active .icon-mini-text{ color: var(--qwix-active-chip-ink) !important; }
html[data-aptk-mode="suede"] body #v120App #v120Content #page-expressions .expression-preset-tab.is-active,
html[data-aptk-mode="suede"] body #v120App #v120Content #page-expressions .expr-v151-custom-btn.is-active,
html[data-aptk-mode="suede"] body #page-expressions .expression-preset-tab.is-active{
  background: var(--qwix-grad-active) !important;
  color: var(--qwix-active-chip-ink) !important;
  box-shadow: var(--qwix-shadow-active) !important;
  border-color: transparent !important;
}
/* A runtime-injected <style> (redesign_r2.js) has its own
   "html body #page-expressions .expression-preset-tab{color:var(--aptk-text)}"
   rule tied in specificity with qwix_theme.css's ink-tertiary one, and
   wins the tie by loading later — even though --aptk-text itself is
   correctly ink-colored elsewhere, this element was left showing a
   stale --qwix-active-chip-ink value once .is-active is removed. A
   :not(.is-active) qualifier breaks the tie outright. */
html[data-aptk-mode="suede"] body #page-expressions .expression-preset-tab:not(.is-active),
html[data-aptk-mode="suede"] body #page-expressions .expression-preset-tab:not(.is-active) b{
  color: var(--qwix-ink-tertiary) !important;
}
/* Graph/Tools/Saved active pills + soft-tint sub-tabs stay on the
   caramel accent (they're closer to a mode-switch than a rail pick),
   but still deserve the same raised depth as everything else here. */
html[data-aptk-mode="suede"] body #v120App #v120Content #page-graph-editor .graph-mode-btn.is-active,
html[data-aptk-mode="suede"] body #v120App #v120Content #page-graph-editor .graph-mode-btn.active,
html[data-aptk-mode="suede"] body #v120App #v120Content #page-expressions .expression-scale-mode-btn.is-active,
html[data-aptk-mode="suede"] body #v120App #v120Content #page-toolkit .segment-btn.active,
html[data-aptk-mode="suede"] body #page-text-presets #presetGrid .preset-card:not(.active):active{
  background: var(--qwix-grad-accent) !important;
}

/* --- Rail action buttons (Save/Add) + generic secondary/tool/ghost
   buttons: raised gradient chip instead of a flat bordered rectangle. --- */
html[data-aptk-mode="suede"] body #v120App #v120Content #page-text-presets #saveTextPresetBtn,
html[data-aptk-mode="suede"] body #v120App #v120Content #page-text-presets #addTextPresetBtn,
html[data-aptk-mode="suede"] body #v120App #v120Content #page-expressions #saveExpressionPresetBtn,
html[data-aptk-mode="suede"] body .secondary-btn,
html[data-aptk-mode="suede"] body .tool-btn,
html[data-aptk-mode="suede"] body .tool-btn-v146,
html[data-aptk-mode="suede"] body .text-small-btn,
html[data-aptk-mode="suede"] body .large-function-btn,
html[data-aptk-mode="suede"] body .layer-name-btn,
html[data-aptk-mode="suede"] body .graph-side-btn,
html[data-aptk-mode="suede"] body .graph-values-btn,
html[data-aptk-mode="suede"] body .graph-reset-btn,
html[data-aptk-mode="suede"] body .expr-v151-clear-btn,
html[data-aptk-mode="suede"] body .expr-v153-save-below-menu,
html[data-aptk-mode="suede"] body .modal-btn.ghost,
html[data-aptk-mode="suede"] body #splitGetSelectedBtn,
html[data-aptk-mode="suede"] body .top-action-btn,
html[data-aptk-mode="suede"] body .mini-utility-btn,
html[data-aptk-mode="suede"] body .btn-icon,
html[data-aptk-mode="suede"] body #resetGraphBtn,
html[data-aptk-mode="suede"] body #resetTextPresetsBtn,
html[data-aptk-mode="suede"] body #editModeBtn,
html[data-aptk-mode="suede"] body #pluginSettingsBtn,
html[data-aptk-mode="suede"] body .stepper button{
  background: var(--qwix-grad-raised) !important;
  box-shadow: var(--qwix-shadow-raised) !important;
}
html[data-aptk-mode="suede"] body .secondary-btn:hover,
html[data-aptk-mode="suede"] body .tool-btn:hover,
html[data-aptk-mode="suede"] body .tool-btn-v146:hover,
html[data-aptk-mode="suede"] body .mini-utility-btn:hover,
html[data-aptk-mode="suede"] body #resetGraphBtn:hover,
html[data-aptk-mode="suede"] body #resetTextPresetsBtn:hover{
  background: var(--qwix-surface-hover, #f2e7ce) !important;
}

/* --- Apply / primary action: caramel gradient instead of a flat fill --- */
html[data-aptk-mode="suede"] body .primary-btn,
html[data-aptk-mode="suede"] body .expression-apply-action,
html[data-aptk-mode="suede"] body .graph-apply-wide,
html[data-aptk-mode="suede"] body #page-text-presets #applySelectedPresetBtn,
html[data-aptk-mode="suede"] body #page-graph-editor #applyGraphBtn,
html[data-aptk-mode="suede"] body .modal-btn.primary,
html[data-aptk-mode="suede"] body #splitRunBtn,
html[data-aptk-mode="suede"] body #splitCreateLayersBtn,
html[data-aptk-mode="suede"] body #v120App #v120Content #page-colors .primary-btn{
  background: var(--qwix-grad-accent) !important;
}
html[data-aptk-mode="suede"] body .primary-btn:hover,
html[data-aptk-mode="suede"] body .expression-apply-action:hover,
html[data-aptk-mode="suede"] body .graph-apply-wide:hover,
html[data-aptk-mode="suede"] body #page-text-presets #applySelectedPresetBtn:hover,
html[data-aptk-mode="suede"] body #page-graph-editor #applyGraphBtn:hover,
html[data-aptk-mode="suede"] body #splitRunBtn:not(:disabled):hover,
html[data-aptk-mode="suede"] body #splitCreateLayersBtn:not(:disabled):hover,
html[data-aptk-mode="suede"] body #v120App #v120Content #page-colors .primary-btn:hover{
  background: var(--qwix-grad-accent-hover) !important;
}

/* --- Expressions > Custom paste icon: its svg already uses
   fill:currentColor (ui_expr_custom_v1.css), but only ever had a
   translucent-white `color` set — invisible on a light card. --- */
html[data-aptk-mode="suede"] body .expr-custom-paste-btn{
  color: var(--qwix-ink, #3d3527) !important;
  background: var(--qwix-surface-raised, #f0e4cc) !important;
  border-color: rgba(61,53,39,.14) !important;
}
html[data-aptk-mode="suede"] body .expr-custom-paste-btn:hover{
  color: var(--qwix-ink, #3d3527) !important;
  background: var(--qwix-surface-hover, #f2e7ce) !important;
}

/* --- Custom dropdown trigger: same raised depth, background-COLOR
   only (never the "background" shorthand) so redesign_r2.js's own
   injected chevron background-image is left untouched. --- */
html[data-aptk-mode="suede"] body .aptk-custom-select-trigger{
  background-color: var(--qwix-surface-raised, #f0e4cc) !important;
  box-shadow: var(--qwix-shadow-raised) !important;
  /* redesign_r2.js's injected chevron bakes a near-white #F2F4F7 stroke
     into the SVG data-URI itself — invisible on a light trigger, and
     not something a color/currentColor override can reach. Only a
     replacement image (same path/geometry, ink stroke) fixes it. */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1.35 1.25 5 4.55 8.65 1.25' fill='none' stroke='%239a8c71' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}
html[data-aptk-mode="suede"] body #page-toolkit .align-target-select-v146{
  background-color: var(--qwix-surface-raised, #f0e4cc) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1.35 1.25 5 4.55 8.65 1.25' fill='none' stroke='%239a8c71' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  color: var(--qwix-ink) !important;
}
/* Generic native <select> chevron (main_v139.js's own injected style)
   — same baked-in white stroke issue, used by every plain <select>
   that isn't behind the custom-dropdown component (Toolkit's
   Composition picker, Split's Mode select, Smart tool pickers, etc). */
html[data-aptk-mode="suede"] body select{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1.35 1.25 5 4.55 8.65 1.25' fill='none' stroke='%239a8c71' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

/* --- Tools page: clipboard/lock/cache mini-utility icons bake a
   near-white #f2f2f3 stroke into their SVG data-URI (ui_tools_v146.css
   lines 127-129) — invisible on the light card. Same class of bug as
   the dropdown chevron above; only a replacement image fixes it. --- */
html[data-aptk-mode="suede"] body #page-toolkit .utility-btn-clipboard::before{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Crect x='4' y='3.5' width='8' height='10' rx='1.5' fill='none' stroke='%233d3527' stroke-width='1.5'/%3E%3Cpath d='M6.2 3.5V2.7c0-.66.54-1.2 1.2-1.2h1.2c.66 0 1.2.54 1.2 1.2v.8' fill='none' stroke='%233d3527' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}
html[data-aptk-mode="suede"] body #page-toolkit .utility-btn-lock::before{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Crect x='3.5' y='7' width='9' height='6' rx='1.4' fill='none' stroke='%233d3527' stroke-width='1.5'/%3E%3Cpath d='M5.5 7V5.6a2.5 2.5 0 1 1 5 0V7' fill='none' stroke='%233d3527' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}
html[data-aptk-mode="suede"] body #page-toolkit .utility-btn-cache::before{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M13 8a5 5 0 1 1-1.6-3.67' fill='none' stroke='%233d3527' stroke-width='1.5' stroke-linecap='round'/%3E%3Cpath d='M10.5 2.5h2.8v2.8' fill='none' stroke='%233d3527' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}
/* Align-grid corner/arrow icons bake a mid-gray #797979 fill — legal
   contrast (~3.2:1) but noticeably weaker than the rest of the ink-
   colored icon set on this page; bump to full ink for consistency. */
html[data-aptk-mode="suede"] body #page-toolkit .align-grid-v146 .align-action-btn:nth-child(1)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='18' viewBox='0 0 22 18'%3E%3Crect x='3' y='2' width='2' height='14' rx='1' fill='%233d3527'/%3E%3Crect x='7' y='5' width='9' height='8' rx='1.2' fill='%233d3527'/%3E%3C/svg%3E") !important;}
html[data-aptk-mode="suede"] body #page-toolkit .align-grid-v146 .align-action-btn:nth-child(2)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='18' viewBox='0 0 22 18'%3E%3Crect x='10' y='2' width='2' height='14' rx='1' fill='%233d3527'/%3E%3Crect x='4' y='6' width='5' height='6' rx='1.2' fill='%233d3527'/%3E%3Crect x='13' y='4' width='5' height='10' rx='1.2' fill='%233d3527'/%3E%3C/svg%3E") !important;}
html[data-aptk-mode="suede"] body #page-toolkit .align-grid-v146 .align-action-btn:nth-child(3)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='18' viewBox='0 0 22 18'%3E%3Crect x='17' y='2' width='2' height='14' rx='1' fill='%233d3527'/%3E%3Crect x='6' y='5' width='9' height='8' rx='1.2' fill='%233d3527'/%3E%3C/svg%3E") !important;}
html[data-aptk-mode="suede"] body #page-toolkit .align-grid-v146 .align-action-btn:nth-child(4)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='18' viewBox='0 0 22 18'%3E%3Crect x='3' y='2' width='16' height='2' rx='1' fill='%233d3527'/%3E%3Crect x='7' y='6' width='8' height='9' rx='1.2' fill='%233d3527'/%3E%3C/svg%3E") !important;}
html[data-aptk-mode="suede"] body #page-toolkit .align-grid-v146 .align-action-btn:nth-child(5)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='18' viewBox='0 0 22 18'%3E%3Crect x='3' y='8' width='16' height='2' rx='1' fill='%233d3527'/%3E%3Crect x='4' y='3' width='5' height='4' rx='1.2' fill='%233d3527'/%3E%3Crect x='13' y='10' width='5' height='5' rx='1.2' fill='%233d3527'/%3E%3C/svg%3E") !important;}
html[data-aptk-mode="suede"] body #page-toolkit .align-grid-v146 .align-action-btn:nth-child(6)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='18' viewBox='0 0 22 18'%3E%3Crect x='3' y='14' width='16' height='2' rx='1' fill='%233d3527'/%3E%3Crect x='7' y='3' width='8' height='9' rx='1.2' fill='%233d3527'/%3E%3C/svg%3E") !important;}

/* --- Cards: raised depth everywhere except the stage/preview surfaces,
   which read as recessed in the mockup (a "sunken" display, not a
   button). Text's #v124SliderCard (sliders) isn't in qwix_theme.css's
   own .card list at all — added here. --- */
html[data-aptk-mode="suede"] body .card,
html[data-aptk-mode="suede"] body .saved-library-card,
html[data-aptk-mode="suede"] body .graph-list-card,
html[data-aptk-mode="suede"] body .graph-icons-card,
html[data-aptk-mode="suede"] body .expression-controls-card,
html[data-aptk-mode="suede"] body .split-topbar-card,
html[data-aptk-mode="suede"] body .split-preview-card,
html[data-aptk-mode="suede"] body .solid-color-popover,
html[data-aptk-mode="suede"] body .aptk-modal,
html[data-aptk-mode="suede"] body #page-text-presets #v124SliderCard,
html[data-aptk-mode="suede"] body #page-text-presets .v124-slider-card,
html[data-aptk-mode="suede"] body #page-text-presets .smart-reveal-controls,
html[data-aptk-mode="suede"] body #page-expressions .expr-v151-presets-card,
html[data-aptk-mode="suede"] body #page-text-presets .preset-icons-card{
  box-shadow: var(--qwix-shadow-raised-lg) !important;
}
/* .preview-card is a misleadingly-named page-level wrapper here (holds
   the whole compact layout, not just the stage) — the actual visual
   "sunken display" box is #presetStage/.preset-stage (Text) and
   .expression-stage/.graph-stage (Expressions/Graph). */
html[data-aptk-mode="suede"] body #page-text-presets #presetStage,
html[data-aptk-mode="suede"] body #page-text-presets .preset-stage,
html[data-aptk-mode="suede"] body #page-expressions .expression-stage,
html[data-aptk-mode="suede"] body #page-graph-editor .graph-stage,
html[data-aptk-mode="suede"] body #page-graph-editor .square-graph-stage{
  box-shadow: var(--qwix-shadow-recessed) !important;
}

/* --- Sliders: cream gradient knob (mockup uses a light handle
   regardless of theme — a solid ink-filled dot reads wrong against a
   light track). No extra box-shadow on the track itself: the bar is
   only 4px tall (see above) and an inset shadow at that thickness
   just reproduces the "seam across the middle" bug it's meant to
   avoid — dark theme's own track never had one either. --- */
html[data-aptk-mode="suede"] body #page-text-presets input[type="range"]::-webkit-slider-thumb,
html[data-aptk-mode="suede"] body #page-expressions input[type="range"]::-webkit-slider-thumb,
html[data-aptk-mode="suede"] body #page-graph-editor input[type="range"]::-webkit-slider-thumb,
html[data-aptk-mode="suede"] body #page-settings input[type="range"]::-webkit-slider-thumb,
html[data-aptk-mode="suede"] body input[type="range"]::-webkit-slider-thumb{
  background: var(--qwix-grad-handle) !important;
  border: 1px solid var(--qwix-handle-border) !important;
  box-shadow: var(--qwix-shadow-handle) !important;
}
html[data-aptk-mode="suede"] body #page-text-presets input[type="range"]::-moz-range-thumb,
html[data-aptk-mode="suede"] body #page-expressions input[type="range"]::-moz-range-thumb,
html[data-aptk-mode="suede"] body #page-graph-editor input[type="range"]::-moz-range-thumb,
html[data-aptk-mode="suede"] body #page-settings input[type="range"]::-moz-range-thumb,
html[data-aptk-mode="suede"] body input[type="range"]::-moz-range-thumb{
  background: var(--qwix-grad-handle) !important;
  border: 1px solid var(--qwix-handle-border) !important;
  box-shadow: var(--qwix-shadow-handle) !important;
}

/* --- Graph editor preset grid: curve-icon SVGs hardcode a near-white
   rgba(244,244,245,.88) stroke on their <path> regardless of theme —
   invisible against a light card (this was the literal "white on
   white" bug). Active card already resolves correctly via
   var(--aptk-detail)/var(--aptk-primary); only inactive cards need
   a fix. */
html[data-aptk-mode="suede"] body #graphPresetGrid .graph-card:not(.active) svg,
html[data-aptk-mode="suede"] body #graphPresetGrid .graph-card:not(.active) .graph-thumb-svg,
html[data-aptk-mode="suede"] body #graphPresetGrid .graph-card:not(.active) path,
html[data-aptk-mode="suede"] body #graphPresetGrid .graph-card:not(.active) polyline{
  stroke: var(--qwix-ink-tertiary) !important;
}

/* --- Expressions preview shape: solid accent-orange (same #A67C42 the
   Apply button's gradient bottoms out to) with a small crisp white
   glare kept, and no drop shadow / cast shadow (flat, per request). */
html[data-aptk-mode="suede"] body .expression-ball{
  background:
    radial-gradient(circle at 30% 26%, #ffffff 0%, #ffffff 5%, rgba(255,255,255,0) 12%),
    #a67c42 !important;
  box-shadow: none !important;
}
html[data-aptk-mode="suede"] body .expression-ball-shadow{
  display: none !important;
}


/* v37.1: active graph preset curve in light theme must stay dark, not white. */
html[data-aptk-mode="suede"] body #graphPresetGrid .graph-card.active svg,
html[data-aptk-mode="suede"] body #graphPresetGrid .graph-card.active .graph-thumb-svg,
html[data-aptk-mode="suede"] body #graphPresetGrid .graph-card.active path,
html[data-aptk-mode="suede"] body #graphPresetGrid .graph-card.active polyline{
  stroke: var(--qwix-accent-ink, #241C16) !important;
}

/* ===== css/qwix_radius_unify.css ===== */
/* ============================================================
   RADIUS UNIFICATION — make the Suede/Light mockup's border-radius
   values the single standard shape system for both themes.

   qwix_theme_suede.css's "03. Material treatment" section pins these
   same elements to exact mockup pixel values, but only scoped to
   html[data-aptk-mode="suede"] — so Dark kept its older, unrelated
   radius values (mostly full 999px pills or other legacy per-file
   numbers) on the exact same elements. This file copies those same
   selector chains unscoped so Dark picks up the identical numbers.

   Only border-radius is touched here — colors/gradients/shadows stay
   theme-specific and untouched, exactly as before.

   The `html:not([data-aptk-mode="__unify_never__"])` prefix is a
   deliberate copy of qwix_theme_suede.css's own
   `html[data-aptk-mode="suede"]` specificity (one attribute selector
   on <html>) so this reliably wins the same specificity battles that
   section already had to win, but matches regardless of theme instead
   of only in Suede. Loaded last so it also wins any same-specificity
   source-order ties against earlier per-page legacy CSS. */

html:not([data-aptk-mode="__unify_never__"]) body #v120Nav.v120-nav{
  border-radius: 14px !important;
}
html:not([data-aptk-mode="__unify_never__"]) body #v120Nav .v120-nav-btn.active,
html:not([data-aptk-mode="__unify_never__"]) body #v120App #v120Nav .v120-nav-btn.active{
  border-radius: 9px !important;
}

html:not([data-aptk-mode="__unify_never__"]) body #page-text-presets #presetGrid .preset-card,
html:not([data-aptk-mode="__unify_never__"]) body #page-text-presets #presetGrid.icon-only-grid .preset-card,
html:not([data-aptk-mode="__unify_never__"]) body #page-expressions .expression-preset-tab{ border-radius: 8px !important; }

html:not([data-aptk-mode="__unify_never__"]) body #v120App #v120Content #page-text-presets #saveTextPresetBtn,
html:not([data-aptk-mode="__unify_never__"]) body #v120App #v120Content #page-text-presets #addTextPresetBtn,
html:not([data-aptk-mode="__unify_never__"]) body #v120App #v120Content #page-expressions #saveExpressionPresetBtn{ border-radius: 10px !important; }

html:not([data-aptk-mode="__unify_never__"]) body #page-text-presets #presetStage,
html:not([data-aptk-mode="__unify_never__"]) body #page-text-presets .preset-stage,
html:not([data-aptk-mode="__unify_never__"]) body #page-expressions .expression-stage,
html:not([data-aptk-mode="__unify_never__"]) body #page-graph-editor .graph-stage{ border-radius: 14px !important; }

html:not([data-aptk-mode="__unify_never__"]) body #page-text-presets #v124SliderCard,
html:not([data-aptk-mode="__unify_never__"]) body #page-text-presets .v124-slider-card,
html:not([data-aptk-mode="__unify_never__"]) body #page-expressions .expr-v151-presets-card{ border-radius: 14px !important; }

html:not([data-aptk-mode="__unify_never__"]) body .aptk-custom-select-trigger{ border-radius: 9px !important; }

html:not([data-aptk-mode="__unify_never__"]) body .primary-btn,
html:not([data-aptk-mode="__unify_never__"]) body .expression-apply-action,
html:not([data-aptk-mode="__unify_never__"]) body .secondary-btn,
html:not([data-aptk-mode="__unify_never__"]) body .expr-v151-clear-btn,
html:not([data-aptk-mode="__unify_never__"]) body #v120App #v120Content #page-text-presets #applySelectedPresetBtn,
html:not([data-aptk-mode="__unify_never__"]) body #v120App #v120Content #page-text-presets #clearSelectedPresetBtn,
html:not([data-aptk-mode="__unify_never__"]) body #page-expressions .expression-apply-row-single .primary-btn,
html:not([data-aptk-mode="__unify_never__"]) body #page-expressions .expression-apply-action,
html:not([data-aptk-mode="__unify_never__"]) body #page-expressions .expr-v151-clear-btn,
html:not([data-aptk-mode="__unify_never__"]) body #page-expressions #clearExpressionPresetBtn{ border-radius: 11px !important; }

/* ===== css/aptk_fixes_v1.css ===== */
/* ============================================================
   APTK FIXES v1 — small additive spacing/sizing/asset overrides.
   Loaded last among CSS. Each section below is independent.
   ============================================================ */

/* ------------------------------------------------------------
   Text page: #smartRevealControls (the dropdown/slider block)
   had a redundant margin-top:10px on top of .preview-card's own
   flex gap:10px, producing a 20px stage->dropdown gap versus the
   13px nav->preview gap above it. Trim it down so both gaps match
   (10px flex gap + 3px margin = 13px). Apply/Clear/sliders sit
   below in normal flow, so they shift up for free.
   ------------------------------------------------------------ */
html body #page-text-presets #smartRevealControls{
  margin-top: 3px !important;
}

/* ------------------------------------------------------------
   Graph page: shrink the stage + V/S/reset buttons so the preset
   grid below gets more vertical room. Selectors match the
   currently-winning rules exactly (ui_graph_v141.css) so this
   file, loaded later, wins the same specificity/importance ties.
   ------------------------------------------------------------ */
html body #page-graph-editor .graph-square-wrap{
  height: min(60vw, 220px) !important;
  min-height: 175px !important;
}
/* V/S toggle sizing must repeat qwix_theme.css's exact 3-ID selector
   chain (#v120App #v120Content #page-graph-editor) — its own rule pins
   24x22 with !important, and a 1-ID selector loses on ID count alone. */
html body #v120App #v120Content #page-graph-editor .graph-square-wrap > .graph-mode-toggle{
  height: 18px !important;
  min-height: 18px !important;
  grid-template-columns: 20px 20px !important;
  gap: 4px !important;
}
html body #v120App #v120Content #page-graph-editor .graph-square-wrap > .graph-mode-toggle .graph-mode-btn{
  height: 18px !important;
  min-height: 18px !important;
  width: 20px !important;
  min-width: 20px !important;
  font-size: 7px !important;
  padding: 0 !important;
  border-radius: 5px !important;
}
/* Reset: a true circle (equal box, 50% radius, no padding) with just
   the ↻ icon — the "Reset" label inside is already visually hidden. */
html body #page-graph-editor .graph-reset-btn{
  height: 18px !important;
  min-height: 18px !important;
  width: 18px !important;
  min-width: 18px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
html body #page-graph-editor .graph-reset-btn .graph-reset-icon{
  font-size: 10px !important;
  line-height: 1 !important;
}

/* ------------------------------------------------------------
   Expressions page: same double-gap problem as Text, plus a
   second bug feeding it. qwix_theme.css unconditionally forces
   .expr-v151-quick-row to display:flex (both the plain and the
   .is-visible selector), overriding the show/hide toggle other
   files set up for kinds without dropdowns (Wiggle/Bounce/Stretch/
   Custom) — so an EMPTY quick-row still occupies a flex slot and
   eats two 20px gaps instead of zero. Fix visibility first, then
   shrink the shared gap so both with-dropdown (Jump) and without
   (Wiggle) presets land at the same 7px as Text/nav.
   ------------------------------------------------------------ */
html body #page-expressions .expr-v151-quick-row:not(.is-visible){
  display: none !important;
}
html body #page-expressions .expression-preview-card{
  gap: 7px !important;
}


/* 2026-07 Colors: make the solid color swatch near HEX input a raw rounded square, no well/backplate. */
html body #page-colors #userColorPicker.user-color-picker,
html[data-aptk-mode="suede"] body #page-colors #userColorPicker.user-color-picker{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  min-height:30px!important;
  padding:0!important;
  border:0!important;
  border-radius:9px!important;
  background:transparent!important;
  box-shadow:none!important;
  outline:none!important;
  overflow:hidden!important;
}
html body #page-colors #userColorPicker.user-color-picker::-webkit-color-swatch-wrapper{
  padding:0!important;
  border:0!important;
  border-radius:9px!important;
  background:transparent!important;
}
html body #page-colors #userColorPicker.user-color-picker::-webkit-color-swatch{
  border:0!important;
  border-radius:9px!important;
  box-shadow:none!important;
}

/* 2026-07 Expressions Custom: Custom is code-only, not preview + secondary code view. */
html body #page-expressions .expression-page-pro.is-custom-code-mode .expression-preview-card{
  display:none!important;
}
html body #page-expressions .expression-page-pro.is-custom-code-mode .expr-v151-main{
  grid-template-rows:minmax(0,1fr)!important;
  gap:0!important;
}
html body #page-expressions .expression-page-pro.is-custom-code-mode .expression-controls-card{
  min-height:0!important;
  height:100%!important;
}
html body #page-expressions .expression-page-pro.is-custom-code-mode #expressionCustomPanel{
  display:block!important;
}
html body #page-expressions .expression-page-pro.is-custom-code-mode #exprCustomViewToggle,
html body #page-expressions .expression-page-pro.is-custom-code-mode #exprCustomCodeView,
html body #page-expressions .expression-page-pro.is-custom-code-mode #expressionStage,
html body #page-expressions .expression-page-pro.is-custom-code-mode #expressionBall,
html body #page-expressions .expression-page-pro.is-custom-code-mode #expressionBallShadow{
  display:none!important;
}
html body #page-expressions .expr-custom-panel-actions-row{
  display:grid!important;
  grid-template-columns:minmax(150px,1fr) minmax(92px,116px)!important;
  gap:8px!important;
  margin-top:8px!important;
}
html body #page-expressions .expr-custom-panel-actions-row .primary-btn,
html body #page-expressions .expr-custom-panel-actions-row .expr-v151-clear-btn{
  width:100%!important;
  height:38px!important;
  min-height:38px!important;
  border-radius:11px!important;
  font-size:12px!important;
}
html body #page-expressions .expression-page-pro.is-custom-code-mode .expr-custom-textarea{
  min-height:132px!important;
  max-height:260px!important;
}
html body #page-expressions .aptk-editable-range-value{
  cursor:text!important;
  user-select:none!important;
}
html body #page-expressions .aptk-editable-range-value:hover,
html body #page-text-presets .aptk-editable-range-value:hover{
  text-decoration:underline!important;
  text-underline-offset:2px!important;
}

/* ===== css/aptk_colors_palettes_v1.css ===== */
/* Colors / palettes layer: compact controls that match the existing Saved page. */
html body #page-colors .palette-import-panel{
  display:grid !important;
  gap:6px !important;
  width:100% !important;
  margin:0 !important;
  padding:7px !important;
  position:relative !important;
  isolation:isolate !important;
  border-radius:11px !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
html body #page-colors .palette-import-panel > .palette-import-backdrop{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  border-radius:11px !important;
  border:1px solid rgba(255,255,255,.045) !important;
  background:rgba(0,0,0,.11) !important;
  box-shadow:var(--sv-inset) !important;
}
html body #page-colors .palette-import-panel > :not(.palette-import-backdrop){
  position:relative !important;
  z-index:1 !important;
}
html body #page-colors .palette-import-text{
  width:100% !important;
  min-height:45px !important;
  max-height:76px !important;
  resize:vertical !important;
  margin:0 !important;
  padding:8px 9px !important;
  border-radius:10px !important;
  border:1px solid rgba(255,255,255,.045) !important;
  background:var(--sv-panel-2) !important;
  box-shadow:var(--sv-inset) !important;
  color:var(--sv-text) !important;
  font:750 8px/1.35 Inter,Arial,sans-serif !important;
  outline:none !important;
}
html body #page-colors .palette-import-text::placeholder{color:rgba(244,244,245,.35)!important;}
html[data-aptk-mode="suede"] body #page-colors .palette-import-text,
html body[data-aptk-mode="suede"] #page-colors .palette-import-text{
  color:rgba(40,32,20,.92) !important;
  -webkit-text-fill-color:rgba(40,32,20,.92) !important;
}
html[data-aptk-mode="suede"] body #page-colors .palette-import-text::placeholder,
html body[data-aptk-mode="suede"] #page-colors .palette-import-text::placeholder{
  color:rgba(74,59,35,.58) !important;
  -webkit-text-fill-color:rgba(74,59,35,.58) !important;
}
html body #page-colors .palette-actions-row{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:6px !important;
  width:100% !important;
}
html body #page-colors .palette-action-btn{
  width:100% !important;
  height:25px !important;
  min-height:25px !important;
  padding:0 6px !important;
  font-size:7px !important;
}
html body #page-colors .palette-extracted-grid{
  display:none !important;
  grid-template-columns:repeat(auto-fill,minmax(31px,1fr)) !important;
  gap:6px !important;
  width:100% !important;
}
html body #page-colors .palette-extracted-grid.has-colors{display:grid!important;}
html body #page-colors .palette-chip{
  position:relative !important;
  height:31px !important;
  min-height:31px !important;
  padding:3px !important;
  border:1px solid rgba(255,255,255,.045) !important;
  border-radius:9px !important;
  background:#252525 !important;
  box-shadow:var(--sv-outset) !important;
  cursor:pointer !important;
  overflow:hidden !important;
}
html body #page-colors .palette-chip span{
  display:block !important;
  width:100% !important;
  height:100% !important;
  border-radius:7px !important;
  background:var(--palette-color) !important;
  background-color:var(--palette-color) !important;
  background-image:none !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22), inset 0 0 12px rgba(0,0,0,.20) !important;
}
html body #page-colors .palette-chip::after{
  content:"+" !important;
  position:absolute !important;
  right:3px !important;
  top:3px !important;
  width:13px !important;
  height:13px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:7px !important;
  color:#fff !important;
  background:rgba(0,0,0,.48) !important;
  font-size:9px !important;
  font-weight:900 !important;
}
html body #page-colors .palette-swatch-row,
html body #page-colors .palette-gradient-row{
  display:grid !important;
  gap:6px !important;
  width:100% !important;
}
html body #page-colors .palette-swatch-row{
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
}
html body #page-colors .palette-gradient-row{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
html body #page-colors #popularColorsGrid.saved-colors-grid{
  grid-template-columns:repeat(auto-fill,minmax(138px,1fr)) !important;
  gap:9px !important;
}
html body #page-colors .palette-strip-card{
  position:relative !important;
  display:flex !important;
  width:100% !important;
  height:58px !important;
  min-height:58px !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:9px !important;
  border:1px solid rgba(255,255,255,.045) !important;
  background:#252525 !important;
  box-shadow:var(--sv-outset) !important;
  overflow:hidden !important;
  cursor:pointer !important;
}
html body #page-colors .palette-strip-card::after{
  content:none !important;
  display:none !important;
}
html body #page-colors .palette-strip-delete{
  position:absolute !important;
  right:5px !important;
  top:5px !important;
  width:15px !important;
  height:15px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:8px !important;
  color:#fff !important;
  background:rgba(0,0,0,.42) !important;
  font-size:10px !important;
  font-weight:900 !important;
  opacity:0 !important;
  transition:opacity .12s ease !important;
  z-index:2 !important;
}
html body #page-colors .palette-strip-card:hover .palette-strip-delete{opacity:.9!important;}
html body #page-colors .palette-strip-segment{
  display:block !important;
  flex:1 1 0 !important;
  height:100% !important;
  min-width:0 !important;
  background:var(--palette-color) !important;
  background-color:var(--palette-color) !important;
  background-image:none !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035) !important;
}
html body #page-colors .palette-strip-segment:first-child{border-radius:8px 0 0 8px!important;}
html body #page-colors .palette-strip-segment:last-child{border-radius:0 8px 8px 0!important;}
html body #page-colors .palette-set-card,
html body #page-colors .palette-set-title{
  display:none !important;
}


/* v2 — clean saved color assets: no per-item delete crosses, no frames/substrates. */
html body #page-colors #savedAssetModeToggle{
  grid-template-columns:1fr 1fr 1fr !important;
}
html body #page-colors .saved-delete-selection-btn{
  width:100% !important;
  height:28px !important;
  min-height:28px !important;
  padding:0 8px !important;
  border-radius:11px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  background:rgba(255,255,255,.035) !important;
  color:var(--sv-muted, rgba(255,255,255,.48)) !important;
  font-size:8px !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
  box-shadow:none !important;
  opacity:.45 !important;
  cursor:default !important;
}
html body #page-colors .saved-delete-selection-btn.is-enabled{
  opacity:1 !important;
  cursor:pointer !important;
  color:var(--sv-text, #fff) !important;
  background:rgba(255,255,255,.075) !important;
}
html body #page-colors .saved-delete-selection-btn.is-enabled:hover{
  background:rgba(255,255,255,.11) !important;
}
html body #page-colors .saved-color-delete,
html body #page-colors .palette-strip-delete{
  display:none !important;
}
html body #page-colors .palette-actions-row{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
html body #page-colors .saved-color-item,
html body #page-colors .saved-gradient-item,
html body #page-colors .builtin-saved-color-item,
html body #page-colors .builtin-saved-gradient-item,
html body #page-colors .palette-chip,
html body #page-colors .palette-strip-card{
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:hidden !important;
}
html body #page-colors .saved-color-swatch,
html body #page-colors .saved-gradient-preview,
html body #page-colors .palette-chip span,
html body #page-colors .palette-strip-segment{
  border:0 !important;
  box-shadow:none !important;
}
html body #page-colors .saved-color-item:hover,
html body #page-colors .saved-gradient-item:hover,
html body #page-colors .palette-chip:hover,
html body #page-colors .palette-strip-card:hover{
  transform:none !important;
  filter:brightness(1.06) saturate(1.04) !important;
}
html body #page-colors .is-selected-for-delete{
  transform:scale(.95) !important;
  filter:brightness(1.1) saturate(1.12) !important;
}
html body #page-colors .palette-strip-card{
  display:flex !important;
  width:100% !important;
  height:42px !important;
  min-height:42px !important;
  border-radius:9px !important;
}
html body #page-colors .palette-strip-segment{
  position:relative !important;
  display:block !important;
  flex:1 1 0 !important;
  min-width:0 !important;
  min-height:0 !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:0 !important;
  background:var(--palette-color) !important;
  background-color:var(--palette-color) !important;
  cursor:pointer !important;
  appearance:none !important;
  -webkit-appearance:none !important;
}
html body #page-colors .palette-strip-segment:first-child{border-radius:9px 0 0 9px !important;}
html body #page-colors .palette-strip-segment:last-child{border-radius:0 9px 9px 0 !important;}
html body #page-colors .palette-strip-segment:hover{
  z-index:2 !important;
  filter:brightness(1.1) saturate(1.08) !important;
}
html body #page-colors .palette-strip-segment:hover::after{
  content:attr(data-hex) !important;
  position:absolute !important;
  left:50% !important;
  bottom:calc(100% + 5px) !important;
  transform:translateX(-50%) !important;
  padding:3px 5px !important;
  border-radius:6px !important;
  background:rgba(16,14,18,.92) !important;
  color:#fff !important;
  font:800 8px/1 Inter,Arial,sans-serif !important;
  white-space:nowrap !important;
  pointer-events:none !important;
  box-shadow:0 6px 14px rgba(0,0,0,.22) !important;
}
html[data-aptk-mode="suede"] body #page-colors .palette-strip-segment:hover::after{
  background:rgba(40,32,20,.92) !important;
}
html body #page-colors .palette-strip-card{
  overflow:visible !important;
}
html body #page-colors .palette-chip::after{
  content:none !important;
  display:none !important;
}

/* v3 — Grid is gone, so the real nav has 7 items including Settings. */
html body #v120Nav.v120-nav{
  grid-template-columns:repeat(7,minmax(0,1fr)) !important;
}

/* v3 — Colors: only solid colors can be added; gradients are display-only legacy assets. */
html body #page-colors #savedAssetModeToggle,
html body #page-colors #savedDeleteSelectionBtn,
html body #page-colors .saved-mode-btn,
html body #page-colors #savedAddRowGrad,
html body #page-colors #savedGradientStatus{
  display:none !important;
}
html body #page-colors .saved-add-panel{
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
html body #page-colors #savedAddRowSolid.saved-add-row,
html body #page-colors #savedAddRowSolid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 30px 58px !important;
  gap:6px !important;
  align-items:center !important;
}

/* Right-click menu for saved colors / gradients / palettes. */
html body .saved-asset-context-menu{
  position:fixed !important;
  z-index:999999 !important;
  min-width:92px !important;
  padding:5px !important;
  display:grid !important;
  gap:4px !important;
  border-radius:12px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  background:rgba(28,25,22,.96) !important;
  box-shadow:0 16px 34px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.05) !important;
  backdrop-filter:blur(10px) !important;
}
html body .saved-asset-menu-btn{
  width:100% !important;
  height:26px !important;
  min-height:26px !important;
  padding:0 10px !important;
  border:0 !important;
  border-radius:9px !important;
  background:transparent !important;
  color:rgba(244,244,245,.88) !important;
  box-shadow:none !important;
  font:850 9px/1 Inter,Arial,sans-serif !important;
  text-align:left !important;
  cursor:pointer !important;
}
html body .saved-asset-menu-btn:hover{
  background:rgba(255,255,255,.08) !important;
  color:#fff !important;
}
html body .saved-asset-menu-btn-danger:hover{
  background:rgba(255,76,76,.16) !important;
  color:#fff !important;
}
html[data-aptk-mode="suede"] body .saved-asset-context-menu{
  background:rgba(242,229,207,.98) !important;
  border-color:rgba(89,70,45,.14) !important;
  box-shadow:0 15px 30px rgba(82,58,24,.18), inset 0 1px 0 rgba(255,255,255,.45) !important;
}
html[data-aptk-mode="suede"] body .saved-asset-menu-btn{
  color:rgba(52,40,24,.86) !important;
}
html[data-aptk-mode="suede"] body .saved-asset-menu-btn:hover{
  background:rgba(82,58,24,.09) !important;
  color:rgba(42,31,18,.96) !important;
}
html[data-aptk-mode="suede"] body .saved-asset-menu-btn-danger:hover{
  background:rgba(198,70,58,.14) !important;
}

/* ===== css/qwix_tools_blocks_v1.css ===== */
/* Qwix Tools block layout + icon pass. Loaded last. */
html body #page-toolkit{
  --qwix-tool-icon-dark: brightness(0) saturate(0%) invert(34%);
  --qwix-tool-icon-hover: brightness(0) saturate(0%) invert(43%);
  overflow:auto !important;
  scrollbar-width:none !important;
}
html body #page-toolkit::-webkit-scrollbar{display:none!important;}

/* Remove the old mini buttons column completely. Paste Image is a normal block now. */
html body #page-toolkit .tools-mini-stack-v146,
html body #page-toolkit #anchorOptionsStubBtn,
html body #page-toolkit #purgeCacheBtn,
html body #page-toolkit .utility-placeholder-btn{
  display:none !important;
}

html body #page-toolkit .tools-upper-v146{
  grid-template-columns:minmax(108px, 120px) minmax(0,1fr) !important;
  gap:8px !important;
  align-items:stretch !important;
}
html body #page-toolkit .tools-anchor-grid-wrap-v146{
  grid-template-columns:minmax(0, 120px) !important;
  gap:0 !important;
  align-items:stretch !important;
}
html body #page-toolkit .anchor-grid-v146{
  width:100% !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  grid-auto-rows:minmax(0, 1fr) !important;
  gap:6px !important;
}
html body #page-toolkit .anchor-grid-v146 .square-btn,
html body #page-toolkit .anchor-grid-v146 button{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
}

/* Create-layer block keeps the existing functions and stretches as a clean 2x2 card cluster. */
html body #page-toolkit .tools-layers-row-v146{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  grid-template-rows:repeat(2,minmax(0,1fr)) !important;
  gap:8px !important;
}
html body #page-toolkit .tools-layers-row-v146 .tool-btn-v146{
  min-height:0 !important;
  height:100% !important;
}

/* Main Tools functions are now large blocks, not tiny pill buttons. */
html body #page-toolkit .tools-functions-v146{
  margin-top:0 !important;
  display:grid !important;
  grid-template-rows:minmax(70px,1fr) minmax(70px,1fr) !important;
  gap:8px !important;
}
html body #page-toolkit .tools-functions-v146 .tools-row-v146{
  display:grid !important;
  gap:8px !important;
  margin:0 !important;
  min-height:0 !important;
  height:100% !important;
}
html body #page-toolkit .tools-functions-v146 .tools-actions-row-v146{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}
html body #page-toolkit .tools-functions-v146 .tools-bottom-buttons-row-v146{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  max-width:100% !important;
}

html body #page-toolkit .tool-icon-card{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  min-height:70px !important;
  height:100% !important;
  padding:9px 7px 8px !important;
  text-align:center !important;
  white-space:normal !important;
  overflow:hidden !important;
  font-size:0 !important;
  line-height:1 !important;
}
html body #page-toolkit .tool-icon-card .tool-card-label{
  display:block !important;
  width:100% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  font-size:10px !important;
  line-height:1.05 !important;
  font-weight:800 !important;
  letter-spacing:-.01em !important;
  text-transform:none !important;
  opacity:.72 !important;
}
html body #page-toolkit .tool-icon-card .tool-card-icon{
  display:block !important;
  flex:1 1 auto !important;
  width:min(46px, 58%) !important;
  min-width:26px !important;
  max-width:52px !important;
  height:42px !important;
  min-height:26px !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:contain !important;
  filter:var(--qwix-tool-icon-dark) !important;
  opacity:.84 !important;
  pointer-events:none !important;
}
html body #page-toolkit .tool-icon-card:hover .tool-card-icon{
  filter:var(--qwix-tool-icon-hover) !important;
  opacity:.95 !important;
}

html body #page-toolkit .icon-unprecomp{-webkit-mask-image:url('../assets/tools-icons/un-precomp.png') !important;mask-image:url('../assets/tools-icons/un-precomp.png') !important;}
html body #page-toolkit .icon-parent-null{-webkit-mask-image:url('../assets/tools-icons/parent-null.png') !important;mask-image:url('../assets/tools-icons/parent-null.png') !important;}
html body #page-toolkit .icon-split-text{background-image:url('../assets/tools-icons/split-text.png') !important;}
html body #page-toolkit .icon-paste-image{-webkit-mask-image:url('../assets/tools-icons/paste-image.png') !important;mask-image:url('../assets/tools-icons/paste-image.png') !important;}
html body #page-toolkit .icon-cam-nulls{-webkit-mask-image:url('../assets/tools-icons/cam-nulls.png') !important;mask-image:url('../assets/tools-icons/cam-nulls.png') !important;}
html body #page-toolkit .icon-dup-comp{-webkit-mask-image:url('../assets/tools-icons/dup-comp.png') !important;mask-image:url('../assets/tools-icons/dup-comp.png') !important;}
html body #page-toolkit .icon-gen-orb{-webkit-mask-image:url('../assets/tools-icons/gen-orb.png') !important;mask-image:url('../assets/tools-icons/gen-orb.png') !important;}

html body #page-toolkit .tool-stepper-card{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:4px !important;
  width:100% !important;
  height:100% !important;
  min-height:70px !important;
  padding:7px 6px !important;
}
html body #page-toolkit .tool-stepper-card .tool-stepper-caption{
  display:block !important;
  color:currentColor !important;
  opacity:.62 !important;
  font-size:9px !important;
  font-weight:800 !important;
  line-height:1 !important;
}
html body #page-toolkit .tool-stepper-card input{
  height:34px !important;
  min-height:28px !important;
  font-size:14px !important;
  padding:0 !important;
}
html body #page-toolkit #addFillEffectBtn{
  min-height:70px !important;
  height:100% !important;
}

/* Align: icon itself is the button. Keep a fixed icon area; let the dropdown shrink/ellipsis first. */
html body #page-toolkit .tools-align-bar-v146{
  display:grid !important;
  grid-template-columns:minmax(42px,1fr) auto !important;
  gap:8px !important;
  align-items:center !important;
  padding:5px 8px !important;
  min-height:44px !important;
  overflow:hidden !important;
}
html body #page-toolkit .tools-align-bar-v146 > .aptk-custom-select-trigger,
html body #page-toolkit .tools-align-bar-v146 > .align-target-select-v146{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
}
html body #page-toolkit .tools-align-bar-v146 > .aptk-custom-select-trigger{
  height:34px !important;
  min-height:34px !important;
  padding-left:12px !important;
  padding-right:28px !important;
  font-size:9px !important;
}
html body #page-toolkit .tools-align-bar-v146 > .aptk-custom-select-trigger span{
  min-width:0 !important;
  max-width:100% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
html body #page-toolkit .align-grid-v146{
  display:grid !important;
  grid-template-columns:repeat(6, 24px) !important;
  gap:4px !important;
  width:164px !important;
  min-width:164px !important;
  height:34px !important;
  min-height:34px !important;
  justify-content:end !important;
  align-items:center !important;
}
html body #page-toolkit .align-grid-v146 .align-action-btn,
html body #page-toolkit .align-grid-v146 button{
  width:24px !important;
  height:34px !important;
  min-width:24px !important;
  min-height:34px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  opacity:1 !important;
  transform:none !important;
}
html body #page-toolkit .align-grid-v146 .align-action-btn:hover{
  background:transparent !important;
  box-shadow:none !important;
}
html body #page-toolkit .align-grid-v146 .align-action-btn:active{
  transform:translateY(1px) !important;
  box-shadow:none !important;
}
html body #page-toolkit .align-grid-v146 .align-action-btn::before{
  content:"" !important;
  width:22px !important;
  height:22px !important;
  opacity:.84 !important;
  filter:var(--qwix-tool-icon-dark) !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:contain !important;
}
html body #page-toolkit .align-grid-v146 .align-action-btn:hover::before{
  filter:var(--qwix-tool-icon-hover) !important;
  opacity:.95 !important;
}
html body #page-toolkit .align-grid-v146 .align-action-btn:nth-child(1)::before{background-image:url('../assets/tools-icons/align-left.png') !important;}
html body #page-toolkit .align-grid-v146 .align-action-btn:nth-child(2)::before{background-image:url('../assets/tools-icons/align-center-x.png') !important;}
html body #page-toolkit .align-grid-v146 .align-action-btn:nth-child(3)::before{background-image:url('../assets/tools-icons/align-right.png') !important;}
html body #page-toolkit .align-grid-v146 .align-action-btn:nth-child(4)::before{background-image:url('../assets/tools-icons/align-top.png') !important;}
html body #page-toolkit .align-grid-v146 .align-action-btn:nth-child(5)::before{background-image:url('../assets/tools-icons/align-center-y.png') !important;}
html body #page-toolkit .align-grid-v146 .align-action-btn:nth-child(6)::before{background-image:url('../assets/tools-icons/align-bottom.png') !important;}

html[data-aptk-mode="suede"] body #page-toolkit{
  --qwix-tool-icon-dark: brightness(0) saturate(100%) invert(19%) sepia(11%) saturate(802%) hue-rotate(357deg) brightness(92%) contrast(90%);
  --qwix-tool-icon-hover: brightness(0) saturate(100%) invert(25%) sepia(14%) saturate(940%) hue-rotate(357deg) brightness(94%) contrast(90%);
}

@media (max-width:360px){
  html body #page-toolkit .tools-upper-v146{
    grid-template-columns:minmax(96px, 108px) minmax(0,1fr) !important;
    gap:7px !important;
  }
  html body #page-toolkit .anchor-grid-v146{gap:5px !important;}
  html body #page-toolkit .tools-functions-v146{gap:7px !important; grid-template-rows:minmax(62px,1fr) minmax(62px,1fr) !important;}
  html body #page-toolkit .tools-functions-v146 .tools-row-v146{gap:6px !important;}
  html body #page-toolkit .tool-icon-card,
  html body #page-toolkit .tool-stepper-card,
  html body #page-toolkit #addFillEffectBtn{
    min-height:62px !important;
    padding-left:5px !important;
    padding-right:5px !important;
  }
  html body #page-toolkit .tool-icon-card .tool-card-label{font-size:8.5px !important;}
  html body #page-toolkit .tool-icon-card .tool-card-icon{height:34px !important; width:min(38px, 64%) !important;}
  html body #page-toolkit .tool-stepper-card .tool-stepper-caption{font-size:8px !important;}
  html body #page-toolkit .align-grid-v146{
    grid-template-columns:repeat(6, 22px) !important;
    width:147px !important;
    min-width:147px !important;
    gap:3px !important;
  }
  html body #page-toolkit .align-grid-v146 .align-action-btn,
  html body #page-toolkit .align-grid-v146 button{width:22px !important; min-width:22px !important;}
  html body #page-toolkit .align-grid-v146 .align-action-btn::before{width:20px !important; height:20px !important;}
}

@media (max-width:330px){
  html body #page-toolkit{padding-left:6px !important; padding-right:6px !important;}
  html body #page-toolkit .tools-upper-v146{
    grid-template-columns:minmax(86px, 96px) minmax(0,1fr) !important;
    gap:6px !important;
  }
  html body #page-toolkit .anchor-grid-v146{gap:3px !important;}
  html body #page-toolkit .tools-layers-row-v146{gap:6px !important;}
  html body #page-toolkit .tools-functions-v146 .tools-actions-row-v146{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
  html body #page-toolkit .tools-functions-v146 .tools-bottom-buttons-row-v146{grid-template-columns:repeat(5,minmax(0,1fr)) !important;}
  html body #page-toolkit .tools-align-bar-v146{gap:5px !important; padding-left:6px !important; padding-right:6px !important;}
  html body #page-toolkit .align-grid-v146{
    grid-template-columns:repeat(6, 20px) !important;
    width:132px !important;
    min-width:132px !important;
    gap:2px !important;
  }
  html body #page-toolkit .align-grid-v146 .align-action-btn,
  html body #page-toolkit .align-grid-v146 button{width:20px !important; min-width:20px !important;}
  html body #page-toolkit .align-grid-v146 .align-action-btn::before{width:18px !important; height:18px !important;}
}

@media (max-height:390px){
  html body #page-toolkit .tools-upper-v146{flex-basis:106px !important; min-height:106px !important;}
  html body #page-toolkit .tools-functions-v146{grid-template-rows:minmax(58px,1fr) minmax(58px,1fr) !important; gap:6px !important;}
  html body #page-toolkit .tool-icon-card,
  html body #page-toolkit .tool-stepper-card,
  html body #page-toolkit #addFillEffectBtn{min-height:58px !important; gap:4px !important; padding-top:6px !important; padding-bottom:6px !important;}
  html body #page-toolkit .tool-icon-card .tool-card-icon{height:30px !important;}
  html body #page-toolkit .tools-align-bar-v146{margin-top:6px !important; min-height:38px !important; padding-top:3px !important; padding-bottom:3px !important;}
}

/* final contrast tune: the icons stay muted/dark, but not lost on the Tools surface */
html body #page-toolkit{
  --qwix-tool-icon-dark: brightness(0) saturate(0%) invert(42%);
  --qwix-tool-icon-hover: brightness(0) saturate(0%) invert(50%);
  --qwix-tool-label: rgba(116,116,116,.90);
}
html body #page-toolkit .tool-icon-card .tool-card-label,
html body #page-toolkit .tool-stepper-card .tool-stepper-caption{
  color:var(--qwix-tool-label) !important;
  opacity:1 !important;
}
html[data-aptk-mode="suede"] body #page-toolkit{
  --qwix-tool-icon-dark: brightness(0) saturate(0%) invert(37%);
  --qwix-tool-icon-hover: brightness(0) saturate(0%) invert(45%);
  --qwix-tool-label: rgba(96,90,76,.92);
}


/* embedded icons: prevents CEP/path quirks from dropping the new tool artwork */
html body #page-toolkit .icon-unprecomp{-webkit-mask-image:url('../assets/tools-icons/un-precomp.png') !important;mask-image:url('../assets/tools-icons/un-precomp.png') !important;}
html body #page-toolkit .icon-parent-null{-webkit-mask-image:url('../assets/tools-icons/parent-null.png') !important;mask-image:url('../assets/tools-icons/parent-null.png') !important;}
html body #page-toolkit .icon-split-text{background-image:url('data:image/png;base64,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fCUSo3R6XRkZGZXNmzbIpo0b5ZRnnvLqGTNnDT366Hp59NFH5c4775A1jzzyyLvf9Rf00gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+X3twSAAAAAAg6P9rbxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYCZvzHcX6cm/VwAAAABJRU5ErkJggg==') !important;}
html body #page-toolkit .icon-paste-image{-webkit-mask-image:url('../assets/tools-icons/paste-image.png') !important;mask-image:url('../assets/tools-icons/paste-image.png') !important;}
html body #page-toolkit .icon-cam-nulls{-webkit-mask-image:url('../assets/tools-icons/cam-nulls.png') !important;mask-image:url('../assets/tools-icons/cam-nulls.png') !important;}
html body #page-toolkit .icon-dup-comp{-webkit-mask-image:url('../assets/tools-icons/dup-comp.png') !important;mask-image:url('../assets/tools-icons/dup-comp.png') !important;}
html body #page-toolkit .icon-gen-orb{-webkit-mask-image:url('../assets/tools-icons/gen-orb.png') !important;mask-image:url('../assets/tools-icons/gen-orb.png') !important;}
html body #page-toolkit .align-grid-v146 .align-action-btn:nth-child(1)::before{background-image:url('data:image/png;base64,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') !important;}
html body #page-toolkit .align-grid-v146 .align-action-btn:nth-child(2)::before{background-image:url('data:image/png;base64,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') !important;}
html body #page-toolkit .align-grid-v146 .align-action-btn:nth-child(3)::before{background-image:url('data:image/png;base64,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') !important;}
html body #page-toolkit .align-grid-v146 .align-action-btn:nth-child(4)::before{background-image:url('data:image/png;base64,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') !important;}
html body #page-toolkit .align-grid-v146 .align-action-btn:nth-child(5)::before{background-image:url('data:image/png;base64,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') !important;}
html body #page-toolkit .align-grid-v146 .align-action-btn:nth-child(6)::before{background-image:url('data:image/png;base64,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') !important;}


/* v2 square Tools pass: labels removed, square function blocks, normalized smaller icons. */
html body #page-toolkit .tools-functions-v146{
  grid-template-rows:auto auto !important;
  align-content:start !important;
  gap:8px !important;
}
html body #page-toolkit .tools-functions-v146 .tools-row-v146{
  height:auto !important;
  min-height:0 !important;
  align-items:start !important;
}
html body #page-toolkit .tools-functions-v146 .tools-actions-row-v146{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  grid-auto-rows:auto !important;
}
html body #page-toolkit .tools-functions-v146 .tools-bottom-buttons-row-v146{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}
html body #page-toolkit .tool-icon-card,
html body #page-toolkit #addFillEffectBtn{
  aspect-ratio:1 / 1 !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding:0 !important;
  gap:0 !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
}
html body #page-toolkit .tool-icon-card .tool-card-label{
  display:none !important;
}
html body #page-toolkit .tool-icon-card .tool-card-icon{
  flex:0 0 auto !important;
  width:clamp(22px, 34%, 30px) !important;
  height:clamp(22px, 34%, 30px) !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:30px !important;
  max-height:30px !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:contain !important;
  margin:0 !important;
}
html body #page-toolkit .tool-stepper-card{
  display:none !important;
}
html body #page-toolkit #addFillEffectBtn{
  display:flex !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:800 !important;
  white-space:nowrap !important;
}
html body #page-toolkit .icon-unprecomp{-webkit-mask-image:url('../assets/tools-icons/un-precomp.png') !important;mask-image:url('../assets/tools-icons/un-precomp.png') !important;}
html body #page-toolkit .icon-parent-null{-webkit-mask-image:url('../assets/tools-icons/parent-null.png') !important;mask-image:url('../assets/tools-icons/parent-null.png') !important;}
html body #page-toolkit .icon-split-text{background-image:url('../assets/tools-icons/split-text.png') !important;}
html body #page-toolkit .icon-paste-image{-webkit-mask-image:url('../assets/tools-icons/paste-image.png') !important;mask-image:url('../assets/tools-icons/paste-image.png') !important;}
html body #page-toolkit .icon-cam-nulls{-webkit-mask-image:url('../assets/tools-icons/cam-nulls.png') !important;mask-image:url('../assets/tools-icons/cam-nulls.png') !important;}
html body #page-toolkit .icon-dup-comp{-webkit-mask-image:url('../assets/tools-icons/dup-comp.png') !important;mask-image:url('../assets/tools-icons/dup-comp.png') !important;}
html body #page-toolkit .icon-gen-orb{-webkit-mask-image:url('../assets/tools-icons/gen-orb.png') !important;mask-image:url('../assets/tools-icons/gen-orb.png') !important;}

@media (max-width:360px){
  html body #page-toolkit .tools-functions-v146{gap:7px !important; grid-template-rows:auto auto !important;}
  html body #page-toolkit .tools-functions-v146 .tools-row-v146{gap:6px !important;}
  html body #page-toolkit .tool-icon-card,
  html body #page-toolkit #addFillEffectBtn{min-height:0 !important; padding:0 !important;}
  html body #page-toolkit .tool-icon-card .tool-card-icon{width:clamp(20px, 34%, 27px) !important; height:clamp(20px, 34%, 27px) !important; max-width:27px !important; max-height:27px !important;}
}
@media (max-height:390px){
  html body #page-toolkit .tools-functions-v146{grid-template-rows:auto auto !important; gap:6px !important;}
  html body #page-toolkit .tool-icon-card,
  html body #page-toolkit #addFillEffectBtn{min-height:0 !important; padding:0 !important; gap:0 !important;}
  html body #page-toolkit .tool-icon-card .tool-card-icon{height:clamp(20px, 34%, 27px) !important; width:clamp(20px, 34%, 27px) !important; max-width:27px !important; max-height:27px !important;}
}


/* v3 polish: unified Anchor grid, Camera label, theme-accent Tools icons, square Fill, global raised button chrome. */
html body #page-toolkit{
  --qwix-tool-icon-accent: var(--aptk-primary, #D97757);
}
html[data-aptk-mode="suede"] body #page-toolkit{
  --qwix-tool-icon-accent: var(--aptk-primary, #a67c42);
}

/* Standard raised/highlighted chrome for Tools page buttons and blocks. */
html body #page-toolkit .tool-btn-v146,
html body #page-toolkit .tool-swatch-btn-v146,
html body #page-toolkit .anchor-grid-v146{
  border-color: var(--qwix-border, rgba(255,255,255,.14)) !important;
  box-shadow: var(--qwix-shadow-card, inset 0 1px 0 rgba(255,255,255,.04)) !important;
  transition: background var(--qwix-dur,140ms), color var(--qwix-dur,140ms), border-color var(--qwix-dur,140ms), box-shadow var(--qwix-dur,140ms), opacity var(--qwix-dur,140ms) !important;
}
html:not([data-aptk-mode="suede"]) body #page-toolkit .tool-btn-v146,
html:not([data-aptk-mode="suede"]) body #page-toolkit .tool-swatch-btn-v146{
  background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(0,0,0,.055)), var(--aptk-secondary, #262626) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045), 0 2px 6px rgba(0,0,0,.20) !important;
}
html:not([data-aptk-mode="suede"]) body #page-toolkit .tool-btn-v146:hover,
html:not([data-aptk-mode="suede"]) body #page-toolkit .tool-swatch-btn-v146:hover{
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(0,0,0,.045)), var(--qwix-surface-hover, #34302A) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 3px 8px rgba(0,0,0,.24) !important;
}
html[data-aptk-mode="suede"] body #page-toolkit .tool-btn-v146,
html[data-aptk-mode="suede"] body #page-toolkit .tool-swatch-btn-v146,
html[data-aptk-mode="suede"] body #page-toolkit .anchor-grid-v146,
html[data-aptk-mode="suede"] body #page-toolkit .aptk-custom-select-trigger{
  background: var(--qwix-grad-raised, linear-gradient(160deg, #f0e4cc, #e8dcc4)) !important;
  box-shadow: var(--qwix-shadow-raised, 0 1px 0 rgba(255,255,255,.6) inset, 0 4px 10px -8px rgba(70,55,30,.35)) !important;
  border-color: rgba(90,70,35,.18) !important;
}
html[data-aptk-mode="suede"] body #page-toolkit .tool-btn-v146:hover,
html[data-aptk-mode="suede"] body #page-toolkit .tool-swatch-btn-v146:hover{
  background: var(--qwix-surface-hover, #f2e7ce) !important;
  box-shadow: var(--qwix-shadow-raised-lg, var(--qwix-shadow-raised)) !important;
}

/* Anchor Point Mover: single compact 3x3 pad with inner separators, no separate card buttons. */
html body #page-toolkit .tools-anchor-cluster-v146,
html body #page-toolkit .tools-anchor-grid-wrap-v146{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  min-width:0 !important;
}
html body #page-toolkit .tools-anchor-grid-wrap-v146{
  width:100% !important;
  height:auto !important;
  grid-template-columns:none !important;
  gap:0 !important;
}
html body #page-toolkit .anchor-grid-v146{
  position:relative !important;
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  grid-template-rows:repeat(3, minmax(0,1fr)) !important;
  gap:0 !important;
  width:min(100%, 98px) !important;
  height:auto !important;
  aspect-ratio:1 / 1 !important;
  min-width:0 !important;
  min-height:0 !important;
  margin:0 auto !important;
  padding:0 !important;
  overflow:hidden !important;
  border:1px solid var(--qwix-border-subtle, rgba(255,255,255,.08)) !important;
  border-radius:10px !important;
  background:var(--qwix-surface, #242424) !important;
}
html:not([data-aptk-mode="suede"]) body #page-toolkit .anchor-grid-v146{
  background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(0,0,0,.08)), var(--aptk-secondary, #242424) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 2px 6px rgba(0,0,0,.22) !important;
}
html body #page-toolkit .anchor-grid-v146 .square-btn,
html body #page-toolkit .anchor-grid-v146 button{
  position:relative !important;
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  aspect-ratio:auto !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  color:var(--qwix-ink-tertiary, rgba(244,244,245,.45)) !important;
  opacity:1 !important;
  transform:none !important;
}
html body #page-toolkit .anchor-grid-v146 button:not(:nth-child(3n)){
  border-right:1px solid var(--qwix-border-subtle, rgba(255,255,255,.07)) !important;
}
html body #page-toolkit .anchor-grid-v146 button:nth-child(-n+6){
  border-bottom:1px solid var(--qwix-border-subtle, rgba(255,255,255,.07)) !important;
}
html body #page-toolkit .anchor-grid-v146 button:hover{
  background:var(--qwix-surface-hover, rgba(255,255,255,.035)) !important;
  box-shadow:none !important;
}
html body #page-toolkit .anchor-grid-v146 button:active{
  background:var(--qwix-surface-pressed, rgba(0,0,0,.10)) !important;
  transform:none !important;
  box-shadow:none !important;
}
html body #page-toolkit .anchor-grid-v146 button span{display:none !important;}
html body #page-toolkit .anchor-grid-v146 button::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:var(--qwix-ink-tertiary, rgba(244,244,245,.45)) !important;
  font-size:14px !important;
  line-height:1 !important;
  font-weight:900 !important;
  transform:none !important;
}
html body #page-toolkit .anchor-grid-v146 button:nth-child(1)::before{content:"◤" !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(2)::before{content:"▲" !important; font-size:12px !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(3)::before{content:"◥" !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(4)::before{content:"◀" !important; font-size:12px !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(5)::before{content:"•" !important; font-size:18px !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(6)::before{content:"▶" !important; font-size:12px !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(7)::before{content:"◣" !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(8)::before{content:"▼" !important; font-size:12px !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(9)::before{content:"◢" !important;}
html[data-aptk-mode="suede"] body #page-toolkit .anchor-grid-v146 button,
html[data-aptk-mode="suede"] body #page-toolkit .anchor-grid-v146 button::before{
  color:var(--qwix-ink-tertiary, #9a8c71) !important;
}
html[data-aptk-mode="suede"] body #page-toolkit .anchor-grid-v146 button:not(:nth-child(3n)){
  border-right-color:rgba(90,70,35,.14) !important;
}
html[data-aptk-mode="suede"] body #page-toolkit .anchor-grid-v146 button:nth-child(-n+6){
  border-bottom-color:rgba(90,70,35,.14) !important;
}

/* Main Tools icons use the plugin accent/theme color via mask, not a dark PNG filter. Align icons stay separate. */
html body #page-toolkit .tool-icon-card .tool-card-icon{
  background-color:var(--qwix-tool-icon-accent) !important;
  background-image:none !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:contain !important;
  -webkit-mask-repeat:no-repeat !important;
  mask-repeat:no-repeat !important;
  -webkit-mask-position:center !important;
  mask-position:center !important;
  -webkit-mask-size:contain !important;
  mask-size:contain !important;
  filter:none !important;
  opacity:.72 !important;
}
html body #page-toolkit .tool-icon-card:hover .tool-card-icon{opacity:.9 !important; filter:none !important;}
html body #page-toolkit .icon-unprecomp{-webkit-mask-image:url('../assets/tools-icons/un-precomp.png') !important;mask-image:url('../assets/tools-icons/un-precomp.png') !important;}
html body #page-toolkit .icon-parent-null{-webkit-mask-image:url('../assets/tools-icons/parent-null.png') !important;mask-image:url('../assets/tools-icons/parent-null.png') !important;}
html body #page-toolkit .icon-split-text{-webkit-mask-image:url('../assets/tools-icons/split-text.png') !important; mask-image:url('../assets/tools-icons/split-text.png') !important;}
html body #page-toolkit .icon-paste-image{-webkit-mask-image:url('../assets/tools-icons/paste-image.png') !important;mask-image:url('../assets/tools-icons/paste-image.png') !important;}
html body #page-toolkit .icon-cam-nulls{-webkit-mask-image:url('../assets/tools-icons/cam-nulls.png') !important;mask-image:url('../assets/tools-icons/cam-nulls.png') !important;}
html body #page-toolkit .icon-dup-comp{-webkit-mask-image:url('../assets/tools-icons/dup-comp.png') !important;mask-image:url('../assets/tools-icons/dup-comp.png') !important;}
html body #page-toolkit .icon-gen-orb{-webkit-mask-image:url('../assets/tools-icons/gen-orb.png') !important;mask-image:url('../assets/tools-icons/gen-orb.png') !important;}

/* Keep function cards square; Fill is a normal card now, not a loose separate button. */
html body #page-toolkit .tools-functions-v146 .tools-actions-row-v146,
html body #page-toolkit .tools-functions-v146 .tools-bottom-buttons-row-v146{
  grid-auto-rows:auto !important;
  align-items:stretch !important;
}
html body #page-toolkit .tools-functions-v146 .tools-bottom-buttons-row-v146{
  grid-template-columns:repeat(4, minmax(0,1fr)) !important;
}
html body #page-toolkit .tools-functions-v146 .tools-bottom-buttons-row-v146 > *{
  min-width:0 !important;
  max-width:none !important;
  width:100% !important;
}
html body #page-toolkit #addFillEffectBtn{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  aspect-ratio:1 / 1 !important;
  width:100% !important;
  max-width:none !important;
  height:auto !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  box-sizing:border-box !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:800 !important;
  white-space:nowrap !important;
}
html body #page-toolkit .tool-stepper-card.qwix-hidden-camera-count{display:none !important;}

/* Top create-layer labels: let “Camera” fit cleanly even at narrow widths. */
html body #page-toolkit .tools-layers-row-v146 .tool-btn-v146{
  font-size:clamp(9px, 3.2vw, 11px) !important;
  letter-spacing:-.015em !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

@media (max-width:360px){
  html body #page-toolkit .anchor-grid-v146{width:min(100%, 92px) !important;}
  html body #page-toolkit .anchor-grid-v146 button::before{font-size:12px !important;}
  html body #page-toolkit .anchor-grid-v146 button:nth-child(2)::before,
  html body #page-toolkit .anchor-grid-v146 button:nth-child(4)::before,
  html body #page-toolkit .anchor-grid-v146 button:nth-child(6)::before,
  html body #page-toolkit .anchor-grid-v146 button:nth-child(8)::before{font-size:10px !important;}
}

/* v4 correction pass: compact separated Anchor buttons, tool icons now match the main-menu selected button color, fixed Fill scaling. */
html body #page-toolkit{
  --qwix-tool-icon-theme: var(--aptk-primary, #D97757);
  --qwix-tool-icon-theme-hover: var(--qwix-accent-hover, #E2835F);
}
html[data-aptk-mode="suede"] body #page-toolkit{
  --qwix-tool-icon-theme: var(--aptk-primary, #D97757);
  --qwix-tool-icon-theme-hover: var(--qwix-accent-hover, #E2835F);
}

/* Anchor Point Mover: back to the separated 3x3 mini-buttons, only the glyphs are changed. */
html body #page-toolkit .tools-upper-v146{
  grid-template-columns:minmax(88px, 100px) minmax(0,1fr) !important;
  gap:12px !important;
}
html body #page-toolkit .tools-anchor-cluster-v146,
html body #page-toolkit .tools-anchor-grid-wrap-v146{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  width:100% !important;
  min-width:0 !important;
}
html body #page-toolkit .anchor-grid-v146{
  display:grid !important;
  grid-template-columns:repeat(3, 1fr) !important;
  grid-template-rows:repeat(3, 1fr) !important;
  gap:5px !important;
  width:min(100%, 90px) !important;
  height:auto !important;
  aspect-ratio:1 / 1 !important;
  padding:0 !important;
  margin:0 auto !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  overflow:visible !important;
}
html body #page-toolkit .anchor-grid-v146 .square-btn,
html body #page-toolkit .anchor-grid-v146 button{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  aspect-ratio:1 / 1 !important;
  padding:0 !important;
  border:1px solid var(--qwix-border-subtle, rgba(255,255,255,.08)) !important;
  border-radius:4px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(0,0,0,.07)), var(--aptk-secondary, #242424) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035), 0 1px 3px rgba(0,0,0,.16) !important;
  color:var(--qwix-ink-tertiary, rgba(244,244,245,.45)) !important;
  opacity:1 !important;
  overflow:hidden !important;
  transform:none !important;
}
html body #page-toolkit .anchor-grid-v146 button:not(:nth-child(3n)){
  border-right:1px solid var(--qwix-border-subtle, rgba(255,255,255,.08)) !important;
}
html body #page-toolkit .anchor-grid-v146 button:nth-child(-n+6){
  border-bottom:1px solid var(--qwix-border-subtle, rgba(255,255,255,.08)) !important;
}
html body #page-toolkit .anchor-grid-v146 button:hover{
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(0,0,0,.045)), var(--qwix-surface-hover, #302d28) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 2px 5px rgba(0,0,0,.20) !important;
}
html body #page-toolkit .anchor-grid-v146 button:active{
  transform:translateY(1px) !important;
  background:var(--qwix-surface-pressed, rgba(0,0,0,.12)) !important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.18) !important;
}
html body #page-toolkit .anchor-grid-v146 button span{display:none !important;}
html body #page-toolkit .anchor-grid-v146 button::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:var(--qwix-ink-tertiary, rgba(244,244,245,.45)) !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:900 !important;
  transform:none !important;
  text-align:center !important;
}
html body #page-toolkit .anchor-grid-v146 button:nth-child(1)::before{content:"◤" !important; font-size:11px !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(2)::before{content:"▲" !important; font-size:10px !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(3)::before{content:"◥" !important; font-size:11px !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(4)::before{content:"◀" !important; font-size:10px !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(5)::before{content:"•" !important; font-size:15px !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(6)::before{content:"▶" !important; font-size:10px !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(7)::before{content:"◣" !important; font-size:11px !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(8)::before{content:"▼" !important; font-size:10px !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(9)::before{content:"◢" !important; font-size:11px !important;}
html[data-aptk-mode="suede"] body #page-toolkit .anchor-grid-v146 .square-btn,
html[data-aptk-mode="suede"] body #page-toolkit .anchor-grid-v146 button{
  background:var(--qwix-grad-raised, linear-gradient(160deg, #f0e4cc, #e8dcc4)) !important;
  border-color:rgba(90,70,35,.16) !important;
  box-shadow:var(--qwix-shadow-raised, 0 1px 0 rgba(255,255,255,.6) inset, 0 4px 10px -8px rgba(70,55,30,.35)) !important;
  color:var(--qwix-ink-tertiary, #9a8c71) !important;
}
html[data-aptk-mode="suede"] body #page-toolkit .anchor-grid-v146 button::before{color:var(--qwix-ink-tertiary, #9a8c71) !important;}
html[data-aptk-mode="suede"] body #page-toolkit .anchor-grid-v146 button:hover{
  background:var(--qwix-surface-hover, #f2e7ce) !important;
  color:var(--qwix-ink-secondary, #6e624e) !important;
}

/* Main Tools icons: use the same accent color as the active main-menu button. */
html body #page-toolkit .tool-icon-card .tool-card-icon{
  background-color:var(--qwix-tool-icon-theme) !important;
  filter:none !important;
  opacity:1 !important;
}
html body #page-toolkit .tool-icon-card:hover .tool-card-icon{
  background-color:var(--qwix-tool-icon-theme-hover) !important;
  opacity:1 !important;
}

/* Fill participates in exactly the same grid and square sizing as the icon cards. */
html body #page-toolkit .tools-functions-v146 .tools-bottom-buttons-row-v146{
  grid-template-columns:repeat(4, minmax(0,1fr)) !important;
  align-items:stretch !important;
}
html body #page-toolkit .tools-functions-v146 .tools-bottom-buttons-row-v146 > button,
html body #page-toolkit .tools-functions-v146 .tools-bottom-buttons-row-v146 > .tool-icon-card,
html body #page-toolkit #addFillEffectBtn{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:1 / 1 !important;
  margin:0 !important;
  box-sizing:border-box !important;
}
html body #page-toolkit #addFillEffectBtn{
  border-radius:10px !important;
  font-size:11px !important;
}

@media (max-width:360px){
  html body #page-toolkit .tools-upper-v146{grid-template-columns:minmax(80px, 90px) minmax(0,1fr) !important; gap:10px !important;}
  html body #page-toolkit .anchor-grid-v146{width:min(100%, 82px) !important; gap:4px !important;}
}
@media (max-width:330px){
  html body #page-toolkit .tools-upper-v146{grid-template-columns:minmax(72px, 82px) minmax(0,1fr) !important; gap:8px !important;}
  html body #page-toolkit .anchor-grid-v146{width:min(100%, 76px) !important; gap:3px !important;}
  html body #page-toolkit .anchor-grid-v146 button::before{font-size:9px !important;}
  html body #page-toolkit .anchor-grid-v146 button:nth-child(5)::before{font-size:13px !important;}
}

/* v5 correction: restore the previous Anchor Point grid sizing/spacing; keep only the new arrow glyphs. Also reduce the button highlight to match the subtler Text-page chrome. */
html body #page-toolkit .tools-upper-v146{
  grid-template-columns:minmax(108px, 120px) minmax(0,1fr) !important;
  gap:8px !important;
  align-items:stretch !important;
}
html body #page-toolkit .tools-anchor-cluster-v146,
html body #page-toolkit .tools-anchor-grid-wrap-v146{
  display:grid !important;
  align-items:stretch !important;
  justify-content:stretch !important;
  width:100% !important;
  min-width:0 !important;
}
html body #page-toolkit .tools-anchor-grid-wrap-v146{
  grid-template-columns:minmax(0, 120px) !important;
  gap:0 !important;
}
html body #page-toolkit .anchor-grid-v146{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  grid-auto-rows:minmax(0, 1fr) !important;
  grid-template-rows:repeat(3, minmax(0, 1fr)) !important;
  gap:6px !important;
  width:100% !important;
  height:auto !important;
  aspect-ratio:1 / 1 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  overflow:visible !important;
}
html body #page-toolkit .anchor-grid-v146 .square-btn,
html body #page-toolkit .anchor-grid-v146 button{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  aspect-ratio:1 / 1 !important;
  padding:0 !important;
  border-radius:8px !important;
  border:1px solid var(--v138-edge-strong, rgba(255,255,255,.05)) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.014), rgba(0,0,0,.018)), var(--v138-user-button, var(--aptk-secondary, #242424)) !important;
  box-shadow:var(--v138-hard-shadow-small, inset 0 1px 0 rgba(255,255,255,.03)) !important;
  color:var(--qwix-ink-tertiary, rgba(244,244,245,.45)) !important;
  opacity:1 !important;
  overflow:hidden !important;
  transform:none !important;
}
html body #page-toolkit .anchor-grid-v146 button:not(:nth-child(3n)){
  border-right:1px solid var(--v138-edge-strong, rgba(255,255,255,.05)) !important;
}
html body #page-toolkit .anchor-grid-v146 button:nth-child(-n+6){
  border-bottom:1px solid var(--v138-edge-strong, rgba(255,255,255,.05)) !important;
}
html body #page-toolkit .anchor-grid-v146 button:hover{
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(0,0,0,.015)), var(--qwix-surface-hover, #302d28) !important;
  box-shadow:var(--v138-hard-shadow-small, inset 0 1px 0 rgba(255,255,255,.03)) !important;
}
html body #page-toolkit .anchor-grid-v146 button:active{
  transform:none !important;
  background:var(--qwix-surface-pressed, rgba(0,0,0,.10)) !important;
  box-shadow:var(--v138-hard-inset, inset 0 1px 2px rgba(0,0,0,.28)) !important;
}
html body #page-toolkit .anchor-grid-v146 button span{display:none !important;}
html body #page-toolkit .anchor-grid-v146 button::before{
  position:absolute !important;
  inset:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:var(--qwix-ink-tertiary, rgba(244,244,245,.45)) !important;
  line-height:1 !important;
  font-weight:900 !important;
  transform:none !important;
  text-align:center !important;
}
html body #page-toolkit .anchor-grid-v146 button:nth-child(1)::before{content:"◤" !important; font-size:11px !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(2)::before{content:"▲" !important; font-size:10px !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(3)::before{content:"◥" !important; font-size:11px !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(4)::before{content:"◀" !important; font-size:10px !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(5)::before{content:"•" !important; font-size:15px !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(6)::before{content:"▶" !important; font-size:10px !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(7)::before{content:"◣" !important; font-size:11px !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(8)::before{content:"▼" !important; font-size:10px !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(9)::before{content:"◢" !important; font-size:11px !important;}

/* Subtler raised state for Tools blocks/buttons: same low-key highlight family as Text page. */
html:not([data-aptk-mode="suede"]) body #page-toolkit .tool-btn-v146,
html:not([data-aptk-mode="suede"]) body #page-toolkit .tool-swatch-btn-v146,
html:not([data-aptk-mode="suede"]) body #page-toolkit .aptk-custom-select-trigger{
  background:linear-gradient(180deg, rgba(255,255,255,.014), rgba(0,0,0,.018)), var(--v138-user-button, var(--aptk-secondary, #242424)) !important;
  border-color:var(--v138-edge-strong, rgba(255,255,255,.05)) !important;
  box-shadow:var(--v138-hard-shadow-small, inset 0 1px 0 rgba(255,255,255,.03)) !important;
}
html:not([data-aptk-mode="suede"]) body #page-toolkit .tool-btn-v146:hover,
html:not([data-aptk-mode="suede"]) body #page-toolkit .tool-swatch-btn-v146:hover,
html:not([data-aptk-mode="suede"]) body #page-toolkit .aptk-custom-select-trigger:hover{
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(0,0,0,.015)), var(--qwix-surface-hover, #302d28) !important;
  box-shadow:var(--v138-hard-shadow-small, inset 0 1px 0 rgba(255,255,255,.03)) !important;
}
html[data-aptk-mode="suede"] body #page-toolkit .tool-btn-v146,
html[data-aptk-mode="suede"] body #page-toolkit .tool-swatch-btn-v146,
html[data-aptk-mode="suede"] body #page-toolkit .anchor-grid-v146 .square-btn,
html[data-aptk-mode="suede"] body #page-toolkit .anchor-grid-v146 button,
html[data-aptk-mode="suede"] body #page-toolkit .aptk-custom-select-trigger{
  background:linear-gradient(180deg, rgba(255,255,255,.20), rgba(0,0,0,.010)), var(--v138-user-button, var(--aptk-secondary, #EADFC8)) !important;
  border-color:var(--v138-edge-strong, rgba(61,53,39,.14)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.42), 0 2px 5px -5px rgba(70,55,30,.30) !important;
}
html[data-aptk-mode="suede"] body #page-toolkit .tool-btn-v146:hover,
html[data-aptk-mode="suede"] body #page-toolkit .tool-swatch-btn-v146:hover,
html[data-aptk-mode="suede"] body #page-toolkit .anchor-grid-v146 button:hover,
html[data-aptk-mode="suede"] body #page-toolkit .aptk-custom-select-trigger:hover{
  background:linear-gradient(180deg, rgba(255,255,255,.24), rgba(0,0,0,.006)), var(--qwix-surface-hover, #F2E7CE) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.48), 0 3px 7px -6px rgba(70,55,30,.32) !important;
}

@media (max-width:360px){
  html body #page-toolkit .tools-upper-v146{
    grid-template-columns:minmax(96px, 108px) minmax(0,1fr) !important;
    gap:7px !important;
  }
  html body #page-toolkit .anchor-grid-v146{gap:5px !important;}
}
@media (max-width:330px){
  html body #page-toolkit .tools-upper-v146{
    grid-template-columns:minmax(86px, 96px) minmax(0,1fr) !important;
    gap:6px !important;
  }
  html body #page-toolkit .anchor-grid-v146{gap:3px !important;}
}

/* v6 user pass: Anchor grid fills the same vertical span as Adj/Camera, no 9-button backing, subtler Text-like chrome, and a restored Composition chevron. */
html body #page-toolkit .tools-upper-v146{
  grid-template-columns:minmax(116px, 120px) minmax(0,1fr) !important;
  gap:8px !important;
  align-items:stretch !important;
}
html body #page-toolkit .tools-anchor-cluster-v146,
html body #page-toolkit .tools-anchor-grid-wrap-v146{
  display:flex !important;
  align-items:stretch !important;
  justify-content:stretch !important;
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  overflow:visible !important;
}
html body #page-toolkit .anchor-grid-v146{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  grid-template-rows:repeat(3, minmax(0,1fr)) !important;
  grid-auto-rows:minmax(0,1fr) !important;
  gap:6px !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  aspect-ratio:auto !important;
  align-self:stretch !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  overflow:visible !important;
}
html body #page-toolkit .anchor-grid-v146::before,
html body #page-toolkit .anchor-grid-v146::after,
html body #page-toolkit .tools-anchor-cluster-v146::before,
html body #page-toolkit .tools-anchor-cluster-v146::after,
html body #page-toolkit .tools-anchor-grid-wrap-v146::before,
html body #page-toolkit .tools-anchor-grid-wrap-v146::after{
  content:none !important;
  display:none !important;
}
html body #page-toolkit .anchor-grid-v146 .square-btn,
html body #page-toolkit .anchor-grid-v146 button{
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  aspect-ratio:auto !important;
  border-radius:8px !important;
}

/* Less aggressive highlights/shadows: keep the raised feel, but closer to the Text page. */
html:not([data-aptk-mode="suede"]) body #page-toolkit .tool-btn-v146,
html:not([data-aptk-mode="suede"]) body #page-toolkit .tool-swatch-btn-v146,
html:not([data-aptk-mode="suede"]) body #page-toolkit .aptk-custom-select-trigger,
html:not([data-aptk-mode="suede"]) body #page-toolkit .anchor-grid-v146 button{
  background:linear-gradient(180deg, rgba(255,255,255,.008), rgba(0,0,0,.014)), var(--v138-user-button, var(--aptk-secondary, #242424)) !important;
  border-color:var(--v138-edge-strong, rgba(255,255,255,.045)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.018), 0 1px 2px rgba(0,0,0,.10) !important;
}
html:not([data-aptk-mode="suede"]) body #page-toolkit .tool-btn-v146:hover,
html:not([data-aptk-mode="suede"]) body #page-toolkit .tool-swatch-btn-v146:hover,
html:not([data-aptk-mode="suede"]) body #page-toolkit .aptk-custom-select-trigger:hover,
html:not([data-aptk-mode="suede"]) body #page-toolkit .anchor-grid-v146 button:hover{
  background:linear-gradient(180deg, rgba(255,255,255,.012), rgba(0,0,0,.010)), var(--qwix-surface-hover, #302d28) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.022), 0 1px 3px rgba(0,0,0,.12) !important;
}
html[data-aptk-mode="suede"] body #page-toolkit .tool-btn-v146,
html[data-aptk-mode="suede"] body #page-toolkit .tool-swatch-btn-v146,
html[data-aptk-mode="suede"] body #page-toolkit .anchor-grid-v146 .square-btn,
html[data-aptk-mode="suede"] body #page-toolkit .anchor-grid-v146 button,
html[data-aptk-mode="suede"] body #page-toolkit .aptk-custom-select-trigger{
  background:linear-gradient(180deg, rgba(255,255,255,.105), rgba(0,0,0,.006)), var(--v138-user-button, var(--aptk-secondary, #EADFC8)) !important;
  border-color:var(--v138-edge-strong, rgba(61,53,39,.13)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.26), 0 2px 4px -5px rgba(70,55,30,.24) !important;
}
html[data-aptk-mode="suede"] body #page-toolkit .tool-btn-v146:hover,
html[data-aptk-mode="suede"] body #page-toolkit .tool-swatch-btn-v146:hover,
html[data-aptk-mode="suede"] body #page-toolkit .anchor-grid-v146 button:hover,
html[data-aptk-mode="suede"] body #page-toolkit .aptk-custom-select-trigger:hover{
  background:linear-gradient(180deg, rgba(255,255,255,.13), rgba(0,0,0,.004)), var(--qwix-surface-hover, #F2E7CE) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.30), 0 3px 6px -6px rgba(70,55,30,.26) !important;
}

/* Restore the Composition dropdown arrow without relying on background-image, which the button chrome overrides. */
html body #page-toolkit .tools-align-bar-v146 > .aptk-custom-select-trigger{
  position:relative !important;
  padding-right:28px !important;
}
html body #page-toolkit .tools-align-bar-v146 > .aptk-custom-select-trigger::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  right:13px !important;
  top:50% !important;
  width:6px !important;
  height:6px !important;
  margin-top:-4px !important;
  border-right:1.4px solid currentColor !important;
  border-bottom:1.4px solid currentColor !important;
  transform:rotate(45deg) !important;
  opacity:.72 !important;
  pointer-events:none !important;
  background:transparent !important;
  box-shadow:none !important;
}

@media (max-width:360px){
  html body #page-toolkit .tools-upper-v146{
    grid-template-columns:minmax(108px, 112px) minmax(0,1fr) !important;
    gap:7px !important;
  }
  html body #page-toolkit .anchor-grid-v146{gap:5px !important;}
}
@media (max-width:330px){
  html body #page-toolkit .tools-upper-v146{
    grid-template-columns:minmax(96px, 102px) minmax(0,1fr) !important;
    gap:6px !important;
  }
  html body #page-toolkit .anchor-grid-v146{gap:4px !important;}
}

/* v6.1: make the top Tools row deterministic, so Anchor starts/ends exactly with Adj/Camera. */
html body #page-toolkit .tools-upper-v146{
  height:118px !important;
  min-height:118px !important;
}
html body #page-toolkit .tools-main-actions-v146,
html body #page-toolkit .tools-layers-row-v146{
  height:100% !important;
  min-height:0 !important;
}
@media (max-width:330px){
  html body #page-toolkit .tools-upper-v146{
    height:110px !important;
    min-height:110px !important;
  }
}


/* v6.2: remove any remaining shared backing plate behind Anchor Point.
   Leave only the 9 independent mini-buttons visible. */
html body #page-toolkit .tools-anchor-cluster-v146,
html body #page-toolkit .tools-anchor-grid-wrap-v146,
html body #page-toolkit .square-grid.anchor-grid-v146{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  outline:0 !important;
  padding:0 !important;
}
html body #page-toolkit .tools-anchor-cluster-v146::before,
html body #page-toolkit .tools-anchor-cluster-v146::after,
html body #page-toolkit .tools-anchor-grid-wrap-v146::before,
html body #page-toolkit .tools-anchor-grid-wrap-v146::after,
html body #page-toolkit .square-grid.anchor-grid-v146::before,
html body #page-toolkit .square-grid.anchor-grid-v146::after{
  content:none !important;
  display:none !important;
}


/* v6.3: Tools function icons follow theme mode, not accent.
   Dark theme -> white icons. Light (Suede) theme -> black/dark icons. */
html body #page-toolkit{
  --qwix-tool-icon-theme: var(--qwix-ink, #F2EDE6) !important;
  --qwix-tool-icon-theme-hover: var(--qwix-ink, #F2EDE6) !important;
}
html[data-aptk-mode="suede"] body #page-toolkit{
  --qwix-tool-icon-theme: #000000 !important;
  --qwix-tool-icon-theme-hover: #000000 !important;
}
html body #page-toolkit .tool-icon-card .tool-card-icon{
  background-color: var(--qwix-tool-icon-theme) !important;
}
html body #page-toolkit .tool-icon-card:hover .tool-card-icon,
html body #page-toolkit .tool-icon-card:focus-visible .tool-card-icon,
html body #page-toolkit .tool-icon-card:active .tool-card-icon{
  background-color: var(--qwix-tool-icon-theme-hover) !important;
}


/* v6.4: restore arrow-style Anchor Point, but use custom compact rounded arrows.
   The 9 mini-buttons stay unchanged; only the arrow glyphs are replaced.
   Arrow color follows the active top-menu/page-selection accent. */
html body #page-toolkit{
  --qwix-anchor-arrow-accent: var(--aptk-primary, #D97757) !important;
}
html body #page-toolkit .anchor-grid-v146 button,
html body #page-toolkit .anchor-grid-v146 .square-btn{
  position:relative !important;
  overflow:hidden !important;
}
html body #page-toolkit .anchor-grid-v146 button span{
  display:none !important;
}
html body #page-toolkit .anchor-grid-v146 button::before,
html body #page-toolkit .anchor-grid-v146 button::after{
  content:none !important;
  display:none !important;
  background-image:none !important;
  box-shadow:none !important;
}
html body #page-toolkit .anchor-grid-v146 button:not(:nth-child(5))::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:12px !important;
  height:12px !important;
  margin:0 !important;
  background-color:var(--qwix-anchor-arrow-accent) !important;
  -webkit-mask-image:url("data:image/svg+xml;utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20fill='black'%20d='M7%204C5.8%203.2%204%204%204%205.4v13.2C4%2020%205.8%2020.8%207%2020l10-6.6c1.3-.8%201.3-2.6%200-3.4L7%204z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml;utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20fill='black'%20d='M7%204C5.8%203.2%204%204%204%205.4v13.2C4%2020%205.8%2020.8%207%2020l10-6.6c1.3-.8%201.3-2.6%200-3.4L7%204z'/%3E%3C/svg%3E") !important;
  -webkit-mask-repeat:no-repeat !important;
  mask-repeat:no-repeat !important;
  -webkit-mask-position:center !important;
  mask-position:center !important;
  -webkit-mask-size:contain !important;
  mask-size:contain !important;
  transform:translate(-50%, -50%) rotate(0deg) !important;
  transform-origin:center center !important;
  opacity:.98 !important;
}
html body #page-toolkit .anchor-grid-v146 button:nth-child(1)::before{transform:translate(-50%, -50%) rotate(-135deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(2)::before{transform:translate(-50%, -50%) rotate(-90deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(3)::before{transform:translate(-50%, -50%) rotate(-45deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(4)::before{transform:translate(-50%, -50%) rotate(180deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(6)::before{transform:translate(-50%, -50%) rotate(0deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(7)::before{transform:translate(-50%, -50%) rotate(135deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(8)::before{transform:translate(-50%, -50%) rotate(90deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(9)::before{transform:translate(-50%, -50%) rotate(45deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(5)::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:8px !important;
  height:8px !important;
  transform:translate(-50%, -50%) !important;
  border-radius:50% !important;
  background:var(--qwix-anchor-arrow-accent) !important;
  opacity:.98 !important;
}
@media (max-width:330px){
  html body #page-toolkit .anchor-grid-v146 button:not(:nth-child(5))::before{
    width:10px !important;
    height:10px !important;
  }
  html body #page-toolkit .anchor-grid-v146 button:nth-child(5)::before{
    width:7px !important;
    height:7px !important;
  }
}

/* ===== css/qwix_graph_splitter_v1.css ===== */
/* Qwix Graph splitter v1 — draggable divider between curve editor and presets. */
html body #page-graph-editor #graphPagePro.v120-graph-layout,
html body #v120Content #page-graph-editor #graphPagePro.v120-graph-layout,
html body #page-graph-editor #graphPagePro{
  --graph-default-top-size: minmax(230px, 70%);
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  grid-template-rows:var(--graph-top-size, var(--graph-default-top-size)) 10px minmax(82px, 1fr) !important;
  gap:6px !important;
  overflow:hidden !important;
}

html body #page-graph-editor .graph-left-pane,
html body #v120Content #page-graph-editor .graph-left-pane.card{
  min-height:0 !important;
  height:100% !important;
  max-height:none !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
}

html body #page-graph-editor .graph-square-wrap{
  flex:1 1 auto !important;
  min-height:82px !important;
  height:auto !important;
  max-height:none !important;
  overflow:hidden !important;
  display:block !important;
  position:relative !important;
  width:100% !important;
  aspect-ratio:auto !important;
}

/* Keep the original Graph viewport behavior: rectangular, not forced square.
   The SVG JS reads the real rendered width/height and updates viewBox, so the
   curve/handles keep their previous resize logic while the splitter changes height. */
html body #page-graph-editor .square-graph-stage,
html body #page-graph-editor .graph-stage.square-graph-stage,
html body #page-graph-editor .graph-stage{
  flex:none !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  min-width:0 !important;
  min-height:0 !important;
  aspect-ratio:auto !important;
  margin:0 !important;
}

html body #page-graph-editor #graphSvg{
  width:100% !important;
  height:100% !important;
  display:block !important;
}

/* V/S and Reset belong to the graph viewport and stay pinned to its edges
   while the viewport is resized by the splitter. */
html body #page-graph-editor .graph-square-wrap > .graph-mode-toggle{
  position:absolute !important;
  left:8px !important;
  top:8px !important;
  z-index:80 !important;
}
html body #page-graph-editor .graph-square-wrap > .graph-reset-btn,
html body #page-graph-editor .graph-reset-btn{
  position:absolute !important;
  right:8px !important;
  top:8px !important;
  z-index:82 !important;
}

html body #page-graph-editor .graph-values-row,
html body #page-graph-editor .graph-apply-wide{
  flex:0 0 auto !important;
}

html body #page-graph-editor .graph-right-pane,
html body #v120Content #page-graph-editor .graph-right-pane.card,
html body #page-graph-editor .graph-icons-card{
  min-height:0 !important;
  height:100% !important;
  max-height:none !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
}

html body #page-graph-editor #graphResizer,
html body #page-graph-editor .graph-resizer{
  display:block !important;
  width:100% !important;
  height:10px !important;
  min-height:10px !important;
  max-height:10px !important;
  padding:0 !important;
  margin:0 !important;
  align-self:stretch !important;
  border:0 !important;
  border-radius:999px !important;
  background:transparent !important;
  box-shadow:none !important;
  /* Not !important: the page-entry animation (qwix-page-reveal-up) drives
     this via keyframes, and author !important outranks animations in the
     cascade. With !important here the fade was pinned at full opacity while
     its translateY/scale still moved - a solid bar sliding into place reads
     as a flicker instead of the same fade-and-rise every other block gets. */
  opacity:1;
  cursor:row-resize !important;
  touch-action:none !important;
  position:relative !important;
  z-index:8 !important;
}

html body #page-graph-editor #graphResizer::before,
html body #page-graph-editor .graph-resizer::before{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:58px !important;
  height:2px !important;
  border-radius:999px !important;
  transform:translate(-50%, -50%) !important;
  background:rgba(244,244,245,.22) !important;
  box-shadow:none !important;
  transition:width .14s ease, background .14s ease, opacity .14s ease !important;
}

html body #page-graph-editor #graphResizer:hover::before,
html body.resizing-graph #page-graph-editor #graphResizer::before{
  width:82px !important;
  background:var(--aptk-primary, #D97757) !important;
  opacity:.9 !important;
}

html[data-aptk-mode="suede"] body #page-graph-editor #graphResizer::before,
html[data-aptk-mode="suede"] body #page-graph-editor .graph-resizer::before{
  background:rgba(61,53,39,.22) !important;
}

html[data-aptk-mode="suede"] body #page-graph-editor #graphResizer:hover::before,
html[data-aptk-mode="suede"] body.resizing-graph #page-graph-editor #graphResizer::before{
  background:var(--aptk-primary, #D97757) !important;
}

@media (max-height:420px){
  html body #page-graph-editor #graphPagePro.v120-graph-layout,
  html body #v120Content #page-graph-editor #graphPagePro.v120-graph-layout,
  html body #page-graph-editor #graphPagePro{
    --graph-default-top-size:minmax(205px, 64%);
    grid-template-rows:var(--graph-top-size, var(--graph-default-top-size)) 9px minmax(76px, 1fr) !important;
    gap:5px !important;
  }
  html body #page-graph-editor #graphResizer,
  html body #page-graph-editor .graph-resizer{
    height:9px !important;
    min-height:9px !important;
    max-height:9px !important;
  }
}


/* v2.1: graph viewport corner controls — a few pixels away from edges and semi-transparent. */
html body #page-graph-editor .graph-square-wrap > .graph-mode-toggle{
  left:11px !important;
  top:11px !important;
  opacity:.50 !important;
}
html body #page-graph-editor .graph-square-wrap > .graph-reset-btn,
html body #page-graph-editor .graph-reset-btn{
  right:11px !important;
  top:11px !important;
  opacity:.50 !important;
}
html body #page-graph-editor .graph-square-wrap > .graph-mode-toggle:hover,
html body #page-graph-editor .graph-square-wrap > .graph-mode-toggle:focus-within,
html body #page-graph-editor .graph-square-wrap > .graph-reset-btn:hover,
html body #page-graph-editor .graph-square-wrap > .graph-reset-btn:focus{
  opacity:.72 !important;
}
html body #page-graph-editor .graph-square-wrap > .graph-mode-toggle .graph-mode-btn,
html body #page-graph-editor .graph-square-wrap > .graph-reset-btn{
  backdrop-filter:none !important;
}

/* ===== css/qwix_shape_parity_v1.css ===== */
/* Qwix shape parity v1.
   Loaded last: keeps the same geometry/radii in Dark and Suede themes.
   Only shape/size/opacity is normalized here; theme colors/materials stay untouched. */

/* Main top menu: active chip uses the same squircle radius in both themes. */
html body #v120Nav.v120-nav{
  border-radius:14px !important;
}
html body #v120Nav.v120-nav .v120-nav-btn.active,
html body #v120App #v120Nav.v120-nav .v120-nav-btn.active,
html body #v120App #v120Nav .v120-nav-btn.active{
  border-radius:9px !important;
}

/* Text preset rail: light theme already scaled the active chip down;
   apply the same geometry to dark so active items have identical shape. */
html body #page-text-presets #presetGrid.icon-only-grid .preset-card,
html body #page-text-presets #presetGrid .preset-card{
  border-radius:8px !important;
}
html body #page-text-presets #presetGrid.icon-only-grid .preset-card.active,
html body #page-text-presets #presetGrid .preset-card.active,
html body #v120App #v120Content #page-text-presets #presetGrid.icon-only-grid .preset-card.active,
html body #v120App #v120Content #page-text-presets #presetGrid .preset-card.active{
  border-radius:8px !important;
  transform:scale(.86) !important;
  transform-origin:center center !important;
}

/* Expression preset rail and mode chips: same radii in both themes. */
html body #page-expressions .expression-preset-tab,
html body #page-expressions .expr-v151-custom-btn{
  border-radius:8px !important;
}
html body #page-graph-editor .graph-mode-toggle,
html body #page-expressions .expression-scale-mode,
html body #page-toolkit .segmented-control,
html body #page-colors .saved-add-toggle{
  border-radius:999px !important;
}
html body #page-graph-editor .graph-mode-btn,
html body #page-expressions .expression-scale-mode-btn,
html body #page-toolkit .segment-btn,
html body .saved-mode-btn{
  border-radius:999px !important;
}

/* Shared card/input/button geometry copied from the Suede mockup system. */
html body .aptk-custom-select-trigger{ border-radius:9px !important; }
html body .primary-btn,
html body .expression-apply-action,
html body .secondary-btn,
html body .expr-v151-clear-btn,
html body #v120App #v120Content #page-text-presets #applySelectedPresetBtn,
html body #v120App #v120Content #page-text-presets #clearSelectedPresetBtn,
html body #page-expressions .expression-apply-row-single .primary-btn,
html body #page-expressions .expression-apply-action,
html body #page-expressions .expr-v151-clear-btn,
html body #page-expressions #clearExpressionPresetBtn,
html body #page-graph-editor .graph-apply-wide{
  border-radius:11px !important;
}
html body #v120App #v120Content #page-text-presets #saveTextPresetBtn,
html body #v120App #v120Content #page-text-presets #addTextPresetBtn,
html body #v120App #v120Content #page-expressions #saveExpressionPresetBtn{
  border-radius:10px !important;
}
html body #page-text-presets #presetStage,
html body #page-text-presets .preset-stage,
html body #page-expressions .expression-stage,
html body #page-graph-editor .graph-stage,
html body #page-graph-editor .square-graph-stage{
  border-radius:14px !important;
}
html body #page-text-presets #v124SliderCard,
html body #page-text-presets .v124-slider-card,
html body #page-expressions .expr-v151-presets-card,
html body #page-graph-editor .graph-left-pane,
html body #page-graph-editor .graph-right-pane,
html body #page-toolkit .tools-shell-v146{
  border-radius:14px !important;
}
html body .aptk-mode-btn{
  border-radius:12px !important;
}

/* Tools page: keep block/button corner geometry identical in both themes. */
html body #page-toolkit .tool-btn-v146,
html body #page-toolkit .tool-icon-card,
html body #page-toolkit #addFillEffectBtn,
html body #page-toolkit .tool-swatch-btn-v146{
  border-radius:10px !important;
}
html body #page-toolkit .anchor-grid-v146 .square-btn,
html body #page-toolkit .anchor-grid-v146 button{
  border-radius:8px !important;
}

/* Graph corner controls: requested lower transparency. */
html body #page-graph-editor .graph-square-wrap > .graph-mode-toggle,
html body #page-graph-editor .graph-square-wrap > .graph-reset-btn,
html body #page-graph-editor .graph-reset-btn{
  opacity:.50 !important;
}
html body #page-graph-editor .graph-square-wrap > .graph-mode-toggle:hover,
html body #page-graph-editor .graph-square-wrap > .graph-mode-toggle:focus-within,
html body #page-graph-editor .graph-square-wrap > .graph-reset-btn:hover,
html body #page-graph-editor .graph-square-wrap > .graph-reset-btn:focus{
  opacity:.72 !important;
}

/* ===== css/qwix_global_spacing_v1.css ===== */
/* Qwix global spacing parity v3
   One spacing rule for all pages: large blocks use the same compact 8px rhythm
   as Expressions/Settings. Small internal grids (Anchor Point buttons, icon
   thumbnails, graph preset thumbnails) are intentionally not normalized here. */
:root{
  --qwix-major-gap: 8px;
}

/* Shell: one distance from main menu to every page. */
html body #v120App{
  gap: var(--qwix-major-gap) !important;
}
html body #v120Content,
html body #v120Content > .page{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Every page root starts immediately at the content top. */
html body #page-text-presets .text-page-compact,
html body #page-graph-editor #graphPagePro,
html body #page-toolkit .tools-design-page,
html body #page-toolkit .tools-design-v146,
html body #page-toolkit .tools-shell-v146,
html body #page-colors .saved-page,
html body #page-expressions .expression-page-pro,
html body #page-expressions .expression-page-pro.expression-v151,
html body #page-split .split-page-v1{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* TEXT -------------------------------------------------------
   Match Expressions: left rail/card and right preview begin at the same Y,
   with the same large-object gap. The active SR chip used to look lower
   because the rail had extra top padding and the active chip scaled from
   its center; both are normalized here. */
html body #page-text-presets .text-page-compact{
  gap: var(--qwix-major-gap) !important;
  align-items: start !important;
}
html body #page-text-presets .v121-text-left-stack,
html body #page-text-presets .v120-text-rail-actions{
  gap: var(--qwix-major-gap) !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}
html body #page-text-presets .preset-icons-card{
  padding: 8px 6px !important;
  margin-top: 0 !important;
}
html body #page-text-presets #presetGrid.icon-only-grid{
  gap: 8px !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}
html body #page-text-presets #presetGrid.icon-only-grid .preset-card.active,
html body #page-text-presets #presetGrid .preset-card.active{
  transform-origin: center top !important;
}
html body #page-text-presets .preview-card{
  gap: var(--qwix-major-gap) !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}
html body #page-text-presets #smartRevealControls,
html body #page-text-presets #customFfxControls{
  margin-top: 0 !important;
}
html body #page-text-presets #v120TextApplyRow{
  margin: 0 0 var(--qwix-major-gap) !important;
}

/* SAVED ------------------------------------------------------ */
html body #page-colors .saved-page{
  gap: var(--qwix-major-gap) !important;
}
html body #page-colors .saved-subtabs{
  margin: 0 !important;
  padding: 0 !important;
  gap: 6px !important;
}
html body #page-colors .saved-subpage,
html body #page-colors .saved-library-card{
  margin-top: 0 !important;
}

/* GRAPH ------------------------------------------------------ */
html body #page-graph-editor #graphPagePro.v120-graph-layout,
html body #v120Content #page-graph-editor #graphPagePro.v120-graph-layout,
html body #page-graph-editor #graphPagePro{
  gap: var(--qwix-major-gap) !important;
}
html body #page-graph-editor .graph-left-pane,
html body #page-graph-editor .graph-values-row{
  gap: var(--qwix-major-gap) !important;
  margin-top: 0 !important;
}

/* TOOLS ------------------------------------------------------
   Only large-object rhythm. Anchor Point's internal 3x3 spacing is not touched. */
html body #page-toolkit .tools-shell-v146,
html body #page-toolkit .tools-upper-v146,
html body #page-toolkit .tools-functions-v146,
html body #page-toolkit .tools-functions-v146 .tools-row-v146,
html body #page-toolkit .tools-align-bar-v146{
  gap: var(--qwix-major-gap) !important;
}
html body #page-toolkit .tools-functions-v146{
  margin-top: 0 !important;
}

/* EXPRESSIONS -----------------------------------------------
   This is the visual reference page; pin its exact large-object rhythm so it
   stays the standard and does not drift if older CSS is reloaded. */
html body #page-expressions .expression-page-pro,
html body #page-expressions .expression-page-pro.expression-v151,
html body #page-expressions .expr-v151-layout,
html body #page-expressions .expr-v153-left-column,
html body #page-expressions .expr-v151-main,
html body #page-expressions .expression-preview-card,
html body #page-expressions .expression-controls-card,
html body #page-expressions .expression-preset-grid{
  gap: var(--qwix-major-gap) !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}
html body #page-expressions .expression-preset-switch,
html body #page-expressions .expression-preset-grid{
  margin: 0 0 var(--qwix-major-gap) !important;
}

/* SPLIT ------------------------------------------------------ */
html body #page-split .split-page-v1,
html body #page-split .split-preview-card{
  gap: var(--qwix-major-gap) !important;
}
html body #page-split .split-topbar-card,
html body #page-split .split-preview-card{
  margin-top: 0 !important;
}

/* SETTINGS --------------------------------------------------- */
html body .plugin-settings-panel{
  padding: 10px !important;
}
html body .settings-panel-head{
  margin-bottom: var(--qwix-major-gap) !important;
}
html body .theme-grid{
  gap: var(--qwix-major-gap) !important;
}


/* v3 confirmed spacing pass -------------------------------------------------
   The visible reference is Expressions: large horizontal whitespace stripes
   between blocks are 8px. This override uses stronger selectors because older
   page CSS injects margins/gaps with !important and sometimes with #v120App /
   #v120Content specificity. */

/* Main menu -> first large object: every page starts flush in #v120Content;
   the only gap is #v120App's flex gap above. */
html body #v120App{ gap:var(--qwix-major-gap) !important; }
html body #v120App #v120Content{ margin-top:0 !important; padding-top:0 !important; }
html body #v120App #v120Content > .page.active{ margin-top:0 !important; padding-top:0 !important; }

/* Text: Apply/Clear -> Duration block and rail/card top alignment. */
html body #v120App #v120Content #page-text-presets .text-page-compact{ gap:var(--qwix-major-gap) !important; }
html body #v120App #v120Content #page-text-presets .preset-icons-card{ margin-top:0 !important; padding-top:8px !important; }
html body #v120App #v120Content #page-text-presets .preview-card{ gap:var(--qwix-major-gap) !important; }
html body #v120App #v120Content #page-text-presets #smartRevealControls,
html body #v120App #v120Content #page-text-presets #customFfxControls{
  margin-top:0 !important;
  padding-top:10px !important;
}
html body #v120App #v120Content #page-text-presets #v120TextApplyRow,
html body #v120App #v120Content #page-text-presets #v121TextApplyRow{
  margin:0 0 var(--qwix-major-gap) 0 !important;
  gap:var(--qwix-major-gap) !important;
}
html body #v120App #v120Content #page-text-presets #v120TextApplyRow + .smart-control-row,
html body #v120App #v120Content #page-text-presets #v121TextApplyRow + .smart-control-row{
  margin-top:0 !important;
}

/* Tools: upper block -> function blocks is 8px. Align is intentionally pinned
   to the bottom of the Tools page, per final correction. Anchor Point internal
   3x3 gap is not touched. */
html body #v120App #v120Content #page-toolkit .tools-shell-v146{
  display:flex !important;
  flex-direction:column !important;
  gap:0 !important;
  min-height:100% !important;
}
html body #v120App #v120Content #page-toolkit .tools-upper-v146{
  margin:0 !important;
}
html body #v120App #v120Content #page-toolkit .tools-functions-v146{
  flex:0 0 auto !important;
  margin-top:0 !important;
  gap:var(--qwix-major-gap) !important;
}
html body #v120App #v120Content #page-toolkit .tools-functions-v146 .tools-row-v146{
  gap:var(--qwix-major-gap) !important;
}
html body #v120App #v120Content #page-toolkit .tools-align-bar-v146{
  flex:0 0 auto !important;
  margin-top:auto !important;
}
html body #v120App #v120Content #page-toolkit .tools-hidden-controls-v146{ display:none !important; }

/* Graph: nav -> graph card and graph card -> splitter/presets use the same 8px rhythm. */
html body #v120App #v120Content #page-graph-editor #graphPagePro,
html body #v120App #v120Content #page-graph-editor #graphPagePro.v120-graph-layout{
  margin-top:0 !important;
  gap:var(--qwix-major-gap) !important;
}
html body #v120App #v120Content #page-graph-editor .graph-left-pane{
  gap:var(--qwix-major-gap) !important;
}

/* Settings: Appearance card -> Style Lab card is the same 8px stripe. */
html body #v120App #v120Content #page-settings .v139-settings-wrap{
  gap:var(--qwix-major-gap) !important;
  justify-content:flex-start !important;
}
html body #v120App #v120Content #page-settings .aptk-appearance-card,
html body #v120App #v120Content #page-settings .v139-settings-card{
  margin-top:0 !important;
}
html body #v120App #v120Content #page-settings .aptk-appearance-card{
  margin-bottom:0 !important;
}
html body #v120App #v120Content #page-settings .v139-settings-head{
  margin-bottom:var(--qwix-major-gap) !important;
}
html body #v120App #v120Content #page-settings .v139-note{
  margin-bottom:var(--qwix-major-gap) !important;
}

/* Saved / Split / Expressions: pin the same large-object rhythm. */
html body #v120App #v120Content #page-colors .saved-page,
html body #v120App #v120Content #page-split .split-page-v1,
html body #v120App #v120Content #page-expressions .expression-page-pro,
html body #v120App #v120Content #page-expressions .expr-v151-main{
  gap:var(--qwix-major-gap) !important;
}
html body #v120App #v120Content #page-colors .saved-subtabs,
html body #v120App #v120Content #page-expressions .expression-preset-grid,
html body #v120App #v120Content #page-split .split-topbar-card{
  margin-bottom:var(--qwix-major-gap) !important;
}

/* v4: Text page visual gap fix.
   The previous 8px flex gap was correct in code, but #smartRevealControls
   still had top padding, so visually the gap from Preview to the In/Up/Letters
   row became larger than the menu→Preview gap. Remove only that top padding. */
html body #v120App #v120Content #page-text-presets .preview-card{
  gap: var(--qwix-major-gap) !important;
}
html body #v120App #v120Content #page-text-presets #smartRevealControls,
html body #v120App #v120Content #page-text-presets #customFfxControls{
  margin-top: 0 !important;
  padding-top: 0 !important;
}
html body #v120App #v120Content #page-text-presets #smartRevealControls > :first-child,
html body #v120App #v120Content #page-text-presets #customFfxControls > :first-child{
  margin-top: 0 !important;
}

/* v5: remove double-spacing from places shown in the reference screenshots.
   Rule: one 8px stripe between large objects. Do not combine flex/grid gap
   with an additional margin-bottom on the previous block. */

/* Text: #smartRevealControls is a flex column. The old layout had both
   parent gap and Apply-row margin-bottom, so Apply/Clear -> Duration became
   too large. Keep only the parent 8px gap. */
html body #v120App #v120Content #page-text-presets #smartRevealControls,
html body #v120App #v120Content #page-text-presets #customFfxControls{
  gap: var(--qwix-major-gap) !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}
html body #v120App #v120Content #page-text-presets #v120TextApplyRow,
html body #v120App #v120Content #page-text-presets #v121TextApplyRow{
  margin: 0 !important;
}
html body #v120App #v120Content #page-text-presets #v124SliderCard,
html body #v120App #v120Content #page-text-presets .v124-slider-card{
  margin-top: 0 !important;
}

/* Graph: the draggable resizer itself is the 8px gap. Remove extra grid gap
   around it so Apply -> preset grid is not 8 + resizer + 8. */
html body #v120App #v120Content #page-graph-editor #graphPagePro,
html body #v120App #v120Content #page-graph-editor #graphPagePro.v120-graph-layout{
  gap: 0 !important;
  grid-template-rows: var(--graph-top-size, var(--graph-default-top-size)) var(--qwix-major-gap) minmax(82px, 1fr) !important;
}
html body #v120App #v120Content #page-graph-editor #graphResizer,
html body #v120App #v120Content #page-graph-editor .graph-resizer{
  height: var(--qwix-major-gap) !important;
  min-height: var(--qwix-major-gap) !important;
  max-height: var(--qwix-major-gap) !important;
  margin: 0 !important;
}
html body #v120App #v120Content #page-graph-editor .graph-right-pane{
  margin-top: 0 !important;
}

/* Saved: the page already has an 8px gap. Do not add a second margin below
   the tab row. */
html body #v120App #v120Content #page-colors .saved-page{
  gap: var(--qwix-major-gap) !important;
}
html body #v120App #v120Content #page-colors .saved-subtabs{
  margin: 0 !important;
  padding-bottom: 0 !important;
}
html body #v120App #v120Content #page-colors .saved-subpage,
html body #v120App #v120Content #page-colors .saved-library-card{
  margin-top: 0 !important;
}

/* Split: same issue as Saved. The page gap is the only large-object gap. */
html body #v120App #v120Content #page-split .split-page-v1{
  gap: var(--qwix-major-gap) !important;
}
html body #v120App #v120Content #page-split .split-topbar-card{
  margin-bottom: 0 !important;
}
html body #v120App #v120Content #page-split .split-preview-card{
  margin-top: 0 !important;
}


/* v8 safe rollback:
   This build intentionally keeps the last stable spacing rules (v5) and
   removes the later bottom-stretch/list-fill experiment. Lists must remain
   lists; only the stable 8px large-object rhythm and Tools Align bottom pin
   remain active. */

/* v9 — Expressions slider-list parity with Text.
   The adaptive JS changes only max-height; these rules keep the content pinned
   inside the rounded card so Jump/Bounce labels cannot bleed through the top or
   right edge while the card is being resized. */
html body #v120App #v120Content #page-expressions .expression-controls-card{
  box-sizing:border-box !important;
  padding:10px !important;
  overflow:auto !important;
  min-height:0 !important;
  max-width:100% !important;
  overscroll-behavior:contain !important;
  scrollbar-width:none !important;
}
html body #v120App #v120Content #page-expressions .expression-controls-card::-webkit-scrollbar,
html body #v120App #v120Content #page-expressions .expression-controls-card *::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
  display:none !important;
}
html body #v120App #v120Content #page-expressions .expression-controls-panel.is-active{
  display:block !important;
  box-sizing:border-box !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
}
html body #v120App #v120Content #page-expressions .expression-controls-panel.is-active > :first-child,
html body #v120App #v120Content #page-expressions .expression-controls-panel.is-active > .smart-control-row:first-child,
html body #v120App #v120Content #page-expressions .expression-controls-panel.is-active > .expression-warning-note:first-child{
  margin-top:0 !important;
}
html body #v120App #v120Content #page-expressions .smart-control-row,
html body #v120App #v120Content #page-expressions .expression-mini-control,
html body #v120App #v120Content #page-expressions .expression-warning-note,
html body #v120App #v120Content #page-expressions .expression-wiggle-row{
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}
html body #v120App #v120Content #page-expressions .smart-control-row label,
html body #v120App #v120Content #page-expressions .expression-check{
  max-width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
  white-space:nowrap !important;
  text-overflow:ellipsis !important;
}
html body #v120App #v120Content #page-expressions .smart-control-row label b,
html body #v120App #v120Content #page-expressions .expression-toggle-badge{
  flex:0 1 auto !important;
  min-width:0 !important;
  max-width:52% !important;
  overflow:hidden !important;
  white-space:nowrap !important;
  text-overflow:ellipsis !important;
}

/* ===== css/ui_expr_custom_v2.css ===== */
/* Expressions > Custom paste button placement + cache-busted override. */
html body #v120App #v120Content #page-expressions #expressionCustomPanel .expr-custom-input-wrap{
  position:relative !important;
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}
html body #v120App #v120Content #page-expressions #expressionCustomPanel #exprCustomCodeInput.expr-custom-textarea{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  padding-right:40px !important;
}
html body #v120App #v120Content #page-expressions #expressionCustomPanel #exprCustomPasteBtn.expr-custom-paste-btn{
  position:absolute !important;
  top:7px !important;
  right:7px !important;
  bottom:auto !important;
  left:auto !important;
  z-index:50 !important;
  width:24px !important;
  height:24px !important;
  min-width:24px !important;
  min-height:24px !important;
  max-width:24px !important;
  max-height:24px !important;
  padding:0 !important;
  margin:0 !important;
  transform:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  justify-self:auto !important;
  align-self:auto !important;
  float:none !important;
  border-radius:8px !important;
  line-height:1 !important;
}
html body #v120App #v120Content #page-expressions #expressionCustomPanel #exprCustomPasteBtn.expr-custom-paste-btn svg{
  width:15px !important;
  height:15px !important;
  display:block !important;
  flex:0 0 auto !important;
  fill:currentColor !important;
  pointer-events:none !important;
}

/* ===== css/ui_saved_refine_v1.css ===== */
/* Saved page final interaction pass: colors/palettes/refs/fonts only. */
html body #page-colors .saved-section-title,
html body #page-colors .fonts-library-card-compact .saved-section-title,
html body #page-colors .templates-title-row .saved-section-title{
  background:transparent !important;
  background-image:none !important;
  border:0 !important;
  box-shadow:none !important;
}
html body #page-colors .saved-section-title::before,
html body #page-colors .saved-section-title::after{
  content:none !important;
  display:none !important;
}

/* Make empty/drop dashed strokes readable without adding separator bars. */
html body #page-colors .reference-pending-preview,
html body #page-colors .reference-pending-preview.empty,
html body #page-colors .saved-colors-empty{
  border-width:2.25px !important;
  border-style:dashed !important;
  border-color:rgba(244,244,245,.38) !important;
}
html[data-aptk-mode="suede"] body #page-colors .reference-pending-preview,
html[data-aptk-mode="suede"] body #page-colors .reference-pending-preview.empty,
html[data-aptk-mode="suede"] body #page-colors .saved-colors-empty{
  border-color:rgba(58,45,27,.42) !important;
}
html body #page-colors .reference-pending-preview:hover,
html body #page-colors .reference-pending-preview.drag-over{
  background:var(--sv-panel-2) !important;
  filter:none !important;
}

/* Saved colors: no hover brightening, only a tiny scale and HEX in-place. */
html body #page-colors .saved-color-item,
html body #page-colors .builtin-saved-color-item{
  position:relative !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  overflow:visible !important;
  transform:translateZ(0) scale(1) !important;
  transform-origin:center center !important;
  filter:none !important;
  transition:transform .13s ease !important;
  will-change:transform !important;
}
html body #page-colors .saved-color-item:hover,
html body #page-colors .builtin-saved-color-item:hover,
html body #page-colors #popularColorsGrid .saved-color-item:hover,
html body #page-colors #savedMixedGrid .saved-color-item:hover{
  transform:translateZ(0) scale(1.16) !important;
  z-index:20 !important;
  border-color:transparent !important;
  background:transparent !important;
  box-shadow:none !important;
  filter:none !important;
}
html body #page-colors .saved-color-item .saved-color-swatch,
html body #page-colors .builtin-saved-color-item .saved-color-swatch{
  border:0 !important;
  box-shadow:none !important;
  overflow:hidden !important;
}
html body #page-colors .saved-color-item:hover .saved-color-swatch,
html body #page-colors .builtin-saved-color-item:hover .saved-color-swatch{
  border-radius:inherit !important;
}

html body #page-colors .saved-color-item::after{
  content:attr(data-hex-display) !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) scale(.98) !important;
  z-index:2 !important;
  opacity:0 !important;
  pointer-events:none !important;
  font:900 9px/1 Inter,Arial,sans-serif !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
  transition:opacity .11s ease, transform .13s ease !important;
}
html body #page-colors .saved-color-item:hover::after{
  opacity:1 !important;
  transform:translate(-50%,-50%) scale(1) !important;
}
html body #page-colors .saved-color-item-dark::after{
  color:#fff !important;
  text-shadow:0 1px 4px rgba(0,0,0,.55) !important;
}
html body #page-colors .saved-color-item-light::after{
  color:rgba(16,20,24,.92) !important;
  text-shadow:0 1px 3px rgba(255,255,255,.35) !important;
}


/* Real HEX overlay spans for CEP/older Chromium builds where button ::after can be unreliable. */
html body #page-colors .saved-color-hex-overlay,
html body #page-colors .palette-segment-hex-overlay{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) scale(.98) !important;
  z-index:10 !important;
  opacity:0 !important;
  pointer-events:none !important;
  font:900 9px/1 Inter,Arial,sans-serif !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  transition:opacity .11s ease, transform .13s ease !important;
}
html body #page-colors .saved-color-item:hover .saved-color-hex-overlay,
html body #page-colors .palette-strip-segment:hover .palette-segment-hex-overlay{
  opacity:1 !important;
  transform:translate(-50%,-50%) scale(1) !important;
}
html body #page-colors .saved-color-item-dark .saved-color-hex-overlay,
html body #page-colors .palette-strip-segment-dark .palette-segment-hex-overlay{
  color:#fff !important;
  text-shadow:0 1px 4px rgba(0,0,0,.65) !important;
}
html body #page-colors .saved-color-item-light .saved-color-hex-overlay,
html body #page-colors .palette-strip-segment-light .palette-segment-hex-overlay{
  color:rgba(16,20,24,.94) !important;
  text-shadow:0 1px 3px rgba(255,255,255,.5) !important;
}
html body #page-colors .saved-color-swatch{
  position:absolute !important;
  inset:0 !important;
}

/* Palettes: card grows a little, hovered stop expands, all other stops stay equal. */
html body #page-colors .palette-strip-card{
  border:0 !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  overflow:hidden !important;
  transform:translateZ(0) scale(1) !important;
  filter:none !important;
  transition:transform .13s ease !important;
}
html body #page-colors .palette-strip-card:hover{
  transform:translateZ(0) scale(1.018) !important;
  filter:none !important;
  border-color:transparent !important;
  background:transparent !important;
  box-shadow:none !important;
}
html body #page-colors .palette-strip-segment{
  position:relative !important;
  flex:1 1 0 !important;
  min-width:0 !important;
  border:0 !important;
  box-shadow:none !important;
  filter:none !important;
  transform:none !important;
  transition:flex .16s ease !important;
}
html body #page-colors .palette-strip-card:hover .palette-strip-segment{
  flex:.72 1 0 !important;
  filter:none !important;
}
html body #page-colors .palette-strip-card .palette-strip-segment:hover{
  flex:2.6 1 0 !important;
  z-index:2 !important;
  filter:none !important;
}
html body #page-colors .palette-strip-segment:hover::after{
  content:attr(data-hex-display) !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  bottom:auto !important;
  transform:translate(-50%,-50%) !important;
  z-index:3 !important;
  opacity:1 !important;
  padding:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  pointer-events:none !important;
  font:900 9px/1 Inter,Arial,sans-serif !important;
  letter-spacing:.02em !important;
  white-space:nowrap !important;
}
html body #page-colors .palette-strip-segment-dark:hover::after{
  color:#fff !important;
  text-shadow:0 1px 4px rgba(0,0,0,.55) !important;
}
html body #page-colors .palette-strip-segment-light:hover::after{
  color:rgba(16,20,24,.92) !important;
  text-shadow:0 1px 3px rgba(255,255,255,.35) !important;
}

/* Reference grid: no cards/frames, only photo + small title. */
html body #page-colors .saved-reference-grid{
  gap:10px 8px !important;
}
html body #page-colors .reference-card{
  height:auto !important;
  min-height:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  overflow:visible !important;
  display:grid !important;
  grid-template-rows:auto auto !important;
  gap:4px !important;
  cursor:pointer !important;
  transition:none !important;
}
html body #page-colors .reference-card:hover{
  border-color:transparent !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  transform:none !important;
}
html body #page-colors .reference-preview{
  width:100% !important;
  height:auto !important;
  aspect-ratio:1 / 1 !important;
  object-fit:cover !important;
  display:block !important;
  border:0 !important;
  border-radius:10px !important;
  box-shadow:none !important;
  transform:translateZ(0) scale(1) !important;
  transition:transform .13s ease !important;
}
html body #page-colors .reference-card:hover .reference-preview{
  transform:translateZ(0) scale(1.035) !important;
}
html body #page-colors .reference-title{
  height:auto !important;
  min-height:12px !important;
  padding:0 2px !important;
  margin:0 !important;
  display:block !important;
  text-align:center !important;
  color:rgba(244,244,245,.68) !important;
  font-size:8px !important;
  font-weight:750 !important;
  line-height:1.2 !important;
  letter-spacing:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
html[data-aptk-mode="suede"] body #page-colors .reference-title{
  color:rgba(58,45,27,.68) !important;
}
html body #page-colors .reference-delete,
html body #page-colors .reference-edit{
  display:none !important;
}

/* Fonts: no backing cards; delete is only in the right-click mini menu. */
html body #page-colors .saved-fonts-grid{
  gap:10px 8px !important;
}
html body #page-colors .saved-font-card,
html body #page-colors .saved-font-card-compact,
html body #page-colors .saved-font-card-no-style{
  min-height:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  overflow:visible !important;
}
html body #page-colors .saved-font-card:hover,
html body #page-colors .saved-font-card-compact:hover{
  border-color:transparent !important;
  background:transparent !important;
  box-shadow:none !important;
}
html body #page-colors .saved-font-card-compact .saved-font-apply,
html body #page-colors .saved-font-card-no-style .saved-font-apply{
  width:100% !important;
  min-height:54px !important;
  padding:3px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  color:inherit !important;
  transform:translateZ(0) scale(1) !important;
  transition:transform .13s ease !important;
}
html body #page-colors .saved-font-card:hover .saved-font-apply{
  transform:translateZ(0) scale(1.025) !important;
}
html body #page-colors .saved-font-card-compact .saved-font-preview,
html body #page-colors .saved-font-card-no-style .saved-font-preview{
  color:var(--sv-text,#f4f4f5) !important;
  background:transparent !important;
  text-shadow:none !important;
}
html[data-aptk-mode="suede"] body #page-colors .saved-font-card-compact .saved-font-preview,
html[data-aptk-mode="suede"] body #page-colors .saved-font-card-no-style .saved-font-preview{
  color:rgba(42,31,18,.92) !important;
}
html body #page-colors .saved-font-card-compact .saved-font-name,
html body #page-colors .saved-font-card-no-style .saved-font-name{
  color:rgba(244,244,245,.62) !important;
  background:transparent !important;
}
html[data-aptk-mode="suede"] body #page-colors .saved-font-card-compact .saved-font-name,
html[data-aptk-mode="suede"] body #page-colors .saved-font-card-no-style .saved-font-name{
  color:rgba(58,45,27,.62) !important;
}
html body #page-colors .saved-font-delete{
  display:none !important;
}

/* v4 Saved visual fix: scale real swatches/thumbnails instead of deforming cards. */
html body #page-colors .saved-color-item,
html body #page-colors .builtin-saved-color-item{
  -webkit-appearance:none !important;
  appearance:none !important;
  box-sizing:border-box !important;
  border-radius:10px !important;
  overflow:visible !important;
  transform:none !important;
  transition:none !important;
  isolation:isolate !important;
}
html body #page-colors .saved-color-item-small,
html body #page-colors .builtin-saved-color-item.saved-color-item-small{
  border-radius:8px !important;
}
html body #page-colors .saved-color-item:hover,
html body #page-colors .builtin-saved-color-item:hover,
html body #page-colors #popularColorsGrid .saved-color-item:hover,
html body #page-colors #savedMixedGrid .saved-color-item:hover{
  transform:none !important;
  filter:none !important;
  z-index:80 !important;
}
html body #page-colors .saved-color-item::after{
  content:none !important;
  display:none !important;
}
html body #page-colors .saved-color-item .saved-color-swatch,
html body #page-colors .builtin-saved-color-item .saved-color-swatch{
  position:absolute !important;
  inset:0 !important;
  width:auto !important;
  height:auto !important;
  border-radius:inherit !important;
  overflow:hidden !important;
  transform:translateZ(0) scale(1) !important;
  transform-origin:center center !important;
  transition:transform .13s ease !important;
  z-index:1 !important;
  box-shadow:none !important;
  filter:none !important;
}
html body #page-colors .saved-color-item:hover .saved-color-swatch,
html body #page-colors .builtin-saved-color-item:hover .saved-color-swatch{
  transform:translateZ(0) scale(1.30) !important;
}
html body #page-colors .saved-color-item-small:hover .saved-color-swatch,
html body #page-colors .builtin-saved-color-item.saved-color-item-small:hover .saved-color-swatch,
html body #page-colors #popularColorsGrid .saved-color-item:hover .saved-color-swatch{
  transform:translateZ(0) scale(1.44) !important;
}
html body #page-colors .saved-color-hex-overlay{
  z-index:3 !important;
  font:900 8.2px/1 Inter,Arial,sans-serif !important;
  letter-spacing:-.01em !important;
  transform:translate(-50%,-50%) !important;
}
html body #page-colors .saved-color-item:hover .saved-color-hex-overlay{
  opacity:1 !important;
  transform:translate(-50%,-50%) !important;
}

/* References: keep the photo as a clean rounded rectangle while hovering. */
html body #page-colors .saved-reference-grid{
  grid-template-columns:repeat(auto-fill,minmax(94px,1fr)) !important;
  gap:12px 10px !important;
}
html body #page-colors .reference-card{
  height:auto !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  overflow:visible !important;
  display:grid !important;
  grid-template-rows:auto auto !important;
  gap:4px !important;
  justify-items:center !important;
}
html body #page-colors .reference-card:hover{
  border:0 !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  transform:none !important;
  filter:none !important;
}
html body #page-colors .reference-preview{
  width:100% !important;
  height:78px !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
  display:block !important;
  border:0 !important;
  border-radius:10px !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:hidden !important;
  transform:translateZ(0) scale(1) !important;
  transform-origin:center center !important;
  transition:transform .13s ease !important;
  will-change:transform !important;
}
html body #page-colors .reference-card:hover .reference-preview{
  transform:translateZ(0) scale(1.045) !important;
  filter:none !important;
}
html body #page-colors .reference-title{
  width:100% !important;
  height:auto !important;
  min-height:11px !important;
  padding:0 2px !important;
  margin:0 !important;
  display:block !important;
  text-align:center !important;
  font-size:8px !important;
  line-height:1.2 !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* Saved composition templates: same visual logic as references; actions live in the right-click menu. */
html body #page-colors .saved-templates-grid{
  grid-template-columns:repeat(auto-fill,minmax(94px,1fr)) !important;
  gap:12px 10px !important;
}
html body #page-colors .template-card{
  height:auto !important;
  min-height:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  overflow:visible !important;
  display:block !important;
}
html body #page-colors .template-card:hover{
  border:0 !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  transform:none !important;
  filter:none !important;
}
html body #page-colors .template-main-btn{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  display:grid !important;
  grid-template-rows:auto auto !important;
  justify-items:center !important;
  align-items:start !important;
  gap:4px !important;
  color:var(--sv-text,#f4f4f5) !important;
  overflow:visible !important;
}
html body #page-colors .template-preview,
html body #page-colors .template-icon{
  width:100% !important;
  height:78px !important;
  min-height:0 !important;
  display:block !important;
  border:0 !important;
  border-radius:10px !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  overflow:hidden !important;
  color:rgba(244,244,245,.55) !important;
  transform:translateZ(0) scale(1) !important;
  transform-origin:center center !important;
  transition:transform .13s ease !important;
  will-change:transform !important;
}
html body #page-colors .template-icon{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(0,0,0,.16) !important;
}
html body #page-colors .template-preview img{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  border:0 !important;
  border-radius:inherit !important;
  background:transparent !important;
  box-shadow:none !important;
}
html body #page-colors .template-card:hover .template-preview,
html body #page-colors .template-card:hover .template-icon{
  transform:translateZ(0) scale(1.045) !important;
  filter:none !important;
}
html body #page-colors .template-name{
  width:100% !important;
  padding:0 2px !important;
  margin:0 !important;
  display:block !important;
  text-align:center !important;
  font-size:8px !important;
  font-weight:750 !important;
  line-height:1.2 !important;
  color:rgba(244,244,245,.68) !important;
  background:transparent !important;
  box-shadow:none !important;
}
html[data-aptk-mode="suede"] body #page-colors .template-name{
  color:rgba(58,45,27,.68) !important;
}
html body #page-colors .template-date,
html body #page-colors .template-delete,
html body #page-colors .template-rename{
  display:none !important;
}


/* v5 Saved hover geometry fix: scale the real item, not only the inner fill.
   This keeps colors/photos/templates as normal rounded squares/rectangles instead of being clipped/deformed. */
html body #page-colors .saved-mixed-grid,
html body #page-colors .saved-colors-grid,
html body #page-colors .saved-gradients-grid,
html body #page-colors .saved-reference-grid,
html body #page-colors .saved-templates-grid,
html body #page-colors .saved-fonts-grid{
  overflow:visible !important;
  contain:none !important;
}
html body #page-colors .saved-color-item,
html body #page-colors .builtin-saved-color-item,
html body #page-colors #popularColorsGrid .saved-color-item,
html body #page-colors #savedMixedGrid .saved-color-item{
  position:relative !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  border-radius:10px !important;
  overflow:hidden !important;
  transform:translateZ(0) scale(1) !important;
  transform-origin:center center !important;
  transition:transform .13s ease !important;
  will-change:transform !important;
  z-index:1 !important;
  isolation:isolate !important;
  filter:none !important;
}
html body #page-colors .saved-color-item-small,
html body #page-colors .builtin-saved-color-item.saved-color-item-small,
html body #page-colors #popularColorsGrid .saved-color-item,
html body #page-colors #savedMixedGrid .saved-color-item{
  border-radius:8px !important;
}
html body #page-colors .saved-color-item:hover,
html body #page-colors .builtin-saved-color-item:hover,
html body #page-colors #popularColorsGrid .saved-color-item:hover,
html body #page-colors #savedMixedGrid .saved-color-item:hover{
  transform:translateZ(0) scale(1.42) !important;
  z-index:120 !important;
  filter:none !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
html body #page-colors .saved-color-item .saved-color-swatch,
html body #page-colors .builtin-saved-color-item .saved-color-swatch,
html body #page-colors #popularColorsGrid .saved-color-item .saved-color-swatch,
html body #page-colors #savedMixedGrid .saved-color-item .saved-color-swatch{
  position:absolute !important;
  inset:0 !important;
  width:auto !important;
  height:auto !important;
  min-height:0 !important;
  display:block !important;
  border-radius:inherit !important;
  overflow:hidden !important;
  transform:none !important;
  transition:none !important;
  box-shadow:none !important;
  filter:none !important;
}
html body #page-colors .saved-color-item:hover .saved-color-swatch,
html body #page-colors .builtin-saved-color-item:hover .saved-color-swatch,
html body #page-colors #popularColorsGrid .saved-color-item:hover .saved-color-swatch,
html body #page-colors #savedMixedGrid .saved-color-item:hover .saved-color-swatch{
  transform:none !important;
  filter:none !important;
}
html body #page-colors .saved-color-hex-overlay{
  z-index:4 !important;
  font:900 7.7px/1 Inter,Arial,sans-serif !important;
  letter-spacing:-.04em !important;
  opacity:0 !important;
  transform:translate(-50%,-50%) scale(.92) !important;
  transition:opacity .11s ease, transform .13s ease !important;
}
html body #page-colors .saved-color-item:hover .saved-color-hex-overlay,
html body #page-colors .builtin-saved-color-item:hover .saved-color-hex-overlay{
  opacity:1 !important;
  transform:translate(-50%,-50%) scale(1) !important;
}
html body #page-colors .reference-card,
html body #page-colors .template-card,
html body #page-colors .template-main-btn{
  overflow:visible !important;
  contain:none !important;
}
html body #page-colors .reference-preview,
html body #page-colors .template-preview,
html body #page-colors .template-icon{
  border-radius:10px !important;
  overflow:hidden !important;
  transform:translateZ(0) scale(1) !important;
  transform-origin:center center !important;
  transition:transform .13s ease !important;
  will-change:transform !important;
  clip-path:none !important;
  filter:none !important;
}
html body #page-colors .reference-card:hover .reference-preview,
html body #page-colors .template-card:hover .template-preview,
html body #page-colors .template-card:hover .template-icon{
  transform:translateZ(0) scale(1.06) !important;
  filter:none !important;
}

/* ===== css/qwix_graph_theme_presets_v1.css ===== */
/* Qwix graph + Style Lab theme presets v1 */

/* Graph opens with the preview taking the maximum useful height. */
html body #page-graph-editor #graphPagePro{
  --graph-default-top-size:minmax(320px, calc(100% - 96px));
}
@media (max-height:420px){
  html body #page-graph-editor #graphPagePro{
    --graph-default-top-size:minmax(245px, calc(100% - 84px));
  }
}

/* Slightly richer Graph preview surface, matching the Text preview treatment. */
html body #page-graph-editor .graph-square-wrap{
  border-radius:16px !important;
  overflow:visible !important;
}
html body #page-graph-editor .graph-stage.square-graph-stage,
html body #page-graph-editor .square-graph-stage,
html body #page-graph-editor .graph-stage{
  border:1px solid var(--qwix-border-subtle, rgba(255,255,255,.07)) !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(217,119,87,.09), transparent 32%),
    linear-gradient(180deg, var(--qwix-surface-raised, #332e27), var(--qwix-surface, #2c2823)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    inset 0 0 0 1px rgba(217,119,87,.07),
    0 10px 28px rgba(0,0,0,.18) !important;
}
html body #page-graph-editor .graph-stage.square-graph-stage::before,
html body #page-graph-editor .square-graph-stage::before,
html body #page-graph-editor .graph-stage::before{
  content:"";
  position:absolute;
  left:1px;
  right:1px;
  top:1px;
  height:34%;
  border-radius:14px 14px 10px 10px;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,.055), transparent);
  opacity:.55;
}
html body #page-graph-editor #graphSvg{
  position:relative !important;
  z-index:2 !important;
}

/* Style Lab: preset themes are just Style Lab color sets, no Appearance reload. */
html body #page-settings .v139-theme-presets{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:8px !important;
  margin:8px 0 12px !important;
}
html body #page-settings .v139-theme-preset{
  min-height:48px !important;
  height:auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:9px !important;
  padding:8px 10px !important;
  border-radius:14px !important;
  border:1px solid var(--aptk-edge, rgba(255,255,255,.05)) !important;
  background:var(--qwix-surface-raised, var(--aptk-secondary, #2c2823)) !important;
  color:var(--aptk-text, #F2EDE6) !important;
  box-shadow:var(--aptk-hard-shadow-soft, inset 0 1px 0 rgba(255,255,255,.03)) !important;
  cursor:pointer !important;
  text-align:left !important;
  transition:transform .14s ease, border-color .14s ease, background .14s ease !important;
}
html body #page-settings .v139-theme-preset:hover{
  transform:translateY(-1px) !important;
  background:var(--qwix-surface-hover, var(--aptk-secondary, #332e27)) !important;
  border-color:var(--aptk-edge-strong, rgba(255,255,255,.12)) !important;
}
html body #page-settings .v139-theme-preset.is-active{
  border-color:var(--aptk-primary, #D97757) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    0 0 0 1px rgba(217,119,87,.18) !important;
}
html body #page-settings .v139-theme-preset-dots{
  display:grid !important;
  grid-template-columns:repeat(5, 8px) !important;
  gap:2px !important;
  flex:0 0 auto !important;
}
html body #page-settings .v139-theme-preset-dots i{
  width:8px !important;
  height:18px !important;
  border-radius:7px !important;
  background:var(--preset-color) !important;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.10) !important;
}
html body #page-settings .v139-theme-preset b{
  min-width:0 !important;
  overflow:hidden !important;
  white-space:nowrap !important;
  text-overflow:ellipsis !important;
  font-size:11px !important;
  line-height:1.1 !important;
  font-weight:820 !important;
  color:var(--aptk-text, #F2EDE6) !important;
}

/* The old separate light/dark Appearance switch is intentionally hidden if an older build injected it. */
html body #page-settings #aptkAppearanceCard{display:none !important;}


/* v2: Graph preview should be the highlighted element itself — no extra slab/overlay
   behind the grid. The left pane remains the page card; the graph viewport only
   keeps border + shadow. */
html body #page-graph-editor .graph-square-wrap{
  background:transparent !important;
  background-image:none !important;
  border:0 !important;
  box-shadow:none !important;
}
html body #page-graph-editor .graph-stage.square-graph-stage,
html body #page-graph-editor .square-graph-stage,
html body #page-graph-editor .graph-stage{
  background:transparent !important;
  background-image:none !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.045),
    0 10px 24px rgba(0,0,0,.16) !important;
}
html body #page-graph-editor .graph-stage.square-graph-stage::before,
html body #page-graph-editor .square-graph-stage::before,
html body #page-graph-editor .graph-stage::before{
  content:none !important;
  display:none !important;
}

/* ===== css/qwix_theme_contrast_cleanup_v1.css ===== */
/* Qwix live theme contrast bridge v2.
   This file intentionally does NOT repaint/reset wrappers or shadows.
   It only maps hardcoded dark-theme text/icons/range empty tracks to
   the current Style Lab ink tokens when the picked colors are light. */

/* Primary actions keep their original material/shadows from qwix_theme.css;
   only the label uses the automatic contrast ink. */
html body #v120App #v120Content .primary-btn,
html body #v120App #v120Content .expression-apply-action,
html body #v120App #v120Content .graph-apply-wide,
html body .primary-btn,
html body .expression-apply-action,
html body .graph-apply-wide{
  color: var(--qwix-accent-ink, #241C16) !important;
  text-shadow: none !important;
}

/* Value readouts are soft Primary badges, not solid buttons. */
html body #v120App #v120Content #page-text-presets .smart-control-row label b,
html body #v120App #v120Content #page-expressions .smart-control-row label b,
html body #v120App #v120Content #page-graph-editor #x1Value,
html body #v120App #v120Content #page-graph-editor #y1Value,
html body #v120App #v120Content #page-graph-editor #x2Value,
html body #v120App #v120Content #page-graph-editor #y2Value,
html body #page-text-presets .smart-control-row label b,
html body #page-expressions .smart-control-row label b,
html body .custom-ffx-row label b,
html body .field-val,
html body #page-settings .v139-slider-row label b{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 16px !important;
  padding: 2px 7px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: var(--qwix-accent-soft-bg, rgba(217,119,87,.12)) !important;
  background-color: var(--qwix-accent-soft-bg, rgba(217,119,87,.12)) !important;
  background-image: none !important;
  color: var(--qwix-accent-soft-ink, #E79367) !important;
  box-shadow: none !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

/* Light-tone text fixes copied from the old separate Suede light mode,
   but using live Style Lab tokens instead of hardcoded Suede colors. */
html[data-qwix-tone="light"] body,
html[data-qwix-tone="light"] body #v120App,
html[data-qwix-tone="light"] body #v120Content,
html[data-qwix-tone="light"] body #v120Content > .page{
  color: var(--qwix-ink, #2F281F) !important;
}
html[data-qwix-tone="light"] body h1,
html[data-qwix-tone="light"] body h2,
html[data-qwix-tone="light"] body h3,
html[data-qwix-tone="light"] body h4,
html[data-qwix-tone="light"] body strong,
html[data-qwix-tone="light"] body label,
html[data-qwix-tone="light"] body #page-settings h2,
html[data-qwix-tone="light"] body #page-settings strong,
html[data-qwix-tone="light"] body #v120App #v120Content #page-text-presets .smart-control-row label,
html[data-qwix-tone="light"] body #v120App #v120Content #page-expressions .smart-control-row label,
html[data-qwix-tone="light"] body #v120App #v120Content #page-graph-editor .smart-control-row label,
html[data-qwix-tone="light"] body #page-expressions .expression-check,
html[data-qwix-tone="light"] body #page-graph-editor .graph-title,
html[data-qwix-tone="light"] body #page-colors .font-preview,
html[data-qwix-tone="light"] body #page-colors .saved-section-title,
html[data-qwix-tone="light"] body #page-settings .v139-slider-row label{
  color: var(--qwix-ink, #2F281F) !important;
}
html[data-qwix-tone="light"] body small,
html[data-qwix-tone="light"] body p,
html[data-qwix-tone="light"] body em,
html[data-qwix-tone="light"] body .eyebrow,
html[data-qwix-tone="light"] body .graph-meta,
html[data-qwix-tone="light"] body .meta-row,
html[data-qwix-tone="light"] body #page-settings .v139-note,
html[data-qwix-tone="light"] body #page-settings .v139-color-main span,
html[data-qwix-tone="light"] body #page-settings .v139-slider-hint,
html[data-qwix-tone="light"] body #page-text-presets .v121-text-rail-actions .text-small-btn small,
html[data-qwix-tone="light"] body .rail-btn small,
html[data-qwix-tone="light"] body #page-text-presets #v124CustomSliderCard .custom-ffx-note,
html[data-qwix-tone="light"] body #page-expressions .expr-custom-analyze-hint,
html[data-qwix-tone="light"] body #page-expressions .expr-custom-vars-empty,
html[data-qwix-tone="light"] body #page-colors .colors-library-hint,
html[data-qwix-tone="light"] body #page-colors #savedColorStatus,
html[data-qwix-tone="light"] body #page-colors #savedGradientStatus,
html[data-qwix-tone="light"] body #page-colors #savedReferenceStatus,
html[data-qwix-tone="light"] body #page-colors #savedCompsStatus,
html[data-qwix-tone="light"] body #page-colors #savedFontsStatus,
html[data-qwix-tone="light"] body #page-colors .template-name,
html[data-qwix-tone="light"] body #page-colors .template-date,
html[data-qwix-tone="light"] body #page-colors .font-name,
html[data-qwix-tone="light"] body #page-colors .font-meta{
  color: var(--qwix-ink-tertiary, rgba(47,40,31,.55)) !important;
}

/* Text preset rail / preset menu labels. */
html[data-qwix-tone="light"] body #presetGrid .icon-mini-text,
html[data-qwix-tone="light"] body #page-text-presets #presetGrid .preset-card:not(.active) .icon-mini-text,
html[data-qwix-tone="light"] body #page-text-presets #presetGrid.icon-only-grid .preset-card:not(.active) .icon-mini-text{
  color: var(--qwix-ink-secondary, rgba(47,40,31,.72)) !important;
  opacity: 1 !important;
}
html[data-qwix-tone="light"] body #presetGrid .preset-card.active .icon-mini-text,
html[data-qwix-tone="light"] body #page-text-presets #presetGrid .preset-card.active .icon-mini-text,
html[data-qwix-tone="light"] body #page-text-presets #presetGrid.icon-only-grid .preset-card.active .icon-mini-text{
  color: var(--qwix-accent-ink, #241C16) !important;
  opacity: 1 !important;
}

/* Custom select labels/options and native select options. */
html[data-qwix-tone="light"] body .aptk-custom-select-trigger,
html[data-qwix-tone="light"] body .aptk-custom-select-trigger span,
html[data-qwix-tone="light"] body #page-text-presets .v121-smart-top-controls select,
html[data-qwix-tone="light"] body #page-text-presets .smart-select-row select,
html[data-qwix-tone="light"] body select,
html[data-qwix-tone="light"] body input:not([type="range"]):not([type="color"]),
html[data-qwix-tone="light"] body textarea{
  color: var(--qwix-ink, #2F281F) !important;
}
html[data-qwix-tone="light"] body .aptk-custom-select-option{
  color: var(--qwix-ink-secondary, rgba(47,40,31,.72)) !important;
}
html[data-qwix-tone="light"] body .aptk-custom-select-option:hover{
  color: var(--qwix-ink, #2F281F) !important;
}
html[data-qwix-tone="light"] body .aptk-custom-select-option.is-active,
html[data-qwix-tone="light"] body .aptk-custom-select-option.is-active:hover{
  color: var(--qwix-accent-soft-ink, #6E4E22) !important;
}
html[data-qwix-tone="light"] body select option,
html[data-qwix-tone="light"] body #page-text-presets .v121-smart-top-controls select option,
html[data-qwix-tone="light"] body #page-text-presets .smart-select-row select option{
  background: var(--aptk-secondary) !important;
  color: var(--qwix-ink, #2F281F) !important;
}
html[data-qwix-tone="light"] body select,
html[data-qwix-tone="light"] body #page-text-presets .v121-smart-top-controls select,
html[data-qwix-tone="light"] body #page-text-presets .smart-select-row select,
html[data-qwix-tone="light"] body .aptk-custom-select-trigger{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1.35 1.25 5 4.55 8.65 1.25' fill='none' stroke='%232F281F' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

/* Nav/tool icons: inherit current text color instead of staying white. */
html[data-qwix-tone="light"] body #v120Nav .v120-nav-btn:not(.active),
html[data-qwix-tone="light"] body #tabbar.compact-tabbar .tab-btn:not(.active),
html[data-qwix-tone="light"] body .v120-nav-btn:not(.active) .v120-nav-icon,
html[data-qwix-tone="light"] body .tab-btn:not(.active) .v120-nav-icon{
  color: var(--qwix-ink-secondary, rgba(47,40,31,.72)) !important;
}
html[data-qwix-tone="light"] body #v120Nav .v120-nav-btn:not(.active):hover,
html[data-qwix-tone="light"] body #tabbar.compact-tabbar .tab-btn:not(.active):hover{
  color: var(--qwix-ink, #2F281F) !important;
}
html[data-qwix-tone="light"] body #v120Nav .v120-nav-btn.active,
html[data-qwix-tone="light"] body #tabbar.compact-tabbar .tab-btn.active,
html[data-qwix-tone="light"] body .v120-nav-btn.active .v120-nav-icon,
html[data-qwix-tone="light"] body .tab-btn.active .v120-nav-icon{
  color: var(--qwix-accent-ink, #241C16) !important;
}
html[data-qwix-tone="light"] body .v120-nav-icon,
html[data-qwix-tone="light"] body .v120-nav-icon *{
  stroke: currentColor !important;
}
html[data-qwix-tone="light"] body .v120-nav-icon-logo{
  background: currentColor !important;
}
html[data-qwix-tone="light"] body #page-toolkit .qwix-final-icon-button,
html[data-qwix-tone="light"] body #page-toolkit .qwix-final-mini-icon-button,
html[data-qwix-tone="light"] body #page-toolkit .qwix-final-anchor-button,
html[data-qwix-tone="light"] body #page-toolkit .qwix-final-align-button,
html[data-qwix-tone="light"] body #page-toolkit .large-function-btn,
html[data-qwix-tone="light"] body #page-toolkit .layer-name-btn,
html[data-qwix-tone="light"] body #page-toolkit .segment-btn,
html[data-qwix-tone="light"] body #page-toolkit .custom-tool-btn{
  color: var(--qwix-ink-secondary, rgba(47,40,31,.72)) !important;
}

/* Light-tone range tracks: the empty part follows the current Secondary/
   Block-derived surface color, never arbitrary black. */
html[data-qwix-tone="light"] body input[type="range"],
html[data-qwix-tone="light"] body #page-text-presets input[type="range"],
html[data-qwix-tone="light"] body #page-graph-editor input[type="range"],
html[data-qwix-tone="light"] body #page-toolkit input[type="range"],
html[data-qwix-tone="light"] body #page-colors input[type="range"],
html[data-qwix-tone="light"] body #page-expressions input[type="range"],
html[data-qwix-tone="light"] body #page-settings input[type="range"]{
  --v139-track-dark: var(--qwix-surface-pressed, rgba(90,70,35,.18)) !important;
  --aptk-range-track: var(--qwix-surface-pressed, rgba(90,70,35,.18)) !important;
  background: linear-gradient(90deg,var(--aptk-detail) 0%,var(--aptk-detail) var(--range-fill,0%),var(--qwix-surface-pressed, rgba(90,70,35,.18)) var(--range-fill,0%),var(--qwix-surface-pressed, rgba(90,70,35,.18)) 100%) 0 50% / 100% 4px no-repeat !important;
  accent-color: transparent !important;
}
html[data-qwix-tone="light"] body #page-text-presets input[type="range"]::-webkit-slider-thumb,
html[data-qwix-tone="light"] body #page-expressions input[type="range"]::-webkit-slider-thumb,
html[data-qwix-tone="light"] body #page-graph-editor input[type="range"]::-webkit-slider-thumb,
html[data-qwix-tone="light"] body input[type="range"]::-webkit-slider-thumb{
  background: var(--qwix-ink, #2F281F) !important;
  border-color: var(--aptk-detail) !important;
}

/* Keep active/primary labels readable after the broad light text fixes. */
html[data-qwix-tone="light"] body .primary-btn,
html[data-qwix-tone="light"] body .expression-apply-action,
html[data-qwix-tone="light"] body .graph-apply-wide,
html[data-qwix-tone="light"] body #page-colors .primary-btn,
html[data-qwix-tone="light"] body #page-colors .saved-mode-btn.active,
html[data-qwix-tone="light"] body #page-colors .saved-subtab.active,
html[data-qwix-tone="light"] body #page-colors .saved-subtab.is-active,
html[data-qwix-tone="light"] body #page-expressions .expression-preset-tab.is-active,
html[data-qwix-tone="light"] body #page-expressions .expr-v151-custom-btn.is-active,
html[data-qwix-tone="light"] body .segment-btn.active,
html[data-qwix-tone="light"] body .segment-btn.is-active,
html[data-qwix-tone="light"] body .graph-mode-btn.is-active,
html[data-qwix-tone="light"] body .graph-mode-btn.active{
  color: var(--qwix-accent-ink, #241C16) !important;
}

/* ===== css/qwix_light_material_restore_v1.css ===== */
/* Qwix light material restore v1
   Restores the old separate Suede light-mode depth/material treatment,
   but applies it live to any Style Lab theme whose Background/Blocks are light.
   No layout changes; only color, text contrast, shadow, highlight, and range surfaces. */

html[data-qwix-tone="light"]{
  --qwix-border: rgba(61,53,39,.18) !important;
  --qwix-border-subtle: rgba(61,53,39,.10) !important;
  --qwix-success: #4f7d46 !important;
  --qwix-error: #b14e3f !important;
  --qwix-ink: #3d3527 !important;
  --qwix-ink-secondary: #6e624e !important;
  --qwix-ink-tertiary: #9a8c71 !important;
  --qwix-ink-disabled: #bcb093 !important;

  --aptk-text: #3d3527 !important;
  --aptk-muted: rgba(61,53,39,.55) !important;
  --aptk-muted-strong: rgba(61,53,39,.72) !important;
  --aptk-edge: rgba(61,53,39,.10) !important;
  --aptk-edge-strong: rgba(61,53,39,.16) !important;
  --v138-text: #3d3527 !important;
  --v138-edge: rgba(61,53,39,.10) !important;
  --v138-edge-strong: rgba(61,53,39,.16) !important;
  --v138-muted: rgba(61,53,39,.55) !important;
  --v138-muted-soft: rgba(61,53,39,.30) !important;
  --v152-text: #3d3527 !important;
  --v152-muted: rgba(61,53,39,.42) !important;
  --v152-muted-hover: rgba(61,53,39,.62) !important;

  /* raised/recessed material: same volume as the old light mode */
  --qwix-grad-raised: linear-gradient(160deg, var(--qwix-surface-raised, #f0e4cc), var(--qwix-surface, #e8dcc4)) !important;
  --qwix-shadow-raised: 0 1px 0 rgba(255,255,255,.55) inset, 0 4px 10px -8px rgba(70,55,30,.35) !important;
  --qwix-shadow-raised-lg: 0 1px 0 rgba(255,255,255,.58) inset, 0 8px 16px -10px rgba(70,55,30,.40) !important;
  --qwix-shadow-recessed: inset 0 3px 6px rgba(90,70,35,.20), inset 0 -1px 0 rgba(255,255,255,.40) !important;
  --qwix-shadow-groove: inset 0 2px 5px rgba(90,70,35,.26) !important;
  --qwix-grad-accent: linear-gradient(160deg, var(--qwix-accent-hover, var(--aptk-primary)), var(--aptk-primary, #a67c42)) !important;
  --qwix-grad-accent-hover: linear-gradient(160deg, var(--qwix-accent-hover, var(--aptk-primary)), var(--qwix-accent-pressed, var(--aptk-primary))) !important;
  --qwix-shadow-accent: 0 5px 12px -4px var(--v138-primary-glow, rgba(166,124,66,.55)), inset 0 1px 0 rgba(255,255,255,.32) !important;
  --qwix-grad-active: linear-gradient(160deg, #3c3420, #2e2818) !important;
  --qwix-shadow-active: 0 3px 6px -1px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.12) !important;
  --qwix-active-chip-ink: #f0e8d4 !important;
  --qwix-grad-handle: linear-gradient(160deg, #faf3e4, #e4d3ae) !important;
  --qwix-handle-border: rgba(90,70,35,.30) !important;
  --qwix-shadow-handle: 0 2px 5px rgba(70,55,30,.36), inset 0 1px 0 rgba(255,255,255,.72) !important;
}

html[data-qwix-tone="light"] #page-toolkit{
  --t-text: #3d3527 !important; --t-muted: rgba(61,53,39,.55) !important;
  --t146-text: #3d3527 !important; --t146-muted: rgba(61,53,39,.55) !important;
  --t-bg: var(--qwix-bg, #e6dac3) !important; --t-panel: var(--qwix-surface, #e8dcc4) !important;
  --t-dark: var(--qwix-surface-pressed, #d9cbae) !important; --t-key: var(--qwix-surface, #e8dcc4) !important; --t-key-hi: var(--qwix-surface-raised, #f0e4cc) !important;
  --t146-bg: var(--qwix-bg, #e6dac3) !important; --t146-surface: var(--qwix-surface, #e8dcc4) !important; --t146-surface-2: var(--qwix-surface-raised, #f0e4cc) !important;
}
html[data-qwix-tone="light"] #page-graph-editor{
  --g-text: #3d3527 !important; --g-muted: rgba(61,53,39,.55) !important; --g-muted-soft: rgba(61,53,39,.32) !important;
  --g-bg: var(--qwix-bg, #e6dac3) !important; --g-surface: var(--qwix-surface, #e8dcc4) !important;
}
html[data-qwix-tone="light"] #page-colors{
  --sv-text: #3d3527 !important; --sv-muted: rgba(61,53,39,.55) !important; --sv-soft: rgba(61,53,39,.32) !important;
  --sv-bg: var(--qwix-bg, #e6dac3) !important; --sv-panel: var(--qwix-surface, #e8dcc4) !important; --sv-panel-2: var(--qwix-surface-raised, #f0e4cc) !important;
  --sv-key: var(--qwix-surface, #e8dcc4) !important; --sv-key-2: var(--qwix-surface-raised, #f0e4cc) !important;
}

/* Text contrast — copied from the old light mode, scoped to live light Style Lab themes. */
html[data-qwix-tone="light"] body{ color: var(--qwix-ink) !important; }
html[data-qwix-tone="light"] body h1,
html[data-qwix-tone="light"] body h2,
html[data-qwix-tone="light"] body h3,
html[data-qwix-tone="light"] body h4,
html[data-qwix-tone="light"] body strong,
html[data-qwix-tone="light"] body label,
html[data-qwix-tone="light"] body #page-settings h2,
html[data-qwix-tone="light"] body #page-settings strong,
html[data-qwix-tone="light"] body #v120App #v120Content #page-text-presets .smart-control-row label,
html[data-qwix-tone="light"] body #v120App #v120Content #page-expressions .smart-control-row label,
html[data-qwix-tone="light"] body #v120App #v120Content #page-graph-editor .smart-control-row label{ color: var(--qwix-ink) !important; }
html[data-qwix-tone="light"] body small,
html[data-qwix-tone="light"] body p,
html[data-qwix-tone="light"] body em,
html[data-qwix-tone="light"] body .eyebrow,
html[data-qwix-tone="light"] body .graph-meta,
html[data-qwix-tone="light"] body .meta-row,
html[data-qwix-tone="light"] body #page-settings .v139-note,
html[data-qwix-tone="light"] body #page-settings .v139-color-main span,
html[data-qwix-tone="light"] body #page-settings .v139-slider-hint,
html[data-qwix-tone="light"] body #page-text-presets .v121-text-rail-actions .text-small-btn small,
html[data-qwix-tone="light"] body .rail-btn small,
html[data-qwix-tone="light"] body #page-text-presets #v124CustomSliderCard .custom-ffx-note,
html[data-qwix-tone="light"] body #page-expressions .expr-custom-analyze-hint,
html[data-qwix-tone="light"] body #page-expressions .expr-custom-vars-empty,
html[data-qwix-tone="light"] body #page-colors .colors-library-hint,
html[data-qwix-tone="light"] body #page-colors #savedColorStatus,
html[data-qwix-tone="light"] body #page-colors #savedGradientStatus,
html[data-qwix-tone="light"] body #page-colors #savedReferenceStatus,
html[data-qwix-tone="light"] body #page-colors #savedCompsStatus,
html[data-qwix-tone="light"] body #page-colors #savedFontsStatus,
html[data-qwix-tone="light"] body #page-colors .template-name,
html[data-qwix-tone="light"] body #page-colors .template-date,
html[data-qwix-tone="light"] body #page-colors .font-name,
html[data-qwix-tone="light"] body #page-colors .font-meta{ color: var(--qwix-ink-tertiary) !important; }

/* Preset rail labels and .ffx sublabels. */
html[data-qwix-tone="light"] body #presetGrid .icon-mini-text,
html[data-qwix-tone="light"] body #page-text-presets #presetGrid .preset-card:not(.active) .icon-mini-text,
html[data-qwix-tone="light"] body #page-text-presets #presetGrid.icon-only-grid .preset-card:not(.active) .icon-mini-text{ color: var(--qwix-ink-secondary) !important; opacity: 1 !important; }
html[data-qwix-tone="light"] body #presetGrid .preset-card.active .icon-mini-text,
html[data-qwix-tone="light"] body #page-text-presets #presetGrid .preset-card.active .icon-mini-text{ color: var(--qwix-active-chip-ink) !important; opacity: 1 !important; }
html[data-qwix-tone="light"] body #page-expressions .expression-preset-tab:not(.is-active),
html[data-qwix-tone="light"] body #page-expressions .expression-preset-tab:not(.is-active) b,
html[data-qwix-tone="light"] body #page-expressions .expr-v151-custom-btn:not(.is-active){ color: var(--qwix-ink-tertiary) !important; }
html[data-qwix-tone="light"] body #page-expressions .expression-check,
html[data-qwix-tone="light"] body #page-expressions .expression-check span{ color: var(--qwix-ink) !important; }

/* Nav, tabs and icons: dark ink on light surfaces; active stays the old dark raised chip. */
html[data-qwix-tone="light"] body #v120Nav.v120-nav{
  background: var(--qwix-grad-raised) !important;
  border-radius: 14px !important;
  box-shadow: var(--qwix-shadow-raised-lg) !important;
}
html[data-qwix-tone="light"] body #v120Nav .v120-nav-btn,
html[data-qwix-tone="light"] body #tabbar.compact-tabbar .tab-btn{ color: var(--qwix-ink-tertiary) !important; }
html[data-qwix-tone="light"] body #v120Nav .v120-nav-btn:hover,
html[data-qwix-tone="light"] body #tabbar.compact-tabbar .tab-btn:hover{ color: var(--qwix-ink-secondary) !important; }
html[data-qwix-tone="light"] body #v120Nav .v120-nav-btn.active,
html[data-qwix-tone="light"] body #v120App #v120Nav .v120-nav-btn.active,
html[data-qwix-tone="light"] body #page-text-presets #presetGrid.icon-only-grid .preset-card.active,
html[data-qwix-tone="light"] body #page-text-presets #presetGrid .preset-card.active,
html[data-qwix-tone="light"] body #v120App #v120Content #page-text-presets #presetGrid.icon-only-grid .preset-card.active,
html[data-qwix-tone="light"] body #v120App #v120Content #page-text-presets #presetGrid .preset-card.active,
html[data-qwix-tone="light"] body #v120App #v120Content #page-expressions .expression-preset-tab.is-active,
html[data-qwix-tone="light"] body #v120App #v120Content #page-expressions .expr-v151-custom-btn.is-active,
html[data-qwix-tone="light"] body #page-expressions .expression-preset-tab.is-active{
  background: var(--qwix-grad-active) !important;
  color: var(--qwix-active-chip-ink) !important;
  border-color: transparent !important;
  box-shadow: var(--qwix-shadow-active) !important;
}
html[data-qwix-tone="light"] body #page-text-presets #presetGrid.icon-only-grid .preset-card.active,
html[data-qwix-tone="light"] body #page-text-presets #presetGrid .preset-card.active{ transform: scale(.86) !important; }
html[data-qwix-tone="light"] body .v120-nav-icon,
html[data-qwix-tone="light"] body .v120-nav-icon *{ stroke: currentColor !important; color: currentColor !important; }
html[data-qwix-tone="light"] body .v120-nav-icon-logo{ background: currentColor !important; }

/* Raised surface material for controls and cards, without redoing layout. */
html[data-qwix-tone="light"] body #v120App #v120Content #page-text-presets #saveTextPresetBtn,
html[data-qwix-tone="light"] body #v120App #v120Content #page-text-presets #addTextPresetBtn,
html[data-qwix-tone="light"] body #v120App #v120Content #page-expressions #saveExpressionPresetBtn,
html[data-qwix-tone="light"] body .secondary-btn,
html[data-qwix-tone="light"] body .tool-btn,
html[data-qwix-tone="light"] body .tool-btn-v146,
html[data-qwix-tone="light"] body .text-small-btn,
html[data-qwix-tone="light"] body .large-function-btn,
html[data-qwix-tone="light"] body .layer-name-btn,
html[data-qwix-tone="light"] body .graph-side-btn,
html[data-qwix-tone="light"] body .graph-values-btn,
html[data-qwix-tone="light"] body .graph-reset-btn,
html[data-qwix-tone="light"] body .expr-v151-clear-btn,
html[data-qwix-tone="light"] body .expr-v153-save-below-menu,
html[data-qwix-tone="light"] body .modal-btn.ghost,
html[data-qwix-tone="light"] body #splitGetSelectedBtn,
html[data-qwix-tone="light"] body .top-action-btn,
html[data-qwix-tone="light"] body .mini-utility-btn,
html[data-qwix-tone="light"] body .btn-icon,
html[data-qwix-tone="light"] body #resetGraphBtn,
html[data-qwix-tone="light"] body #resetTextPresetsBtn,
html[data-qwix-tone="light"] body #editModeBtn,
html[data-qwix-tone="light"] body #pluginSettingsBtn,
html[data-qwix-tone="light"] body .stepper button,
html[data-qwix-tone="light"] body .aptk-custom-select-trigger,
html[data-qwix-tone="light"] body #page-toolkit .align-target-select-v146{
  background-color: var(--qwix-surface-raised, #f0e4cc) !important;
  background-image: var(--qwix-grad-raised) !important;
  box-shadow: var(--qwix-shadow-raised) !important;
  color: var(--qwix-ink, #3d3527) !important;
  border-color: var(--qwix-border-subtle) !important;
}
html[data-qwix-tone="light"] body .secondary-btn:hover,
html[data-qwix-tone="light"] body .tool-btn:hover,
html[data-qwix-tone="light"] body .tool-btn-v146:hover,
html[data-qwix-tone="light"] body .mini-utility-btn:hover,
html[data-qwix-tone="light"] body #resetGraphBtn:hover,
html[data-qwix-tone="light"] body #resetTextPresetsBtn:hover{ background: var(--qwix-surface-hover, #f2e7ce) !important; }

html[data-qwix-tone="light"] body .card,
html[data-qwix-tone="light"] body .saved-library-card,
html[data-qwix-tone="light"] body .graph-list-card,
html[data-qwix-tone="light"] body .graph-icons-card,
html[data-qwix-tone="light"] body .expression-controls-card,
html[data-qwix-tone="light"] body .split-topbar-card,
html[data-qwix-tone="light"] body .split-preview-card,
html[data-qwix-tone="light"] body .solid-color-popover,
html[data-qwix-tone="light"] body #page-text-presets #v124SliderCard,
html[data-qwix-tone="light"] body #page-text-presets .v124-slider-card,
html[data-qwix-tone="light"] body #page-text-presets .smart-reveal-controls,
html[data-qwix-tone="light"] body #page-expressions .expr-v151-presets-card,
html[data-qwix-tone="light"] body #page-text-presets .preset-icons-card{
  background: var(--qwix-surface, #e8dcc4) !important;
  border-color: var(--qwix-border-subtle) !important;
  box-shadow: var(--qwix-shadow-raised-lg) !important;
}
/* Dialogs stay on the app background (not the card surface tone) in light
   mode too, same as dark - see --v150-panel-bg above. */
html[data-qwix-tone="light"] body .aptk-modal{
  background: var(--qwix-bg, #e6dac3) !important;
  border-color: var(--qwix-border-subtle) !important;
  box-shadow: var(--qwix-shadow-raised-lg) !important;
}
html[data-qwix-tone="light"] body #page-text-presets #presetStage,
html[data-qwix-tone="light"] body #page-text-presets .preset-stage,
html[data-qwix-tone="light"] body #page-expressions .expression-stage{
  background: var(--qwix-surface, #e8dcc4) !important;
  border-color: var(--qwix-border-subtle) !important;
  box-shadow: var(--qwix-shadow-recessed) !important;
}

/* Apply / primary action keeps the current white text, with old light-mode depth. */
html[data-qwix-tone="light"] body .primary-btn,
html[data-qwix-tone="light"] body .expression-apply-action,
html[data-qwix-tone="light"] body .graph-apply-wide,
html[data-qwix-tone="light"] body #page-text-presets #applySelectedPresetBtn,
html[data-qwix-tone="light"] body #page-graph-editor #applyGraphBtn,
html[data-qwix-tone="light"] body .modal-btn.primary,
html[data-qwix-tone="light"] body #splitRunBtn,
html[data-qwix-tone="light"] body #splitCreateLayersBtn,
html[data-qwix-tone="light"] body #v120App #v120Content #page-colors .primary-btn{
  background: var(--qwix-grad-accent) !important;
  color:var(--qwix-accent-ink,var(--accent-ink,#fff8ed)) !important;
  box-shadow: var(--qwix-shadow-accent) !important;
  border-color: transparent !important;
}
html[data-qwix-tone="light"] body .primary-btn:hover,
html[data-qwix-tone="light"] body .expression-apply-action:hover,
html[data-qwix-tone="light"] body .graph-apply-wide:hover,
html[data-qwix-tone="light"] body #page-text-presets #applySelectedPresetBtn:hover,
html[data-qwix-tone="light"] body #page-graph-editor #applyGraphBtn:hover{ background: var(--qwix-grad-accent-hover) !important; color:var(--qwix-accent-ink,var(--accent-ink,#fff8ed)) !important; }

/* Dropdown chevrons and native selects: dark arrows on light surfaces. */
html[data-qwix-tone="light"] body .aptk-custom-select-trigger,
html[data-qwix-tone="light"] body select,
html[data-qwix-tone="light"] body #page-text-presets .v121-smart-top-controls select,
html[data-qwix-tone="light"] body #page-text-presets .smart-select-row select,
html[data-qwix-tone="light"] body #page-toolkit .align-target-select-v146{
  color: var(--qwix-ink) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1.35 1.25 5 4.55 8.65 1.25' fill='none' stroke='%239a8c71' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 13px center !important;
  background-size: 10px 6px !important;
}
html[data-qwix-tone="light"] body .aptk-custom-select-option,
html[data-qwix-tone="light"] body select option,
html[data-qwix-tone="light"] body .smart-select-row option{ background: var(--qwix-surface, #e8dcc4) !important; color: var(--qwix-ink) !important; }

/* Range sliders: no white frames, no black slab; only a thin 4px groove with the current Detail and surface-pressed. */
html[data-qwix-tone="light"] #page-text-presets input[type="range"],
html[data-qwix-tone="light"] #page-graph-editor input[type="range"],
html[data-qwix-tone="light"] #page-toolkit input[type="range"],
html[data-qwix-tone="light"] #page-colors input[type="range"],
html[data-qwix-tone="light"] #page-expressions input[type="range"],
html[data-qwix-tone="light"] #page-settings input[type="range"],
html[data-qwix-tone="light"] body input[type="range"]{
  border: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  accent-color: transparent !important;
  background: linear-gradient(90deg, var(--qwix-detail, var(--aptk-detail)) 0%, var(--qwix-detail, var(--aptk-detail)) var(--range-fill,0%), var(--qwix-surface-pressed, #d9cbae) var(--range-fill,0%), var(--qwix-surface-pressed, #d9cbae) 100%) 0 50% / 100% 4px no-repeat !important;
}
html[data-qwix-tone="light"] body input[type="range"]::-webkit-slider-thumb{
  background: var(--qwix-grad-handle) !important;
  border: 1px solid var(--qwix-handle-border) !important;
  box-shadow: var(--qwix-shadow-handle) !important;
}
html[data-qwix-tone="light"] body input[type="range"]::-moz-range-thumb{
  background: var(--qwix-grad-handle) !important;
  border: 1px solid var(--qwix-handle-border) !important;
  box-shadow: var(--qwix-shadow-handle) !important;
}

/* Value badges keep the old translucent chip, only hue follows Primary. */
html[data-qwix-tone="light"] body #v120App #v120Content #page-text-presets .smart-control-row label b,
html[data-qwix-tone="light"] body #v120App #v120Content #page-expressions .smart-control-row label b,
html[data-qwix-tone="light"] body #v120App #v120Content #page-graph-editor #x1Value,
html[data-qwix-tone="light"] body #v120App #v120Content #page-graph-editor #y1Value,
html[data-qwix-tone="light"] body #v120App #v120Content #page-graph-editor #x2Value,
html[data-qwix-tone="light"] body #v120App #v120Content #page-graph-editor #y2Value,
html[data-qwix-tone="light"] body .smart-control-row label b,
html[data-qwix-tone="light"] body .custom-ffx-row label b,
html[data-qwix-tone="light"] body .field-val,
html[data-qwix-tone="light"] body #page-settings .v139-slider-row label b{
  background: var(--qwix-accent-soft-bg, rgba(166,124,66,.12)) !important;
  color: var(--qwix-accent-soft-ink, #6e4e22) !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Graph: no extra underlay. The actual preview surface gets the depth/highlight. */
html body #page-graph-editor .graph-square-wrap{
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border-color: transparent !important;
}
html body #page-graph-editor #graphSvg{
  background: transparent !important;
  box-shadow: none !important;
  border-color: transparent !important;
}
html body #page-graph-editor .graph-stage.square-graph-stage,
html body #page-graph-editor .square-graph-stage,
html body #page-graph-editor .graph-stage{
  border: 1px solid var(--qwix-border-subtle, rgba(255,255,255,.07)) !important;
  background: linear-gradient(180deg, var(--qwix-surface-raised, #332e27), var(--qwix-surface, #2c2823)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 10px 28px rgba(0,0,0,.18) !important;
}
html[data-qwix-tone="light"] body #page-graph-editor .graph-stage.square-graph-stage,
html[data-qwix-tone="light"] body #page-graph-editor .square-graph-stage,
html[data-qwix-tone="light"] body #page-graph-editor .graph-stage{
  background: var(--qwix-surface, #e8dcc4) !important;
  border-color: var(--qwix-border-subtle) !important;
  box-shadow: var(--qwix-shadow-recessed) !important;
}
html[data-qwix-tone="light"] body #page-graph-editor .graph-stage.square-graph-stage::before,
html[data-qwix-tone="light"] body #page-graph-editor .square-graph-stage::before,
html[data-qwix-tone="light"] body #page-graph-editor .graph-stage::before{ display:none !important; }
html[data-qwix-tone="light"] body #graphPresetGrid .graph-card:not(.active) svg,
html[data-qwix-tone="light"] body #graphPresetGrid .graph-card:not(.active) .graph-thumb-svg,
html[data-qwix-tone="light"] body #graphPresetGrid .graph-card:not(.active) path,
html[data-qwix-tone="light"] body #graphPresetGrid .graph-card:not(.active) polyline{ stroke: var(--qwix-ink-tertiary) !important; }
html[data-qwix-tone="light"] body #graphPresetGrid .graph-card.active svg,
html[data-qwix-tone="light"] body #graphPresetGrid .graph-card.active .graph-thumb-svg,
html[data-qwix-tone="light"] body #graphPresetGrid .graph-card.active path,
html[data-qwix-tone="light"] body #graphPresetGrid .graph-card.active polyline{ stroke: var(--qwix-accent-ink, #241C16) !important; }

/* Avoid accidental visible outlines/borders introduced by generic repaint rules. */
html[data-qwix-tone="light"] body [data-aptk-ui-class],
html[data-qwix-tone="light"] body [data-aptk-paint]{ outline: none !important; }
html[data-qwix-tone="light"] body .smart-control-row,
html[data-qwix-tone="light"] body .control-row,
html[data-qwix-tone="light"] body .slider-row{ border-color: transparent !important; }

/* Apply-style primary actions: user wants white text, including light themes. */
html body .primary-btn,
html body .expression-apply-action,
html body .graph-apply-wide,
html body #page-text-presets #applySelectedPresetBtn,
html body #page-graph-editor #applyGraphBtn,
html body .modal-btn.primary,
html body #splitRunBtn,
html body #splitCreateLayersBtn{
  color:var(--qwix-accent-ink,var(--accent-ink,#fff8ed)) !important;
}

/* Additional light-theme text/icon coverage that the old separate light mode handled. */
html[data-qwix-tone="light"] body .text-subtab,
html[data-qwix-tone="light"] body .text-subnav button,
html[data-qwix-tone="light"] body .v120-section-title,
html[data-qwix-tone="light"] body .settings-kicker,
html[data-qwix-tone="light"] body .settings-title,
html[data-qwix-tone="light"] body .theme-option b,
html[data-qwix-tone="light"] body .top-action-btn,
html[data-qwix-tone="light"] body .status-pill,
html[data-qwix-tone="light"] body .tab-btn,
html[data-qwix-tone="light"] body .saved-mode-btn,
html[data-qwix-tone="light"] body #page-colors .primary-btn,
html[data-qwix-tone="light"] body #page-colors .secondary-btn,
html[data-qwix-tone="light"] body #page-toolkit .align-grid button,
html[data-qwix-tone="light"] body #page-toolkit .large-function-btn,
html[data-qwix-tone="light"] body #page-toolkit .layer-name-btn,
html[data-qwix-tone="light"] body #page-toolkit .segment-btn,
html[data-qwix-tone="light"] body #page-toolkit .custom-tool-btn{
  color: var(--qwix-ink-secondary, #6e624e) !important;
}
html[data-qwix-tone="light"] body .text-subtab.active,
html[data-qwix-tone="light"] body .saved-mode-btn.active,
html[data-qwix-tone="light"] body .segment-btn.active,
html[data-qwix-tone="light"] body .segment-btn.is-active,
html[data-qwix-tone="light"] body .graph-mode-btn.active,
html[data-qwix-tone="light"] body .graph-mode-btn.is-active{
  color: var(--qwix-active-chip-ink, #f0e8d4) !important;
}
html[data-qwix-tone="light"] body #page-toolkit .tool-placeholder-btn,
html[data-qwix-tone="light"] body .disabled,
html[data-qwix-tone="light"] body [disabled]{
  color: var(--qwix-ink-disabled, #bcb093) !important;
}

/* ===== css/qwix-motion.css ===== */
/* ============================================================
   Qwix motion system
   Integrated interaction layer for the real CEP panel:
   - compact dock deformation + sliding selected pills
   - preset-rail motion
   - physics tooltip for buttons/presets
   - dropdown, dialog and page-transition motion
   - values/readouts always update instantly (no number animation)
   ============================================================ */

html.qwix-motion-enabled {
  --qwix-motion-fast: 120ms;
  --qwix-motion-base: 190ms;
  --qwix-motion-page: 330ms;
  --qwix-motion-stagger: 24ms;
  --qwix-motion-ease: cubic-bezier(.2,.8,.2,1);
  --qwix-motion-out: cubic-bezier(.16,1,.3,1);
  --qwix-motion-bounce: cubic-bezier(.22,1.12,.34,1);
  --qwix-motion-spring: cubic-bezier(.34,1.56,.64,1);
}


/* CEP performance mode: when the panel window loses focus all CSS
   animations are frozen. Merely moving the pointer outside Qwix does not
   pause it. JavaScript RAF loops and preview media are stopped separately
   by qwix-motion.js. */
html.qwix-motion-enabled.qwix-panel-paused *,
html.qwix-motion-enabled.qwix-panel-paused *::before,
html.qwix-motion-enabled.qwix-panel-paused *::after {
  animation-play-state: paused !important;
  transition-duration: 0ms !important;
  transition-delay: 0ms !important;
}
/* Promote layers only while they are actually moving. Keeping will-change on
   dozens of idle controls consumes GPU memory in CEP. */
html.qwix-motion-enabled .qwix-main-dock,
html.qwix-motion-enabled .qwix-side-dock-root,
html.qwix-motion-enabled .qwix-motion-tooltip,
html.qwix-motion-enabled .qwix-slider-shell,
html.qwix-motion-enabled .qwix-main-selection,
html.qwix-motion-enabled .qwix-side-selection {
  will-change: auto !important;
}
html.qwix-motion-enabled .qwix-motion-running,
html.qwix-motion-enabled .qwix-motion-running .qwix-main-selection,
html.qwix-motion-enabled .qwix-motion-running .qwix-side-selection,
html.qwix-motion-enabled .qwix-motion-running .qwix-slider-visual-thumb,
html.qwix-motion-enabled .qwix-motion-running .qwix-slider-visual-fill,
html.qwix-motion-enabled .qwix-motion-tooltip.qwix-motion-running,
html.qwix-motion-enabled .qwix-motion-tooltip.qwix-motion-running .qwix-motion-tooltip-bubble {
  will-change: transform, opacity !important;
}

@media (prefers-reduced-motion: reduce) {
  html.qwix-motion-enabled *,
  html.qwix-motion-enabled *::before,
  html.qwix-motion-enabled *::after {
    animation-duration: .01ms !important;
    animation-delay: 0ms !important;
    transition-duration: .01ms !important;
  }
}

/* ------------------------------------------------------------
   Unified button press. It matches the compact Read-button feel:
   immediate, restrained and consistent on every actual <button>.
   ------------------------------------------------------------ */
html.qwix-motion-enabled body button:not(:disabled) {
  transition-property: transform, background-color, border-color, color, box-shadow, filter !important;
  transition-duration: var(--qwix-motion-fast) !important;
  transition-timing-function: var(--qwix-motion-ease) !important;
  transform-origin: center center;
}
html.qwix-motion-enabled body button:not(:disabled):not(.aptk-custom-select-trigger):not(.v120-nav-btn):not(.expression-preset-tab):not(.expr-v151-custom-btn):hover {
  transform: translateY(-.35px) scale(1.004) !important;
}
html.qwix-motion-enabled body button:not(:disabled):not(.aptk-custom-select-trigger):active {
  transform: translateY(.35px) scale(.982) !important;
}

/* The moving pills paint the active fill. The real item keeps its
   text/icon and click behaviour but does not paint a second fill. */
html.qwix-motion-enabled .qwix-motion-fill-hidden {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border-color: transparent !important;
}

/* ------------------------------------------------------------
   Main navigation dock
   ------------------------------------------------------------ */
html.qwix-motion-enabled body #v120Nav.qwix-main-dock {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  overflow: visible !important;
  will-change: auto;
  transform: translateZ(0) scaleX(var(--qwix-dock-scale-x, 1)) scaleY(var(--qwix-dock-scale-y, 1));
  transform-origin: var(--qwix-dock-origin-x, 50%) 50%;
}
html.qwix-motion-enabled body #v120Nav.qwix-main-dock > .v120-nav-btn {
  position: relative !important;
  z-index: 2 !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
  width: var(--qwix-dock-item-width, 48px) !important;
  height: var(--qwix-dock-item-height, 34px) !important;
  will-change: auto;
}
html.qwix-motion-enabled body #v120Nav.qwix-main-dock > .v120-nav-btn::after {
  z-index: 3;
}
.qwix-main-selection,
.qwix-side-selection,
.qwix-tabs-motion-indicator {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  pointer-events: none;
  opacity: 0;
  background: var(--aptk-primary, #D97757);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 9px;
  box-shadow:
    0 7px 18px -7px var(--v138-primary-glow, rgba(217,119,87,.56)),
    inset 0 1px 0 rgba(255,255,255,.22);
  transform-origin: center center;
  will-change: auto;
}
.qwix-main-selection,
.qwix-side-selection {
  opacity: 1;
}

/* ------------------------------------------------------------
   Text / Expressions side preset docks
   ------------------------------------------------------------ */
html.qwix-motion-enabled .qwix-side-dock-root {
  position: relative !important;
  isolation: isolate;
  will-change: auto;
  transform: translateZ(0) scaleX(var(--qwix-side-scale-x, 1)) scaleY(var(--qwix-side-scale-y, 1));
  transform-origin: 50% var(--qwix-side-origin-y, 50%);
}
html.qwix-motion-enabled #presetGrid.qwix-side-dock-root > .preset-card,
html.qwix-motion-enabled #expressionPresetSwitch.qwix-side-dock-root > .expression-preset-tab,
html.qwix-motion-enabled #expressionPresetSwitch.qwix-side-dock-root > .expr-v151-custom-btn {
  position: relative !important;
  z-index: 2 !important;
}
html.qwix-motion-enabled #presetGrid .preset-card .icon-mini-text,
html.qwix-motion-enabled #expressionPresetSwitch .expression-preset-tab b,
html.qwix-motion-enabled #expressionPresetSwitch .expr-v151-custom-btn b,
html.qwix-motion-enabled #expressionPresetSwitch .expr-v151-custom-btn span {
  display: inline-block;
  transform: translateX(var(--qwix-side-text-x, 0px));
  transition: transform 170ms var(--qwix-motion-out), opacity 130ms ease !important;
  will-change: auto;
}
html.qwix-motion-enabled #presetGrid .preset-card:hover .icon-mini-text,
html.qwix-motion-enabled #expressionPresetSwitch .expression-preset-tab:hover b,
html.qwix-motion-enabled #expressionPresetSwitch .expr-v151-custom-btn:hover b,
html.qwix-motion-enabled #expressionPresetSwitch .expr-v151-custom-btn:hover span {
  --qwix-side-text-x: 3px;
}

/* Other segmented/tab groups also get a real sliding button-shaped fill. */
html.qwix-motion-enabled .qwix-tabs-motion-group {
  position: relative !important;
  isolation: isolate;
}
html.qwix-motion-enabled .qwix-tabs-motion-group > button,
html.qwix-motion-enabled .qwix-tabs-motion-group > .saved-subtab,
html.qwix-motion-enabled .qwix-tabs-motion-group > .text-subtab,
html.qwix-motion-enabled .qwix-tabs-motion-group > .segment-btn {
  position: relative;
  z-index: 2;
}
html.qwix-motion-enabled .qwix-tabs-motion-indicator {
  transition:
    transform 300ms var(--qwix-motion-bounce),
    width 300ms var(--qwix-motion-bounce),
    height 300ms var(--qwix-motion-bounce),
    border-radius 180ms ease,
    opacity 120ms ease;
}

/* ------------------------------------------------------------
   Page switch: all meaningful blocks on the new page rise in with a
   short stagger. Values remain plain text and are not animated by
   themselves.
   ------------------------------------------------------------ */
@keyframes qwix-page-reveal-up {
  0% {
    opacity: 0;
    transform: translate3d(0, 14px, 0) scale(.994);
  }
  72% {
    opacity: 1;
    transform: translate3d(0, -.6px, 0) scale(1.0005);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}
html.qwix-motion-enabled #v120Content > .page.qwix-page-entering .qwix-page-reveal-item {
  animation: qwix-page-reveal-up var(--qwix-motion-page) var(--qwix-motion-out) both !important;
  animation-delay: calc(var(--qwix-reveal-order, 0) * var(--qwix-motion-stagger)) !important;
  will-change: transform, opacity;
}

/* ------------------------------------------------------------
   Slider values / timing labels: strictly instant. No fade, pop,
   bounce, scale, blur, transition or count-up. This covers 70px,
   0.80s, percentages, graph readouts and similar labels.
   ------------------------------------------------------------ */
html.qwix-motion-enabled .smart-control-row label b,
html.qwix-motion-enabled .custom-ffx-row label b,
html.qwix-motion-enabled .expression-mini-control label b,
html.qwix-motion-enabled .v139-slider-row label b,
html.qwix-motion-enabled .field-val,
html.qwix-motion-enabled .value-chip,
html.qwix-motion-enabled #graphReadout,
html.qwix-motion-enabled [id$="Value"] {
  animation: none !important;
  transition: none !important;
  transform: none !important;
  filter: none !important;
}
html.qwix-motion-enabled input[type="range"] {
  transition: background 90ms linear;
}

/* ------------------------------------------------------------
   Dropdowns
   ------------------------------------------------------------ */
html.qwix-motion-enabled body .aptk-custom-select-trigger {
  position: relative;
  background-image: none !important;
}
html.qwix-motion-enabled body .aptk-custom-select-trigger::after {
  content: "";
  position: absolute;
  right: 13px;
  top: 50%;
  width: 10px;
  height: 6px;
  pointer-events: none;
  background-repeat: no-repeat;
  background-size: 10px 6px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1.35 1.25 5 4.55 8.65 1.25' fill='none' stroke='%23F2F4F7' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  transform: translateY(-50%) rotate(0deg);
  transition: transform 220ms var(--qwix-motion-out);
}
html[data-qwix-tone="light"].qwix-motion-enabled body .aptk-custom-select-trigger::after,
html[data-aptk-mode="suede"].qwix-motion-enabled body .aptk-custom-select-trigger::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1.35 1.25 5 4.55 8.65 1.25' fill='none' stroke='%23857462' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
html.qwix-motion-enabled body .aptk-custom-select-trigger.is-open::after {
  transform: translateY(-50%) rotate(180deg);
}
@keyframes qwix-select-press {
  0% { transform: scale(1); }
  46% { transform: scaleX(.985) scaleY(.965); }
  100% { transform: scale(1); }
}
html.qwix-motion-enabled body .aptk-custom-select-trigger.qwix-select-press {
  animation: qwix-select-press 190ms var(--qwix-motion-out) both !important;
}
html.qwix-motion-enabled .aptk-custom-select-list {
  transform-origin: top center;
  transition:
    opacity 180ms var(--qwix-motion-ease),
    transform 220ms var(--qwix-motion-bounce),
    border-radius 220ms var(--qwix-motion-out) !important;
  will-change: transform, opacity, border-radius;
}
html.qwix-motion-enabled .aptk-custom-select-list[style*="bottom"] {
  transform-origin: bottom center;
}
html.qwix-motion-enabled .aptk-custom-select-list.qwix-dropdown-motion-enter {
  opacity: 0;
  transform: translateY(-3px) scaleX(.975) scaleY(.92);
  border-radius: 13px !important;
}
html.qwix-motion-enabled .aptk-custom-select-list.qwix-dropdown-motion-leave {
  opacity: 0;
  transform: translateY(-2px) scaleX(.985) scaleY(.95);
  pointer-events: none;
}
@keyframes qwix-dropdown-option-in {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}
html.qwix-motion-enabled body .aptk-custom-select-option.qwix-dropdown-option-enter {
  animation: qwix-dropdown-option-in 190ms var(--qwix-motion-out) both !important;
  animation-delay: calc(var(--qwix-option-order, 0) * 18ms) !important;
}
html.qwix-motion-enabled body .aptk-custom-select-option {
  transition: transform 130ms var(--qwix-motion-out), background-color 120ms ease, color 120ms ease !important;
}
html.qwix-motion-enabled body .aptk-custom-select-option:hover {
  transform: translateX(3px) !important;
}

/* ------------------------------------------------------------
   Dialog windows
   ------------------------------------------------------------ */
@keyframes qwix-dialog-open {
  0% {
    opacity: 0;
    transform: translate3d(0, 9px, 0) scaleX(.968) scaleY(.95);
    border-radius: 14px;
  }
  70% {
    opacity: 1;
    transform: translate3d(0, -.55px, 0) scaleX(1.0025) scaleY(1.0015);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}
@keyframes qwix-dialog-close {
  from { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
  to { opacity: 0; transform: translate3d(0, 7px, 0) scaleX(.978) scaleY(.966); }
}
@keyframes qwix-backdrop-in {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes qwix-backdrop-out {
  from { opacity: 1; }
  to { opacity: 0; }
}
html.qwix-motion-enabled .modal-backdrop.qwix-dialog-opening,
html.qwix-motion-enabled .plugin-settings-overlay.qwix-dialog-opening,
html.qwix-motion-enabled .tools-paste-image-overlay.qwix-dialog-opening,
html.qwix-motion-enabled .reference-modal-overlay.qwix-dialog-opening {
  animation: qwix-backdrop-in 180ms ease both;
}
html.qwix-motion-enabled .modal-backdrop.qwix-dialog-opening .aptk-modal,
html.qwix-motion-enabled .plugin-settings-overlay.qwix-dialog-opening .plugin-settings-panel,
html.qwix-motion-enabled .tools-paste-image-overlay.qwix-dialog-opening .tools-paste-image-modal,
html.qwix-motion-enabled .reference-modal-overlay.qwix-dialog-opening .reference-modal-panel {
  animation: qwix-dialog-open 330ms var(--qwix-motion-out) both !important;
  transform-origin: center center;
  will-change: transform, opacity, border-radius;
}
html.qwix-motion-enabled .modal-backdrop.qwix-dialog-closing,
html.qwix-motion-enabled .plugin-settings-overlay.qwix-dialog-closing,
html.qwix-motion-enabled .tools-paste-image-overlay.qwix-dialog-closing {
  display: flex !important;
  pointer-events: none !important;
  animation: qwix-backdrop-out 180ms ease both !important;
}
html.qwix-motion-enabled .plugin-settings-overlay.qwix-dialog-closing {
  display: block !important;
}
html.qwix-motion-enabled .modal-backdrop.qwix-dialog-closing .aptk-modal,
html.qwix-motion-enabled .plugin-settings-overlay.qwix-dialog-closing .plugin-settings-panel,
html.qwix-motion-enabled .tools-paste-image-overlay.qwix-dialog-closing .tools-paste-image-modal,
html.qwix-motion-enabled .reference-modal-overlay.qwix-dialog-closing .reference-modal-panel {
  animation: qwix-dialog-close 180ms cubic-bezier(.4,0,1,1) both !important;
}

/* ------------------------------------------------------------
   Floating physics tooltip. Black on every theme. Only the shared
   tooltip is used for buttons / preset controls; native title bubbles
   and the old static button pseudo-tooltip are suppressed.
   ------------------------------------------------------------ */
html.qwix-motion-enabled button[data-aptk-tooltip]::after,
html.qwix-motion-enabled button[data-tooltip-title]::after,
html.qwix-motion-enabled #presetGrid .preset-card[data-aptk-tooltip]::after {
  content: none !important;
  display: none !important;
}
.qwix-motion-tooltip {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 9999999;
  pointer-events: none;
  opacity: 0;
  transform-origin: left top;
  will-change: transform, opacity;
  transition: opacity 110ms ease;
}
.qwix-motion-tooltip.qwix-motion-tooltip-visible {
  opacity: 1;
}
.qwix-motion-tooltip-bubble {
  min-width: max-content;
  max-width: min(248px, calc(100vw - 20px));
  padding: 8px 10px;
  border-radius: 9px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(10, 10, 12, .975);
  color: rgba(255,255,255,.94);
  box-shadow: 0 14px 32px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.035);
  transform-origin: center center;
  will-change: transform, border-radius;
}
.qwix-motion-tooltip-title {
  display: block;
  font-family: var(--qwix-font-ui, 'Inter', -apple-system, 'Segoe UI', sans-serif);
  font-size: 11px;
  line-height: 1.15;
  font-weight: 650;
  color: rgba(255,255,255,.96);
  white-space: nowrap;
}
.qwix-motion-tooltip-description {
  display: block;
  max-width: 26ch;
  margin-top: 4px;
  font-family: var(--qwix-font-ui, 'Inter', -apple-system, 'Segoe UI', sans-serif);
  font-size: 9.5px;
  line-height: 1.3;
  font-weight: 450;
  color: rgba(255,255,255,.56);
  white-space: normal;
}

/* Split's radial menu keeps its existing layout, only gets a short
   orbiting entrance and the same restrained press response. */
@keyframes qwix-motion-orbit-in {
  0% { opacity: 0; transform: translate(calc(var(--x,0px) * -.55), calc(var(--y,0px) * -.55)) scale(.52); }
  100% { opacity: 1; transform: translate(0,0) scale(1); }
}
html.qwix-motion-enabled #page-split .split-radial-action.qwix-motion-orbit-enter {
  animation: qwix-motion-orbit-in 250ms var(--qwix-motion-out) both;
}


/* ============================================================
   Qwix motion v2 corrections
   ============================================================ */

/* The animated indicators are the only active backgrounds. Hide the
   native active paint immediately, before the next animation frame, so
   there is never a second/phantom selected button. */
html.qwix-motion-enabled body #v120Nav.qwix-main-dock > .v120-nav-btn.active,
html.qwix-motion-enabled body #presetGrid.qwix-side-dock-root > .preset-card.active,
html.qwix-motion-enabled body #expressionPresetSwitch.qwix-side-dock-root > .expression-preset-tab.is-active,
html.qwix-motion-enabled body #expressionCustomPresetList.qwix-side-dock-root > .expr-v151-custom-btn.is-active,
html.qwix-motion-enabled body .qwix-tabs-motion-group > button.active,
html.qwix-motion-enabled body .qwix-tabs-motion-group > button.is-active,
html.qwix-motion-enabled body .qwix-tabs-motion-group > .saved-subtab.active,
html.qwix-motion-enabled body .qwix-tabs-motion-group > .text-subtab.active,
html.qwix-motion-enabled body .qwix-tabs-motion-group > .segment-btn.active {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border-color: transparent !important;
}

/* Main selection returns to the compact, inset size. */
html.qwix-motion-enabled body #v120Nav .qwix-main-selection {
  max-height: 34px;
  border-radius: 10px !important;
}

/* Replace legacy pseudo separators with short dividers that always remain
   inside the navigation capsule. */
html.qwix-motion-enabled body #v120Nav.qwix-main-dock > .v120-nav-btn::after {
  content: none !important;
  display: none !important;
}
html.qwix-motion-enabled body #v120Nav .qwix-main-divider {
  position: absolute;
  top: 50%;
  z-index: 1;
  width: 1px;
  height: 18px;
  border-radius: 999px;
  background: rgba(255,255,255,.075);
  opacity: .78;
  transform: translate3d(-.5px,-50%,0);
  pointer-events: none;
  will-change: left;
}
html[data-qwix-tone="light"].qwix-motion-enabled body #v120Nav .qwix-main-divider,
html[data-aptk-mode="suede"].qwix-motion-enabled body #v120Nav .qwix-main-divider {
  background: rgba(60,47,38,.12);
}

/* Local preset/subpage transitions. Only the changing content receives
   this class; static preset rails, Saved tabs and Save/Add stay untouched.
   The motion is deliberately small and monotonic so large Saved libraries
   remain light in CEP while still feeling alive. */
@keyframes qwix-local-reveal-soft {
  from { transform: translate3d(0, 3px, 0); }
  to { transform: translate3d(0, 0, 0); }
}
html.qwix-motion-enabled .qwix-local-reveal-item {
  opacity: 1 !important;
  animation: qwix-local-reveal-soft 240ms cubic-bezier(.22,.76,.2,1) both !important;
  animation-delay: calc(var(--qwix-local-order, 0) * 7ms) !important;
  will-change: transform;
}

/* Real dropdown arrow element. A child is used instead of ::after because
   button pseudo-tooltips are intentionally disabled. */
html.qwix-motion-enabled body .aptk-custom-select-trigger {
  padding-right: 32px !important;
}
html.qwix-motion-enabled body .aptk-custom-select-trigger::after {
  content: none !important;
  display: none !important;
}
html.qwix-motion-enabled body .aptk-custom-select-trigger > .qwix-select-arrow {
  position: absolute;
  right: 12px;
  top: 50%;
  width: 12px;
  height: 12px;
  display: grid;
  place-items: center;
  color: currentColor;
  opacity: .78;
  transform: translateY(-50%) rotate(0deg);
  transform-origin: center;
  transition: transform 220ms var(--qwix-motion-out), opacity 130ms ease !important;
  pointer-events: none;
}
html.qwix-motion-enabled body .aptk-custom-select-trigger > .qwix-select-arrow svg {
  width: 10px;
  height: 6px;
  display: block;
  overflow: visible;
}
html.qwix-motion-enabled body .aptk-custom-select-trigger.is-open > .qwix-select-arrow,
html.qwix-motion-enabled body .aptk-custom-select-trigger[aria-expanded="true"] > .qwix-select-arrow {
  transform: translateY(-50%) rotate(180deg);
  opacity: 1;
}

/* Tooltip modes in Settings. */
html.qwix-motion-enabled body #page-settings .qwix-tooltip-mode-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 11px 0 12px;
  border-top: 1px solid var(--aptk-edge, rgba(255,255,255,.08));
}
html.qwix-motion-enabled body #page-settings .qwix-tooltip-mode-copy strong {
  display: block;
  font-size: 12px;
  line-height: 1.1;
  font-weight: 850;
}
html.qwix-motion-enabled body #page-settings .qwix-tooltip-mode-copy span {
  display: block;
  margin-top: 3px;
  color: var(--aptk-muted, rgba(255,255,255,.48));
  font-size: 10px;
  line-height: 1.25;
  font-weight: 650;
}
html.qwix-motion-enabled body #page-settings .qwix-tooltip-mode-switch {
  display: inline-grid;
  grid-template-columns: repeat(3, minmax(43px, auto));
  gap: 3px;
  padding: 3px;
  border: 1px solid var(--aptk-edge, rgba(255,255,255,.08));
  border-radius: 13px;
  background: var(--aptk-secondary, rgba(255,255,255,.04));
}
html.qwix-motion-enabled body #page-settings .qwix-tooltip-mode-btn {
  min-width: 43px;
  height: 27px;
  min-height: 27px;
  padding: 0 8px;
  border: 0 !important;
  border-radius: 9px;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--aptk-muted, rgba(255,255,255,.50));
  font-size: 9px;
  line-height: 1;
  font-weight: 820;
}
html.qwix-motion-enabled body #page-settings .qwix-tooltip-mode-btn.is-active {
  background: var(--aptk-primary, #D97757) !important;
  color: var(--qwix-accent-ink, #241C16) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.20) !important;
}
html[data-qwix-tooltip-mode="title"] .qwix-motion-tooltip-description {
  display: none !important;
}
html[data-qwix-tooltip-mode="off"] .qwix-motion-tooltip {
  display: none !important;
}

/* Wiggle switches: restore the original springy knob movement. The
   control remains the existing Qwix checkbox/pill; only its timing and
   restrained press response are restored. */
html.qwix-motion-enabled body #page-expressions .expression-check input[type="checkbox"]::after,
html.qwix-motion-enabled body .expression-check input[type="checkbox"]::after {
  transition: transform 260ms var(--qwix-motion-spring), background var(--qwix-motion-fast) ease !important;
}
html.qwix-motion-enabled body #page-expressions .expression-check input[type="checkbox"],
html.qwix-motion-enabled body .expression-check input[type="checkbox"] {
  transition: background var(--qwix-motion-fast) ease, border-color var(--qwix-motion-fast) ease, transform 120ms var(--qwix-motion-ease) !important;
  transform-origin: center center;
}
html.qwix-motion-enabled body #page-expressions .expression-check input[type="checkbox"]:active,
html.qwix-motion-enabled body .expression-check input[type="checkbox"]:active {
  transform: scale(.96);
}

/* Unlumen-style sliders. The native range stays on top and fully
   functional, while this visual layer adds the hover preview segment and
   the small cursor value bubble. This bubble intentionally ignores the
   global Qwix tooltip setting. */
html.qwix-motion-enabled body .qwix-slider-shell {
  --qwix-slider-current-x: 7px;
  --qwix-slider-preview-x: 7px;
  --qwix-slider-preview-left: 7px;
  --qwix-slider-preview-width: 0px;
  position: relative;
  z-index: 3;
  display: block;
  width: 100%;
  min-width: 0;
  height: 24px;
  margin: 0;
  border-radius: 999px;
  isolation: isolate;
  overflow: visible !important;
  cursor: pointer;
  touch-action: none;
}

html.qwix-motion-enabled body .qwix-slider-shell.qwix-slider-disabled {
  opacity: .46;
  cursor: default;
}

html.qwix-motion-enabled body .qwix-slider-visual-track {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  z-index: 1;
  height: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--qwix-slider-empty, rgba(8,10,13,.76));
  box-shadow:
    inset 0 1px 2px rgba(0,0,0,.34),
    inset 0 0 0 1px rgba(255,255,255,.028);
  transform: translateY(-50%) scaleY(1);
  transform-origin: center center;
  transition: transform 150ms cubic-bezier(.16,1,.3,1);
  will-change: auto;
  pointer-events: none;
}

/* The slider grows only while the pointer is over it.
   This is intentionally tied to qwix-slider-hover/active rather than focus,
   so it returns to its normal size immediately on mouse leave. */
html.qwix-motion-enabled body .qwix-slider-shell.qwix-slider-hover .qwix-slider-visual-track {
  transform: translateY(-50%) scaleY(1.20);
}

html.qwix-motion-enabled body .qwix-slider-shell.qwix-slider-active .qwix-slider-visual-track {
  transform: translateY(-50%) scaleY(1.28);
}

html.qwix-motion-enabled body .qwix-slider-visual-fill {
  position: absolute;
  z-index: 1;
  inset: 0 auto 0 0;
  width: var(--qwix-slider-current-x, 7px);
  min-width: 0;
  border-radius: inherit;
  background: var(--aptk-detail, var(--v138-detail-color, var(--qwix-detail, #D8F2DF)));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16);
  will-change: auto;
  pointer-events: none;
}

/* Grey bridge between the saved value and the value under the cursor. */
html.qwix-motion-enabled body .qwix-slider-visual-preview {
  position: absolute;
  z-index: 2;
  left: var(--qwix-slider-preview-left, 7px);
  top: 0;
  bottom: 0;
  width: var(--qwix-slider-preview-width, 0px);
  border-radius: inherit;
  background: rgba(139, 141, 146, .42);
  opacity: 0;
  transition: opacity 90ms ease;
  will-change: auto;
  pointer-events: none;
}

html.qwix-motion-enabled body .qwix-slider-shell.qwix-slider-hover .qwix-slider-visual-preview,
html.qwix-motion-enabled body .qwix-slider-shell.qwix-slider-active .qwix-slider-visual-preview {
  opacity: 1;
}

html.qwix-motion-enabled body .qwix-slider-visual-thumb {
  position: absolute;
  left: var(--qwix-slider-current-x, 7px);
  top: 50%;
  z-index: 3;
  width: 14px;
  height: 14px;
  border: 1px solid rgba(255,255,255,.36);
  border-radius: 50%;
  background: var(--aptk-detail, var(--v138-detail-color, var(--qwix-detail, #D8F2DF)));
  box-shadow:
    0 3px 9px rgba(0,0,0,.36),
    inset 0 1px 0 rgba(255,255,255,.34);
  transform: translate3d(-50%,-50%,0) scale(1);
  transform-origin: center center;
  transition:
    transform 155ms cubic-bezier(.16,1,.3,1),
    box-shadow 155ms ease;
  will-change: auto;
  pointer-events: none;
}

html.qwix-motion-enabled body .qwix-slider-shell.qwix-slider-hover .qwix-slider-visual-thumb {
  transform: translate3d(-50%,-50%,0) scale(1.14);
  box-shadow:
    0 4px 11px rgba(0,0,0,.38),
    0 0 0 2px rgba(216,242,223,.055),
    inset 0 1px 0 rgba(255,255,255,.34);
}

html.qwix-motion-enabled body .qwix-slider-shell.qwix-slider-active .qwix-slider-visual-thumb {
  transform: translate3d(-50%,-50%,0) scale(1.20);
}

/* Local slider value bubble. It is deliberately separate from
   #qwixMotionTooltip and remains visible even in tooltip mode Off. */
html.qwix-motion-enabled body .qwix-slider-value-tooltip {
  position: absolute;
  z-index: 30;
  left: var(--qwix-slider-preview-x, 7px);
  top: 2px;
  display: block;
  min-width: max-content;
  padding: 5px 8px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 7px;
  background: rgba(31, 32, 35, .98);
  color: rgba(255,255,255,.92);
  box-shadow:
    0 8px 18px rgba(0,0,0,.30),
    inset 0 1px 0 rgba(255,255,255,.035);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 10px;
  line-height: 1;
  font-weight: 680;
  letter-spacing: 0;
  white-space: nowrap;
  opacity: 0;
  transform: translate3d(-50%, calc(-100% - 6px), 0) scale(.94);
  transform-origin: 50% 100%;
  transition:
    opacity 90ms ease,
    transform 150ms cubic-bezier(.16,1,.3,1);
  will-change: auto;
  pointer-events: none;
}

html.qwix-motion-enabled body .qwix-slider-shell.qwix-slider-hover .qwix-slider-value-tooltip,
html.qwix-motion-enabled body .qwix-slider-shell.qwix-slider-active .qwix-slider-value-tooltip {
  opacity: 1;
  transform: translate3d(-50%, calc(-100% - 8px), 0) scale(1);
}

html.qwix-motion-enabled body .qwix-slider-shell:focus-within {
  outline: 1px solid rgba(216,242,223,.34);
  outline-offset: 2px;
}

html.qwix-motion-enabled body .qwix-slider-shell > input[type="range"].qwix-slider-native {
  position: absolute !important;
  display: block !important;
  inset: 0 !important;
  z-index: 4 !important;
  width: 100% !important;
  height: 24px !important;
  min-height: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  opacity: 0 !important;
  cursor: inherit !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

html.qwix-motion-enabled body .qwix-slider-shell > input[type="range"].qwix-slider-native::-webkit-slider-runnable-track,
html.qwix-motion-enabled body .qwix-slider-shell > input[type="range"].qwix-slider-native::-webkit-slider-thumb {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

html[data-qwix-tone="light"].qwix-motion-enabled body .qwix-slider-visual-track,
html[data-aptk-mode="suede"].qwix-motion-enabled body .qwix-slider-visual-track {
  --qwix-slider-empty: rgba(71,58,46,.20);
  box-shadow:
    inset 0 1px 2px rgba(61,47,35,.12),
    inset 0 0 0 1px rgba(61,47,35,.07);
}

html[data-qwix-tone="light"].qwix-motion-enabled body .qwix-slider-visual-preview,
html[data-aptk-mode="suede"].qwix-motion-enabled body .qwix-slider-visual-preview {
  background: rgba(89, 78, 68, .30);
}

/* Extra specificity for runtime-injected theme rules that also use
   !important. This guarantees that only the moving indicator paints. */
html.qwix-motion-enabled body #v120App #v120Nav.v120-nav.qwix-main-dock > .v120-nav-btn.active,
html.qwix-motion-enabled body #v120App #v120Content #page-text-presets #presetGrid.qwix-side-dock-root > .preset-card.active,
html.qwix-motion-enabled body #v120App #v120Content #page-expressions #expressionPresetSwitch.qwix-side-dock-root > .expression-preset-tab.is-active,
html.qwix-motion-enabled body #v120App #v120Content #page-expressions #expressionCustomPresetList.qwix-side-dock-root > .expr-v151-custom-btn.is-active,
html.qwix-motion-enabled body #v120App #v120Content #page-colors #savedSubtabs.qwix-tabs-motion-group > .saved-subtab.active {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border-color: transparent !important;
}
html.qwix-motion-enabled body #v120App #v120Content #page-expressions #expressionCustomPresetList.qwix-side-dock-root > .expr-v151-custom-btn {
  position: relative !important;
  z-index: 2 !important;
}

/* ============================================================
   Qwix motion v9 — focus-only sleep + lighter navigation
   ============================================================ */

/* The side rail must never scale as a whole: doing so shrinks the label
   and can push the moving selection capsule into the clipped rail edge. */
html.qwix-motion-enabled .qwix-side-dock-root {
  transform: none !important;
}

/* Keep the real preset labels at their normal size. The independent
   selection indicator carries the compact .86/.90 geometry instead. */
html.qwix-motion-enabled body #v120App #v120Content #page-text-presets #presetGrid.qwix-side-dock-root > .preset-card.active,
html.qwix-motion-enabled body #v120App #v120Content #page-expressions #expressionPresetSwitch.qwix-side-dock-root > .expression-preset-tab.is-active,
html.qwix-motion-enabled body #v120App #v120Content #page-expressions #expressionCustomPresetList.qwix-side-dock-root > .expr-v151-custom-btn.is-active {
  transform: none !important;
  transform-origin: center center !important;
}

/* Hover is now text-only in the vertical selectors. Removing whole-button
   lift avoids extra repaints and prevents the label from separating from
   the moving selection capsule. */
html.qwix-motion-enabled body #page-text-presets #presetGrid.qwix-side-dock-root > .preset-card:hover,
html.qwix-motion-enabled body #page-expressions #expressionPresetSwitch.qwix-side-dock-root > .expression-preset-tab:hover,
html.qwix-motion-enabled body #page-expressions #expressionCustomPresetList.qwix-side-dock-root > .expr-v151-custom-btn:hover {
  transform: none !important;
}

/* A lighter shadow is cheaper to repaint while the capsule moves in CEP. */
html.qwix-motion-enabled .qwix-main-selection,
html.qwix-motion-enabled .qwix-side-selection {
  box-shadow:
    0 5px 12px -8px var(--v138-primary-glow, rgba(217,119,87,.42)),
    inset 0 1px 0 rgba(255,255,255,.18);
}


/* Saved subpages: the target tab is prepared before it becomes visible, so
   there is no final-state flash before the soft entrance begins. */
html.qwix-motion-enabled .qwix-saved-reveal-prepared {
  opacity: .78 !important;
  transform: translate3d(0, 2px, 0) !important;
  transition: none !important;
}
@keyframes qwix-saved-reveal-soft {
  from { opacity: .78; transform: translate3d(0, 2px, 0); }
  to   { opacity: 1; transform: translate3d(0, 0, 0); }
}
html.qwix-motion-enabled .qwix-saved-reveal-fallback {
  animation: qwix-saved-reveal-soft 230ms cubic-bezier(.2,.7,.2,1) both !important;
  animation-delay: var(--qwix-saved-delay, 0ms) !important;
}


/* ===== Qwix Refs orbital library integration ===== */
html body #page-colors #saved-subpage-reference.active {
  display: flex !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border-radius: 12px !important;
}
html body #page-colors .qwix-refs-frame-wrap {
  position: relative !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,.045) !important;
  border-radius: 12px !important;
  background: #0f1012 !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.22) !important;
}
html body #page-colors .qwix-refs-frame {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  border: 0 !important;
  background: #0f1012 !important;
}
html body #page-colors .qwix-refs-legacy-hooks {
  position: fixed !important;
  left: -10000px !important;
  top: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* ===== Qwix Comps vertical orbital library integration ===== */
html body #page-colors #saved-subpage-comps.active {
  display: flex !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border-radius: 12px !important;
}
html body #page-colors .qwix-comps-frame-wrap {
  position: relative !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,.045) !important;
  border-radius: 12px !important;
  background: #0f1012 !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.22) !important;
}
html body #page-colors .qwix-comps-frame {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  border: 0 !important;
  background: #0f1012 !important;
}
html body #page-colors .qwix-comps-legacy-hooks {
  position: fixed !important;
  left: -10000px !important;
  top: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}


/* ===== Graph selection-aware numeric axis (v62) =====
   AE-style values appear only when real keyframes are selected. The labels
   live inside the SVG, so they stay aligned while the panel is resized. */
html body #page-graph-editor #graphAxisLabels{
  pointer-events:none !important;
  opacity:0;
  transition:opacity 120ms ease !important;
}
html body #page-graph-editor #graphAxisLabels.is-visible{
  opacity:1;
}
html body #page-graph-editor .graph-axis-line{
  stroke:rgba(255,255,255,.24);
  stroke-width:1;
  vector-effect:non-scaling-stroke;
}
html body #page-graph-editor .graph-axis-tick{
  stroke:rgba(255,255,255,.32);
  stroke-width:1;
  vector-effect:non-scaling-stroke;
}
html body #page-graph-editor .graph-axis-label{
  fill:rgba(242,244,247,.66);
  font-family:Inter, Arial, sans-serif;
  font-size:10px;
  font-weight:600;
  letter-spacing:-.1px;
  paint-order:stroke;
  stroke:rgba(20,21,24,.92);
  stroke-width:3px;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
  user-select:none;
}
html[data-qwix-tone="light"] body #page-graph-editor .graph-axis-line{
  stroke:rgba(45,36,29,.24);
}
html[data-qwix-tone="light"] body #page-graph-editor .graph-axis-tick{
  stroke:rgba(45,36,29,.34);
}
html[data-qwix-tone="light"] body #page-graph-editor .graph-axis-label{
  fill:rgba(45,36,29,.62);
  stroke:rgba(242,234,220,.94);
}


/* ===== v66 Tools: names under icons + minimal Qwix line icon set ===== */
html body #page-toolkit .tool-icon-card{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  padding:10px 6px 8px !important;
  font-size:0 !important;
  overflow:hidden !important;
}
html body #page-toolkit .tool-icon-card .tool-card-icon{
  order:1 !important;
  flex:0 0 auto !important;
  display:block !important;
  width:30px !important;
  min-width:30px !important;
  max-width:30px !important;
  height:30px !important;
  min-height:30px !important;
  background-image:none !important;
  background-color:var(--qwix-tool-icon-theme, #F2EDE6) !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:contain !important;
  -webkit-mask-repeat:no-repeat !important;
  mask-repeat:no-repeat !important;
  -webkit-mask-position:center !important;
  mask-position:center !important;
  -webkit-mask-size:contain !important;
  mask-size:contain !important;
  filter:none !important;
  opacity:.92 !important;
  transition:opacity .16s ease, transform .16s cubic-bezier(.2,.85,.25,1) !important;
}
html body #page-toolkit .tool-icon-card .tool-card-label{
  order:2 !important;
  flex:0 0 auto !important;
  display:block !important;
  width:100% !important;
  min-height:11px !important;
  color:var(--qwix-ink, #F2EDE6) !important;
  font-size:9px !important;
  line-height:11px !important;
  font-weight:700 !important;
  letter-spacing:-.015em !important;
  text-align:center !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  opacity:.68 !important;
}
html body #page-toolkit .tool-icon-card:hover .tool-card-icon,
html body #page-toolkit .tool-icon-card:focus-visible .tool-card-icon{
  opacity:1 !important;
  transform:translateY(-1px) !important;
}
html body #page-toolkit .tool-icon-card:hover .tool-card-label,
html body #page-toolkit .tool-icon-card:focus-visible .tool-card-label{opacity:.9 !important;}
html[data-aptk-mode="suede"] body #page-toolkit .tool-icon-card .tool-card-label{color:#17130f !important;}
html body #page-toolkit .icon-unprecomp{-webkit-mask-image:url('../assets/tools-icons/un-precomp.png') !important;mask-image:url('../assets/tools-icons/un-precomp.png') !important;}
html body #page-toolkit .icon-parent-null{-webkit-mask-image:url('../assets/tools-icons/parent-null.png') !important;mask-image:url('../assets/tools-icons/parent-null.png') !important;}
html body #page-toolkit .icon-split-text{-webkit-mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjEuNjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTMuNSAxNy41IDcuMiA2LjVsMy43IDExTTQuOCAxMy41aDQuOE0xNSA2LjV2MTFNMTUgNi41aDNhMi4zIDIuMyAwIDAgMSAwIDQuNmgtM20wIDBoMy41YTMuMiAzLjIgMCAwIDEgMCA2LjRIMTUiLz48cGF0aCBkPSJNMTIuNSA0LjUgMTEgMTkuNSIvPjwvZz48L3N2Zz4=") !important;mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjEuNjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTMuNSAxNy41IDcuMiA2LjVsMy43IDExTTQuOCAxMy41aDQuOE0xNSA2LjV2MTFNMTUgNi41aDNhMi4zIDIuMyAwIDAgMSAwIDQuNmgtM20wIDBoMy41YTMuMiAzLjIgMCAwIDEgMCA2LjRIMTUiLz48cGF0aCBkPSJNMTIuNSA0LjUgMTEgMTkuNSIvPjwvZz48L3N2Zz4=") !important;}
html body #page-toolkit .icon-paste-image{-webkit-mask-image:url('../assets/tools-icons/paste-image.png') !important;mask-image:url('../assets/tools-icons/paste-image.png') !important;}
html body #page-toolkit .icon-cam-nulls{-webkit-mask-image:url('../assets/tools-icons/cam-nulls.png') !important;mask-image:url('../assets/tools-icons/cam-nulls.png') !important;}
html body #page-toolkit .icon-dup-comp{-webkit-mask-image:url('../assets/tools-icons/dup-comp.png') !important;mask-image:url('../assets/tools-icons/dup-comp.png') !important;}
html body #page-toolkit .icon-gen-orb{-webkit-mask-image:url('../assets/tools-icons/gen-orb.png') !important;mask-image:url('../assets/tools-icons/gen-orb.png') !important;}
html body #page-toolkit .icon-fill{display:none !important;-webkit-mask-image:none !important;mask-image:none !important;}

/* Anchor Point follows the same white/dark theme ink as the new tool icons. */
html body #page-toolkit{--qwix-anchor-arrow-accent:var(--qwix-tool-icon-theme, #F2EDE6) !important;}
html[data-aptk-mode="suede"] body #page-toolkit{--qwix-anchor-arrow-accent:#000000 !important;}
html body #page-toolkit .anchor-grid-v146 button:not(:nth-child(5))::before,
html body #page-toolkit .anchor-grid-v146 button:nth-child(5)::before{
  background-color:var(--qwix-anchor-arrow-accent) !important;
}

/* Keep all eight function cards visually identical, including Fill. */
html body #page-toolkit #addFillEffectBtn{
  font-size:0 !important;
  border-radius:10px !important;
}
@media (max-width:360px){
  html body #page-toolkit .tool-icon-card{gap:6px !important;padding:8px 4px 7px !important;}
  html body #page-toolkit .tool-icon-card .tool-card-icon{width:27px !important;min-width:27px !important;max-width:27px !important;height:27px !important;min-height:27px !important;}
  html body #page-toolkit .tool-icon-card .tool-card-label{font-size:8px !important;line-height:10px !important;}
}


html body #page-toolkit #addFillEffectBtn .tool-card-icon{display:none !important;}
html body #page-toolkit #addFillEffectBtn{justify-content:center !important;align-items:center !important;gap:0 !important;}
html body #page-toolkit #addFillEffectBtn .tool-card-label{order:1 !important;width:auto !important;min-height:0 !important;font-size:13px !important;line-height:1 !important;opacity:.92 !important;}



/* v68 final tools polish: hover lifts the whole card, not the icon; split + duplicate icons updated to user-selected silhouettes. */
html body #page-toolkit .tool-icon-card{
  overflow:hidden !important;
  transition:transform .16s cubic-bezier(.2,.85,.25,1), box-shadow .16s ease, border-color .16s ease !important;
}
html body #page-toolkit .tool-icon-card:hover,
html body #page-toolkit .tool-icon-card:focus-visible{
  transform:translateY(-1px) !important;
}
html body #page-toolkit .tool-icon-card .tool-card-icon{
  transform:none !important;
  transition:opacity .16s ease !important;
}
html body #page-toolkit .tool-icon-card:hover .tool-card-icon,
html body #page-toolkit .tool-icon-card:focus-visible .tool-card-icon{
  transform:none !important;
  opacity:1 !important;
}
html body #page-toolkit .icon-split-text{-webkit-mask-image:url('../assets/tools-icons/split-text.png') !important;mask-image:url('../assets/tools-icons/split-text.png') !important;background-image:none !important;}
html body #page-toolkit .icon-dup-comp{-webkit-mask-image:url('../assets/tools-icons/dup-comp.png') !important;mask-image:url('../assets/tools-icons/dup-comp.png') !important;background-image:none !important;}


/* ===== v71 Tools: custom FFX/effect buttons in expandable free space ===== */
html body #page-toolkit .tools-custom-presets-space{
  flex:1 1 auto !important;
  min-height:0 !important;
  margin-top:8px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  gap:8px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding:0 1px 4px !important;
  scrollbar-width:none;
}
html body #page-toolkit .tools-custom-presets-space::-webkit-scrollbar{display:none;}
html body #page-toolkit .tools-custom-actions-row{
  flex:0 0 auto !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:8px !important;
}
html body #page-toolkit .tools-custom-add-btn{
  min-height:38px !important;
  border-radius:10px !important;
  border:1px solid rgba(255,255,255,.075) !important;
  background:var(--qwix-raised-bg, linear-gradient(180deg,#2a2c2e,#242628)) !important;
  color:var(--qwix-ink,#f2ede6) !important;
  box-shadow:var(--t-shadow,0 6px 14px rgba(0,0,0,.16)) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  font-size:10px !important;
  font-weight:700 !important;
  cursor:pointer !important;
  transition:transform .16s cubic-bezier(.2,.85,.25,1),border-color .16s ease,box-shadow .16s ease !important;
}
html body #page-toolkit .tools-custom-add-btn:hover,
html body #page-toolkit .tools-custom-add-btn:focus-visible{
  transform:translateY(-1px) !important;
  border-color:rgba(255,255,255,.14) !important;
}
html body #page-toolkit .tools-custom-add-icon{
  font-size:18px !important;
  line-height:1 !important;
  font-weight:400 !important;
  opacity:.82 !important;
}
html body #page-toolkit .tools-custom-save-icon{
  width:14px !important;
  height:14px !important;
  border:1.5px solid currentColor !important;
  border-radius:4px !important;
  position:relative !important;
  opacity:.8 !important;
}
html body #page-toolkit .tools-custom-save-icon::after{
  content:"" !important;
  position:absolute !important;
  left:3px !important;
  right:3px !important;
  bottom:2px !important;
  height:3px !important;
  border-radius:1.5px !important;
  background:currentColor !important;
}
html body #page-toolkit .custom-tools-grid{
  flex:0 0 auto !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:8px !important;
  padding:0 !important;
}
html body #page-toolkit .custom-tool-preset-btn{
  min-width:0 !important;
  min-height:52px !important;
  padding:7px 5px !important;
  border-radius:10px !important;
  border:1px solid rgba(255,255,255,.07) !important;
  background:var(--qwix-raised-bg,linear-gradient(180deg,#2a2c2e,#242628)) !important;
  color:var(--qwix-ink,#f2ede6) !important;
  box-shadow:var(--t-shadow,0 6px 14px rgba(0,0,0,.14)) !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:5px !important;
  overflow:hidden !important;
  transition:transform .16s cubic-bezier(.2,.85,.25,1),border-color .16s ease !important;
}
html body #page-toolkit .custom-tool-preset-btn:hover,
html body #page-toolkit .custom-tool-preset-btn:focus-visible{
  transform:translateY(-1px) !important;
  border-color:rgba(255,255,255,.14) !important;
}
html body #page-toolkit .custom-tool-badge{
  font-size:7px !important;
  line-height:12px !important;
  height:12px !important;
  padding:0 5px !important;
  border-radius:999px !important;
  color:var(--qwix-tool-icon-theme,#f2ede6) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  opacity:.76 !important;
}
html body #page-toolkit .custom-tool-name{
  width:100% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  text-align:center !important;
  font-size:9px !important;
  font-weight:700 !important;
  opacity:.78 !important;
}
html body #page-toolkit .tools-align-bar-v146{
  margin-top:8px !important;
}
/* Parameters are opened in compact menus instead of inline controls. Keep the
   real Align select hidden before the custom trigger is built, then return it
   to a measurable (but visually clipped) state so the trigger is not hidden by
   the custom-select visibility synchronizer. */
html body #page-toolkit #toolsInlineOptions{display:none !important;}
html body #page-toolkit .align-target-select-v146:not(.aptk-native-select-hidden){display:none !important;}
html body #page-toolkit .align-target-select-v146.aptk-native-select-hidden{display:block !important;}
html body #page-toolkit .tools-align-bar-v146 .align-grid-v146{
  flex:1 1 auto !important;
  width:100% !important;
}

/* Shared Tools form dialogs. */
html body .tools-form-modal{
  width:min(390px,calc(100vw - 28px)) !important;
  max-height:calc(100vh - 28px) !important;
  overflow:auto !important;
}
html body .tools-form-fields{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
  margin:4px 0 14px !important;
}
html body .tools-form-field{
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
  min-width:0 !important;
}
html body .tools-form-field.is-checkbox{
  min-height:38px !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:9px !important;
  padding:0 10px !important;
  border-radius:10px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  background:rgba(255,255,255,.035) !important;
  font-size:11px !important;
  font-weight:600 !important;
}
html body .tools-form-field.is-checkbox input{
  width:16px !important;
  height:16px !important;
  accent-color:var(--qwix-accent,#ff8750) !important;
}
html body .tools-form-field-label{
  font-size:10px !important;
  color:var(--qwix-muted,rgba(255,255,255,.58)) !important;
  font-weight:650 !important;
}
html body .tools-form-control{
  width:100% !important;
  min-height:38px !important;
  padding:0 11px !important;
  border-radius:10px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  background:rgba(255,255,255,.045) !important;
  color:var(--qwix-ink,#f2ede6) !important;
  font-size:12px !important;
  outline:none !important;
}
html body .tools-form-control:focus{
  border-color:rgba(255,135,80,.72) !important;
  box-shadow:0 0 0 3px rgba(255,135,80,.14) !important;
}
html body .tools-form-color-row{
  display:grid !important;
  grid-template-columns:44px minmax(0,1fr) !important;
  gap:8px !important;
}
html body .tools-form-color{
  width:44px !important;
  height:38px !important;
  padding:3px !important;
  border-radius:10px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  background:rgba(255,255,255,.04) !important;
}
html[data-qwix-tone="light"] body #page-toolkit .tools-custom-add-btn,
html[data-qwix-tone="light"] body #page-toolkit .custom-tool-preset-btn{
  border-color:rgba(35,26,20,.10) !important;
}
@media (max-width:360px){
  html body #page-toolkit .custom-tools-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  html body #page-toolkit .tools-custom-add-btn{font-size:9px !important;}
}

/* v71 correction: older Tools CSS hid the legacy Add FFX id and forced the custom grid to display:contents. */
html body #page-toolkit #addToolFfxBtn,
html body #page-toolkit #saveToolEffectsBtn{
  display:flex !important;
}
html body #page-toolkit #customToolsGrid{
  display:grid !important;
}
html body #page-toolkit .tools-align-bar-v146{
  grid-template-columns:minmax(0,1fr) !important;
}
html body #page-toolkit .tools-align-bar-v146 > .aptk-custom-select-trigger,
html body #page-toolkit .tools-align-bar-v146 > .align-target-select-v146{
  display:none !important;
}
html body #page-toolkit .tools-align-bar-v146 .align-grid-v146{
  width:100% !important;
  min-width:0 !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  justify-content:stretch !important;
}
html body #page-toolkit .custom-tool-badge{
  border-color:rgba(255,255,255,.14) !important;
}
html body .tools-form-control:focus{
  border-color:rgba(255,135,80,.72) !important;
  box-shadow:0 0 0 3px rgba(255,135,80,.14) !important;
}
@media (max-height:490px){
  html body #page-toolkit .tools-custom-presets-space{display:none !important;}
  html body #page-toolkit .tools-align-bar-v146{margin-top:auto !important;}
}


/* ===== v73 restore direct Align / Anchor / Solid controls ===== */
html body #page-toolkit .tools-align-bar-v146{
  display:grid !important;
  grid-template-columns:minmax(42px,1fr) auto !important;
  gap:8px !important;
  align-items:center !important;
  padding:5px 8px !important;
  min-height:44px !important;
  overflow:hidden !important;
}
html body #page-toolkit .tools-align-bar-v146 > .aptk-custom-select-trigger{
  display:flex !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  height:34px !important;
  min-height:34px !important;
  padding-left:12px !important;
  padding-right:28px !important;
  font-size:9px !important;
}
html body #page-toolkit .tools-align-bar-v146 > .align-target-select-v146{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
}
html body #page-toolkit .tools-align-bar-v146 .align-grid-v146{
  display:grid !important;
  grid-template-columns:repeat(6,24px) !important;
  gap:4px !important;
  width:164px !important;
  min-width:164px !important;
  height:34px !important;
  min-height:34px !important;
  justify-content:end !important;
  align-items:center !important;
}

html body #page-toolkit .solid-layer-btn-v73{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
}
html body #page-toolkit .solid-inline-swatch-v73{
  flex:0 0 auto !important;
  width:14px !important;
  height:14px !important;
  border-radius:50% !important;
  border:1px solid rgba(255,255,255,.20) !important;
  background:#000 !important;
  box-shadow:0 1px 3px rgba(0,0,0,.28) !important;
  cursor:pointer !important;
}
html body #page-toolkit .solid-inline-swatch-v73:hover,
html body #page-toolkit .solid-inline-swatch-v73.is-open{
  border-color:rgba(255,255,255,.42) !important;
  transform:scale(1.06) !important;
}
html body #page-toolkit .solid-layer-label-v73{pointer-events:none !important;}
html body #page-toolkit .tools-layers-row-v146{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}

html body #page-settings .v139-settings-toggle-row{
  min-height:48px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  padding:10px 12px !important;
  margin-top:6px !important;
  border:1px solid var(--aptk-edge) !important;
  border-radius:14px !important;
  background:var(--aptk-surface-soft,rgba(255,255,255,.035)) !important;
  color:var(--aptk-text) !important;
  cursor:pointer !important;
}
html body #page-settings .v139-settings-toggle-row > span{
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:3px !important;
}
html body #page-settings .v139-settings-toggle-row strong{
  font-size:12px !important;
  line-height:14px !important;
  font-weight:820 !important;
  color:var(--aptk-text) !important;
}
html body #page-settings .v139-settings-toggle-row small{
  font-size:10px !important;
  line-height:13px !important;
  font-weight:600 !important;
  color:var(--aptk-muted) !important;
}
html body #page-settings .v139-settings-toggle-row input[type="checkbox"]{
  flex:0 0 auto !important;
  width:18px !important;
  height:18px !important;
  margin:0 !important;
  accent-color:var(--qwix-accent,#ff8750) !important;
  cursor:pointer !important;
}


/* ===== v74 Custom Tools: square empty + slots and square saved buttons ===== */
html body #page-toolkit .tools-custom-presets-space{
  flex:1 1 auto !important;
  min-height:0 !important;
  margin-top:8px !important;
  padding:0 1px 4px !important;
  display:block !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  scrollbar-width:none !important;
}
html body #page-toolkit .tools-custom-presets-space::-webkit-scrollbar{display:none !important;}
html body #page-toolkit .tools-custom-actions-row,
html body #page-toolkit #addToolFfxBtn,
html body #page-toolkit #saveToolEffectsBtn{display:none !important;}
html body #page-toolkit #customToolsGrid,
html body #page-toolkit .custom-tools-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  grid-auto-rows:auto !important;
  align-items:start !important;
  gap:8px !important;
  width:100% !important;
  min-width:0 !important;
  padding:0 !important;
}
html body #page-toolkit #customToolsGrid > .custom-tool-preset-btn,
html body #page-toolkit #customToolsGrid > .custom-tool-empty-btn{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:1 / 1 !important;
  box-sizing:border-box !important;
  border-radius:10px !important;
  border:1px solid rgba(255,255,255,.07) !important;
  background:var(--qwix-raised-bg,linear-gradient(180deg,#2a2c2e,#242628)) !important;
  color:var(--qwix-ink,#f2ede6) !important;
  box-shadow:var(--t-shadow,0 6px 14px rgba(0,0,0,.14)) !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  padding:8px 5px !important;
  gap:6px !important;
  transition:transform .16s cubic-bezier(.2,.85,.25,1),border-color .16s ease,box-shadow .16s ease !important;
}
html body #page-toolkit #customToolsGrid > .custom-tool-preset-btn:hover,
html body #page-toolkit #customToolsGrid > .custom-tool-preset-btn:focus-visible,
html body #page-toolkit #customToolsGrid > .custom-tool-empty-btn:hover,
html body #page-toolkit #customToolsGrid > .custom-tool-empty-btn:focus-visible{
  transform:translateY(-1px) !important;
  border-color:rgba(255,255,255,.14) !important;
}
html body #page-toolkit .custom-tool-empty-btn .custom-tool-plus{
  display:block !important;
  font-size:28px !important;
  line-height:1 !important;
  font-weight:300 !important;
  color:var(--qwix-tool-icon-theme,var(--qwix-ink,#f2ede6)) !important;
  opacity:.72 !important;
  transform:translateY(-1px) !important;
  pointer-events:none !important;
}
html body #page-toolkit .custom-tool-empty-btn:hover .custom-tool-plus,
html body #page-toolkit .custom-tool-empty-btn:focus-visible .custom-tool-plus{opacity:1 !important;}
html body #page-toolkit .custom-tool-preset-btn .custom-tool-badge{
  flex:0 0 auto !important;
  height:17px !important;
  min-height:17px !important;
  line-height:15px !important;
  padding:0 7px !important;
  border-radius:999px !important;
  font-size:8px !important;
  font-weight:750 !important;
  letter-spacing:.02em !important;
  color:var(--qwix-tool-icon-theme,var(--qwix-ink,#f2ede6)) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  opacity:.82 !important;
}
html body #page-toolkit .custom-tool-preset-btn .custom-tool-name{
  display:block !important;
  width:100% !important;
  min-height:11px !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  text-align:center !important;
  font-size:9px !important;
  line-height:11px !important;
  font-weight:700 !important;
  letter-spacing:-.015em !important;
  color:var(--qwix-ink,#f2ede6) !important;
  opacity:.72 !important;
}
html[data-qwix-tone="light"] body #page-toolkit #customToolsGrid > .custom-tool-preset-btn,
html[data-qwix-tone="light"] body #page-toolkit #customToolsGrid > .custom-tool-empty-btn{
  border-color:rgba(35,26,20,.10) !important;
}
@media (max-width:360px){
  html body #page-toolkit #customToolsGrid,
  html body #page-toolkit .custom-tools-grid{gap:7px !important;}
  html body #page-toolkit .custom-tool-empty-btn .custom-tool-plus{font-size:24px !important;}
  html body #page-toolkit .custom-tool-preset-btn .custom-tool-name{font-size:8px !important;line-height:10px !important;}
}


/* ===== v75 Refs-style rotating context menu for Tools ===== */
html body .tools-context-menu-blocker.context-menu-blocker{
  position:fixed !important;
  inset:0 !important;
  z-index:1680 !important;
  display:none !important;
  background:transparent !important;
  cursor:default !important;
  touch-action:none !important;
}
html body .tools-context-menu-blocker.context-menu-blocker.is-open{display:block !important;}
html body .tools-orbit-context-menu.orbit-context-menu{
  --orbit-radius:78px;
  --orbit-item-w:42px;
  --orbit-item-h:52px;
  --orbit-duration:14s;
  position:fixed !important;
  left:0;
  top:0;
  width:0;
  height:0;
  z-index:1700 !important;
  visibility:hidden;
  pointer-events:none;
}
html body .tools-orbit-context-menu.orbit-context-menu.is-open,
html body .tools-orbit-context-menu.orbit-context-menu.is-closing{visibility:visible;}
html body .tools-orbit-context-menu .context-orbit-path{
  position:absolute;
  width:calc(var(--orbit-radius) * 2);
  height:calc(var(--orbit-radius) * 2);
  left:calc(var(--orbit-radius) * -1);
  top:calc(var(--orbit-radius) * -1);
  border:1px solid rgba(255,255,255,.075);
  border-radius:50%;
  opacity:0;
  transform:scale(.9);
  animation:tools-context-path-in 320ms cubic-bezier(.18,.82,.2,1) 13ms forwards;
  box-shadow:inset 0 0 36px rgba(255,255,255,.008);
  pointer-events:none;
}
html body .tools-orbit-context-menu .context-orbit-spinner{
  position:absolute;left:0;top:0;width:0;height:0;transform-origin:0 0;
  animation:tools-context-orbit-spin var(--orbit-duration) linear infinite;
  pointer-events:none;will-change:transform;backface-visibility:hidden;
}
html body .tools-orbit-context-menu .context-orbit-slot{
  --angle:0deg;position:absolute;left:0;top:0;width:0;height:0;
  transform:rotate(var(--angle)) translate3d(var(--orbit-radius),0,0);
  transform-origin:0 0;pointer-events:none;backface-visibility:hidden;
}
html body .tools-orbit-context-menu .context-orbit-upright{
  position:absolute;
  left:calc(var(--orbit-item-w) * -.5);
  top:calc(var(--orbit-item-h) * -.5);
  width:var(--orbit-item-w);
  height:var(--orbit-item-h);
  transform:rotate(calc(var(--angle) * -1));
  transform-origin:50% 50%;
  pointer-events:none;
  backface-visibility:hidden;
}
html body .tools-orbit-context-menu .context-orbit-counter{
  position:absolute;inset:0;
  animation:tools-context-orbit-counter-spin var(--orbit-duration) linear infinite;
  transform-origin:50% 50%;will-change:transform;backface-visibility:hidden;pointer-events:none;
}
html body .tools-orbit-context-menu .context-orbit-item{
  --delay:0ms;
  position:relative;
  width:100%;height:100%;padding:0;
  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;
  display:block;
  color:rgba(255,255,255,.88);
  background:linear-gradient(180deg,rgba(25,27,32,.96) 0%,rgba(18,20,24,.98) 100%);
  box-shadow:0 14px 28px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.04);
  cursor:pointer;
  pointer-events:auto;
  opacity:0;
  transform:scale(.38);
  transform-origin:50% 50%;
  animation:tools-context-item-in 555ms var(--delay) both;
  transition:border-color 180ms ease,background 180ms ease,color 180ms ease,box-shadow 180ms ease,transform 180ms ease;
  outline:none;
  will-change:transform,opacity;
  backface-visibility:hidden;
  -webkit-font-smoothing:antialiased;
}
html body .tools-orbit-context-menu .context-orbit-item::after{
  content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.03);border-radius:inherit;pointer-events:none;
}
html body .tools-orbit-context-menu .context-orbit-face{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:5px;padding:7px 4px 6px;transform-origin:50% 50%;pointer-events:none;will-change:transform;
  backface-visibility:hidden;text-align:center;transform:translateZ(0);
}
html body .tools-orbit-context-menu .context-orbit-icon{
  width:14px;height:14px;display:grid;place-items:center;flex:0 0 auto;transform:translateZ(0);
}
html body .tools-orbit-context-menu .context-orbit-item svg{
  width:14px;height:14px;stroke-width:1.85;pointer-events:none;shape-rendering:geometricPrecision;
}
html body .tools-orbit-context-menu .context-orbit-text{
  display:block;max-width:38px;font-size:6.8px;font-weight:650;line-height:1.05;letter-spacing:0;
  color:rgba(255,255,255,.94);white-space:nowrap;overflow:hidden;text-overflow:clip;text-shadow:none;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transform:translateZ(0);
}
html body .tools-orbit-context-menu .context-orbit-item:hover,
html body .tools-orbit-context-menu .context-orbit-item:focus-visible{
  color:#fff;border-color:rgba(255,255,255,.18);
  background:linear-gradient(180deg,rgba(31,34,40,.98) 0%,rgba(22,24,29,.99) 100%);
  box-shadow:0 16px 32px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.05);
}
html body .tools-orbit-context-menu .context-orbit-item.is-danger:hover{
  color:#ff9b9b;border-color:rgba(255,115,115,.50);
  box-shadow:0 16px 32px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.05);
}
html body .tools-orbit-context-menu .context-orbit-item.is-disabled{
  cursor:default !important;
}
html body .tools-orbit-context-menu .context-orbit-item.is-disabled .context-orbit-face{
  opacity:.25 !important;
  filter:grayscale(1) !important;
}
html body .tools-orbit-context-menu .context-orbit-item.is-disabled:hover{
  color:rgba(255,255,255,.88);
  border-color:rgba(255,255,255,.10);
  background:linear-gradient(180deg,rgba(25,27,32,.96) 0%,rgba(18,20,24,.98) 100%);
  box-shadow:0 14px 28px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.04);
}
html body .tools-orbit-context-menu .context-orbit-pulse{
  position:absolute;width:14px;height:14px;left:-7px;top:-7px;border-radius:50%;
  border:1px solid var(--qwix-accent,#ff8750);opacity:0;
  animation:tools-context-pulse-out 338ms cubic-bezier(.15,.65,.2,1) forwards;pointer-events:none;
}
html body .tools-orbit-context-menu.is-closing .context-orbit-path{
  animation:tools-context-path-out 270ms cubic-bezier(.4,0,.75,.2) forwards;
}
html body .tools-orbit-context-menu.is-closing .context-orbit-item{
  pointer-events:none;
  animation:tools-context-item-out 245ms var(--close-delay,0ms) cubic-bezier(.4,0,.75,.2) both;
}
html body .tools-orbit-context-menu.is-closing .context-orbit-pulse{opacity:0;animation:none;}

html[data-aptk-mode="suede"] body .tools-orbit-context-menu .context-orbit-path{
  border-color:rgba(58,42,27,.10);
}
html[data-aptk-mode="suede"] body .tools-orbit-context-menu .context-orbit-item{
  color:rgba(34,28,20,.88);
  border-color:rgba(76,58,37,.13);
  background:linear-gradient(180deg,rgba(246,237,222,.98),rgba(235,222,202,.99));
  box-shadow:0 14px 28px rgba(74,51,24,.22),inset 0 1px rgba(255,255,255,.52);
}
html[data-aptk-mode="suede"] body .tools-orbit-context-menu .context-orbit-text{color:rgba(34,28,20,.92);}
html[data-aptk-mode="suede"] body .tools-orbit-context-menu .context-orbit-item:hover{
  color:#21190f;border-color:rgba(76,58,37,.23);
  background:linear-gradient(180deg,rgba(250,243,232,.99),rgba(239,228,210,.99));
}

@keyframes tools-context-path-in{0%{opacity:0;transform:scale(.9)}100%{opacity:1;transform:scale(1)}}
@keyframes tools-context-path-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.84)}}
@keyframes tools-context-orbit-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes tools-context-orbit-counter-spin{from{transform:rotate(0deg)}to{transform:rotate(-360deg)}}
@keyframes tools-context-item-in{0%{opacity:0;transform:scale(.42)}78%{opacity:1;transform:scale(1.015)}100%{opacity:1;transform:scale(1)}}
@keyframes tools-context-item-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.42)}}
@keyframes tools-context-pulse-out{0%{opacity:.55;transform:scale(.45)}100%{opacity:0;transform:scale(8.5)}}

@media (max-width:380px),(max-height:580px){
  html body .tools-orbit-context-menu.orbit-context-menu{
    --orbit-radius:68px;
    --orbit-item-w:38px;
    --orbit-item-h:48px;
  }
  html body .tools-orbit-context-menu .context-orbit-icon{width:12px;height:12px;}
  html body .tools-orbit-context-menu .context-orbit-item svg{width:12px;height:12px;}
  html body .tools-orbit-context-menu .context-orbit-text{max-width:34px;font-size:6.4px;}
}


/* ===== v76 Tools layout restoration =====
   Keep original card sizes/gaps and normal document flow for Align. */
html body #page-toolkit,
html body #page-toolkit .tools-design-page,
html body #page-toolkit .tools-design-v146,
html body #v120App #v120Content #page-toolkit .tools-shell-v146,
html body #page-toolkit .tools-shell-v146{
  height:auto !important;
  min-height:0 !important;
  overflow:visible !important;
}
html body #page-toolkit .tools-shell-v146{
  display:block !important;
}
html body #page-toolkit .tools-align-bar-v146{
  position:relative !important;
  inset:auto !important;
  align-self:auto !important;
  z-index:auto !important;
}
html body #page-toolkit .tools-custom-presets-space:not(.has-presets){
  display:none !important;
}
html body #page-toolkit .tools-custom-presets-space.has-presets{
  display:block !important;
}
html body #page-toolkit #customToolsGrid > .custom-tool-empty-btn{
  display:none !important;
}
/* The custom trigger already has a real .qwix-select-arrow child. Hide the
   older pseudo-arrow so Composition never shows two chevrons. */
html.qwix-motion-enabled body #page-toolkit .tools-align-bar-v146 > .aptk-custom-select-trigger::after,
html body #page-toolkit .tools-align-bar-v146 > .aptk-custom-select-trigger::after{
  content:none !important;
  display:none !important;
  background-image:none !important;
  border:0 !important;
}


/* ===== v77 Tools: exact custom-card grid, scrollable presets, Align follows panel bottom ===== */
html body #v120App #v120Content #page-toolkit,
html body #v120App #v120Content #page-toolkit.active,
html body #v120App #v120Content #page-toolkit .tools-design-page,
html body #v120App #v120Content #page-toolkit .tools-design-v146,
html body #v120App #v120Content #page-toolkit .tools-shell-v146{
  height:100% !important;
  min-height:0 !important;
  max-height:100% !important;
  overflow:hidden !important;
}
html body #v120App #v120Content #page-toolkit .tools-shell-v146{
  display:flex !important;
  flex-direction:column !important;
  gap:0 !important;
}
html body #page-toolkit .tools-upper-v146,
html body #page-toolkit .tools-functions-v146{
  flex:0 0 auto !important;
}
html body #page-toolkit .tools-custom-presets-space:not(.has-presets){
  display:none !important;
}
html body #page-toolkit .tools-custom-presets-space.has-presets{
  display:block !important;
  flex:1 1 0 !important;
  min-height:0 !important;
  max-height:none !important;
  margin-top:8px !important;
  padding:0 0 5px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  overscroll-behavior:contain !important;
  scroll-behavior:smooth !important;
  scrollbar-width:none !important;
  touch-action:pan-y !important;
}
html body #page-toolkit .tools-custom-presets-space.has-presets::-webkit-scrollbar{
  display:none !important;
  width:0 !important;
  height:0 !important;
}
html body #page-toolkit #customToolsGrid,
html body #page-toolkit .custom-tools-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  grid-auto-flow:row !important;
  grid-auto-rows:auto !important;
  gap:8px !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  align-items:start !important;
}
html body #page-toolkit #customToolsGrid > .custom-tool-preset-btn{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:1 / 1 !important;
  margin:0 !important;
  padding:9px 6px 8px !important;
  gap:7px !important;
  border-radius:10px !important;
  box-sizing:border-box !important;
}
html body #page-toolkit .tools-align-bar-v146{
  position:relative !important;
  inset:auto !important;
  flex:0 0 auto !important;
  align-self:stretch !important;
  margin-top:auto !important;
  z-index:auto !important;
}
html body #page-toolkit .tools-custom-presets-space.has-presets + .tools-align-bar-v146{
  margin-top:8px !important;
}


/* ===== v78 Tools: custom presets continue the main 8px grid rhythm ===== */
html body #page-toolkit .tools-custom-presets-space.has-presets{
  margin-top:0 !important;
}


/* ===== v79 Tools squares scroll area =====
   Make the whole square-buttons block scrollable while keeping Align pinned to the panel bottom. */
html body #v120App #v120Content #page-toolkit .tools-shell-v146,
html body #page-toolkit .tools-shell-v146{
  display:flex !important;
  flex-direction:column !important;
  min-height:0 !important;
  height:100% !important;
  max-height:100% !important;
}
html body #page-toolkit .tools-upper-v146{
  flex:0 0 auto !important;
}
html body #page-toolkit .tools-scroll-area-v79{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  margin-top:8px !important;
  padding:0 0 2px !important;
  overscroll-behavior:contain !important;
  scrollbar-width:none !important;
  scroll-snap-type:y mandatory !important;
}
/* Snap is off for the short window while the page's own rise-in entrance
   animation is running. A row is both a scroll-snap-align target and a
   transform-animated qwix-page-reveal-item at that moment, and the snap
   engine reacting to the mid-animation transform distorted the rise-in
   motion (blocks appeared to fall in from the top instead of rising from
   the bottom). Re-enabled once the entrance settles - see
   resetToolsScrollPosition()/the page-toolkit branch in the page-switch
   handlers in qwix-core.js. */
html body #page-toolkit .tools-scroll-area-v79.qwix-tools-entering{
  scroll-snap-type:none !important;
}
/* Fade at the edge(s) that actually have more content to hide, faded in/out
   by opacity (not by toggling mask-image, which doesn't transition
   smoothly) via two sticky overlays that track the visible top/bottom edge
   regardless of scroll position. JS (updateToolsScrollFade) toggles
   .is-visible on whichever side has content beyond it. */
html body #page-toolkit .qwix-tools-scroll-fade{
  position:sticky !important;
  left:0 !important;
  right:0 !important;
  height:16px !important;
  pointer-events:none !important;
  z-index:5 !important;
  opacity:0 !important;
  transition:opacity 200ms ease !important;
}
html body #page-toolkit .qwix-tools-scroll-fade-top{
  top:0 !important;
  margin-bottom:-16px !important;
  background:linear-gradient(to bottom, var(--aptk-bg,#1a1013), transparent) !important;
}
html body #page-toolkit .qwix-tools-scroll-fade-bottom{
  bottom:0 !important;
  margin-top:-16px !important;
  background:linear-gradient(to top, var(--aptk-bg,#1a1013), transparent) !important;
}
html body #page-toolkit .qwix-tools-scroll-fade.is-visible{
  opacity:1 !important;
}
/* Rows always land fully in or fully out - never half-cut so a button's
   icon looks sheared off and the row reads as crawling in under whatever
   sits above it. Built-in rows and every custom tool cell are snap points;
   since a full row shares one top edge, snapping to any cell in it is
   equivalent to snapping the whole row. */
html body #page-toolkit .tools-functions-v146 .tools-row-v146,
html body #page-toolkit #customToolsGrid > .custom-tool-preset-btn,
html body #page-toolkit #customToolsGrid > .custom-tool-empty-btn{
  scroll-snap-align:start !important;
}
html body #page-toolkit .tools-scroll-area-v79::-webkit-scrollbar{
  display:none !important;
  width:0 !important;
  height:0 !important;
}
html body #page-toolkit .tools-scroll-area-v79 .tools-functions-v146{
  flex:0 0 auto !important;
}
html body #page-toolkit .tools-scroll-area-v79 .tools-custom-presets-space:not(.has-presets){
  display:none !important;
}
html body #page-toolkit .tools-scroll-area-v79 .tools-custom-presets-space.has-presets{
  display:block !important;
  margin-top:8px !important;
  padding:0 !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
  flex:none !important;
}
html body #page-toolkit .tools-align-bar-v146{
  flex:0 0 auto !important;
  margin-top:12px !important;
  position:relative !important;
  inset:auto !important;
}


/* ===== v81 Tools spacing normalization ===== */
html body #page-toolkit .tools-upper-v146{
  margin:0 !important;
}
html body #page-toolkit .tools-scroll-area-v79{
  margin-top:8px !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}
html body #page-toolkit .tools-functions-v146{
  margin:0 !important;
  padding:0 !important;
  gap:8px !important;
}
html body #page-toolkit .tools-functions-v146 .tools-row-v146{
  margin:0 !important;
}
html body #page-toolkit .tools-align-bar-v146{
  margin-top:8px !important;
  margin-bottom:0 !important;
}
html body #page-toolkit .tools-custom-presets-space.has-presets + .tools-align-bar-v146{
  margin-top:8px !important;
}


/* ===== v82 exact Tools gaps fix =====
   The 8px gap to the anchor point lives on the scroll area (outside the
   scrollable content) rather than on .tools-functions-v146 (inside it) -
   see the comment near .tools-functions-v146's base rule for why. */
html body #v120App #v120Content #page-toolkit .tools-scroll-area-v79,
html body #page-toolkit .tools-scroll-area-v79{
  margin-top:8px !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}
html body #v120App #v120Content #page-toolkit .tools-functions-v146,
html body #page-toolkit .tools-functions-v146{
  margin-top:0 !important;
}
html body #v120App #v120Content #page-toolkit .tools-align-bar-v146,
html body #page-toolkit .tools-align-bar-v146{
  margin-top:8px !important;
  margin-bottom:0 !important;
}
html body #v120App #v120Content #page-toolkit .tools-shell-v146,
html body #page-toolkit .tools-shell-v146{
  padding:8px !important;
  gap:0 !important;
}


/* ===== v83 exact outer Tools spacing =====
   One 8px rhythm from main nav to Tools content, between Tools groups,
   and from Align to the panel bottom. */
html body #v120App #v120Content #page-toolkit,
html body #page-toolkit{
  padding:0 8px 0 !important;
}
html body #v120App #v120Content #page-toolkit .tools-design-page,
html body #v120App #v120Content #page-toolkit .tools-design-v146,
html body #page-toolkit .tools-design-page,
html body #page-toolkit .tools-design-v146{
  display:block !important;
  grid-template-rows:none !important;
  gap:0 !important;
  height:100% !important;
  min-height:0 !important;
}
html body #v120App #v120Content #page-toolkit .tools-shell-v146,
html body #page-toolkit .tools-shell-v146{
  height:100% !important;
  min-height:0 !important;
  padding:0 8px !important;
  gap:0 !important;
}
html body #v120App #v120Content #page-toolkit .tools-scroll-area-v79,
html body #page-toolkit .tools-scroll-area-v79{
  margin-top:8px !important;
}
html body #v120App #v120Content #page-toolkit .tools-functions-v146,
html body #page-toolkit .tools-functions-v146{
  margin-top:0 !important;
}
html body #v120App #v120Content #page-toolkit .tools-align-bar-v146,
html body #page-toolkit .tools-align-bar-v146{
  margin-top:8px !important;
  margin-bottom:0 !important;
}


/* ===== v84 solid swatch + anchor centering ===== */
html body #page-toolkit .solid-layer-btn-v73{
  gap:8px !important;
}
html body #page-toolkit .solid-inline-swatch-v73{
  width:18px !important;
  height:18px !important;
  border-radius:5px !important;
  border:1px solid rgba(255,255,255,.20) !important;
  box-shadow:0 1px 3px rgba(0,0,0,.28) !important;
}
html body #page-toolkit .anchor-grid-v146 button:not(:nth-child(5))::before{
  width:11px !important;
  height:11px !important;
  left:50% !important;
  top:50% !important;
}
/* Fine centering so every arrow sits visually in the middle of its square */
html body #page-toolkit .anchor-grid-v146 button:nth-child(1)::before{transform:translate(-49%, -49%) rotate(-135deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(2)::before{transform:translate(-50%, -49%) rotate(-90deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(3)::before{transform:translate(-51%, -49%) rotate(-45deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(4)::before{transform:translate(-49%, -50%) rotate(180deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(6)::before{transform:translate(-51%, -50%) rotate(0deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(7)::before{transform:translate(-49%, -51%) rotate(135deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(8)::before{transform:translate(-50%, -51%) rotate(90deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(9)::before{transform:translate(-51%, -51%) rotate(45deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(5)::before{
  width:8px !important;
  height:8px !important;
}


/* ===== v85 anchor arrows true-center ===== */
html body #page-toolkit .anchor-grid-v146 button:not(:nth-child(5))::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:12px !important;
  height:12px !important;
  margin:0 !important;
  background-color:var(--qwix-anchor-arrow-accent) !important;
  -webkit-mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 4c.55 0 1 .45 1 1v4.59l4.3-4.3a1 1 0 1 1 1.4 1.42L14.42 11H19a1 1 0 1 1 0 2h-4.58l4.28 4.28a1 1 0 1 1-1.4 1.42L13 14.41V19a1 1 0 1 1-2 0v-4.59l-4.3 4.29a1 1 0 1 1-1.4-1.42L9.58 13H5a1 1 0 1 1 0-2h4.58L5.3 6.71a1 1 0 0 1 1.4-1.42L11 9.59V5c0-.55.45-1 1-1Z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 4c.55 0 1 .45 1 1v4.59l4.3-4.3a1 1 0 1 1 1.4 1.42L14.42 11H19a1 1 0 1 1 0 2h-4.58l4.28 4.28a1 1 0 1 1-1.4 1.42L13 14.41V19a1 1 0 1 1-2 0v-4.59l-4.3 4.29a1 1 0 1 1-1.4-1.42L9.58 13H5a1 1 0 1 1 0-2h4.58L5.3 6.71a1 1 0 0 1 1.4-1.42L11 9.59V5c0-.55.45-1 1-1Z'/%3E%3C/svg%3E") !important;
  -webkit-mask-repeat:no-repeat !important;
  mask-repeat:no-repeat !important;
  -webkit-mask-position:center !important;
  mask-position:center !important;
  -webkit-mask-size:contain !important;
  mask-size:contain !important;
  transform:translate(-50%, -50%) scale(0.64) rotate(0deg) !important;
  transform-origin:center center !important;
  opacity:.98 !important;
}
html body #page-toolkit .anchor-grid-v146 button:nth-child(1)::before{transform:translate(-50%, -50%) scale(0.64) rotate(-135deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(2)::before{transform:translate(-50%, -50%) scale(0.64) rotate(-90deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(3)::before{transform:translate(-50%, -50%) scale(0.64) rotate(-45deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(4)::before{transform:translate(-50%, -50%) scale(0.64) rotate(180deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(6)::before{transform:translate(-50%, -50%) scale(0.64) rotate(0deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(7)::before{transform:translate(-50%, -50%) scale(0.64) rotate(135deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(8)::before{transform:translate(-50%, -50%) scale(0.64) rotate(90deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(9)::before{transform:translate(-50%, -50%) scale(0.64) rotate(45deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(5)::before{
  left:50% !important;
  top:50% !important;
  transform:translate(-50%, -50%) !important;
}


/* ===== v86 restore real anchor arrows and center them ===== */
html body #page-toolkit .anchor-grid-v146 button::after{
  content:none !important;
  display:none !important;
}
html body #page-toolkit .anchor-grid-v146 button:not(:nth-child(5))::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:12px !important;
  height:12px !important;
  margin:0 !important;
  border-radius:0 !important;
  background:var(--qwix-anchor-arrow-accent) !important;
  -webkit-mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 4C5.8 3.2 4 4 4 5.4v13.2C4 20 5.8 20.8 7 20l10-6.6c1.3-.8 1.3-2.6 0-3.4L7 4z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 4C5.8 3.2 4 4 4 5.4v13.2C4 20 5.8 20.8 7 20l10-6.6c1.3-.8 1.3-2.6 0-3.4L7 4z'/%3E%3C/svg%3E") !important;
  -webkit-mask-repeat:no-repeat !important;
  mask-repeat:no-repeat !important;
  -webkit-mask-position:center !important;
  mask-position:center !important;
  -webkit-mask-size:contain !important;
  mask-size:contain !important;
  transform-origin:center center !important;
  opacity:1 !important;
}
html body #page-toolkit .anchor-grid-v146 button:nth-child(1)::before{transform:translate(-50%, -50%) rotate(-135deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(2)::before{transform:translate(-50%, -50%) rotate(-90deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(3)::before{transform:translate(-50%, -50%) rotate(-45deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(4)::before{transform:translate(-50%, -50%) rotate(180deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(6)::before{transform:translate(-50%, -50%) rotate(0deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(7)::before{transform:translate(-50%, -50%) rotate(135deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(8)::before{transform:translate(-50%, -50%) rotate(90deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(9)::before{transform:translate(-50%, -50%) rotate(45deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(5)::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:8px !important;
  height:8px !important;
  transform:translate(-50%, -50%) !important;
  border-radius:50% !important;
  background:var(--qwix-anchor-arrow-accent) !important;
  opacity:1 !important;
}


/* ===== v87 anchor arrows centroid alignment ===== */
html body #page-toolkit .anchor-grid-v146 button:not(:nth-child(5))::before{
  left:50% !important;
  top:50% !important;
  width:12px !important;
  height:12px !important;
}
html body #page-toolkit .anchor-grid-v146 button:nth-child(1)::before{left:calc(50% - 1.8px) !important; top:calc(50% - 1.8px) !important; transform:translate(-50%, -50%) rotate(-135deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(2)::before{left:50% !important; top:calc(50% - 1.8px) !important; transform:translate(-50%, -50%) rotate(-90deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(3)::before{left:calc(50% + 1.8px) !important; top:calc(50% - 1.8px) !important; transform:translate(-50%, -50%) rotate(-45deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(4)::before{left:calc(50% - 1.8px) !important; top:50% !important; transform:translate(-50%, -50%) rotate(180deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(6)::before{left:calc(50% + 1.8px) !important; top:50% !important; transform:translate(-50%, -50%) rotate(0deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(7)::before{left:calc(50% - 1.8px) !important; top:calc(50% + 1.8px) !important; transform:translate(-50%, -50%) rotate(135deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(8)::before{left:50% !important; top:calc(50% + 1.8px) !important; transform:translate(-50%, -50%) rotate(90deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(9)::before{left:calc(50% + 1.8px) !important; top:calc(50% + 1.8px) !important; transform:translate(-50%, -50%) rotate(45deg) !important;}
html body #page-toolkit .anchor-grid-v146 button:nth-child(5)::before{left:50% !important; top:50% !important; transform:translate(-50%, -50%) !important;}

/* ===== v97 Split UI polish ===== */
html body #page-split .split-topbar-card{
  align-items:stretch;
}
html body #page-split .split-topbar-card > .tool-btn,
html body #page-split .split-topbar-card > .primary-btn{
  width:100%;
  height:40px;
  min-height:40px;
  align-self:end;
}
html body #page-split .split-mode-field{
  align-self:stretch;
}
html body #page-split .split-select-shell{
  display:block;
  width:100%;
}
html body #page-split .split-select-shell > .aptk-custom-select-trigger{
  width:100%;
  height:40px;
  min-height:40px;
  border-radius:9px !important;
  font-size:10px;
  padding-left:12px !important;
  padding-right:32px !important;
}
html body #page-split #splitCreateLayersBtn:disabled{
  opacity:.48 !important;
  color:rgba(244,244,245,.42) !important;
  background:var(--aptk-secondary,#242529) !important;
  background-color:var(--aptk-secondary,#242529) !important;
  border-color:rgba(255,255,255,.07) !important;
  box-shadow:none !important;
  filter:saturate(.35) !important;
}
html body #page-split .split-analysis-overlay,
html body #page-split .split-dialog-backdrop{
  display:flex !important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity 190ms ease, visibility 0s linear 200ms;
}
html body #page-split .split-analysis-overlay.is-hidden,
html body #page-split .split-dialog-backdrop.is-hidden{
  display:flex !important;
}
html body #page-split .split-analysis-overlay.is-open,
html body #page-split .split-dialog-backdrop.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity 190ms ease, visibility 0s linear 0s;
}
html body #page-split .split-analysis-overlay.is-closing,
html body #page-split .split-dialog-backdrop.is-closing{
  opacity:0;
  visibility:visible;
  pointer-events:none;
}
html body #page-split .split-analysis-card,
html body #page-split .split-dialog-card{
  transform:translateY(12px) scale(.98);
  transform-origin:center;
  transition:transform 280ms cubic-bezier(.2,.8,.2,1), opacity 190ms ease;
}
html body #page-split .split-analysis-overlay.is-open .split-analysis-card,
html body #page-split .split-dialog-backdrop.is-open .split-dialog-card{
  transform:translateY(0) scale(1);
}
html body #page-split .split-analysis-overlay.is-closing .split-analysis-card,
html body #page-split .split-dialog-backdrop.is-closing .split-dialog-card{
  transform:translateY(8px) scale(.985);
}
html body #page-split .split-analysis-meter span{
  transition:width .72s cubic-bezier(.2,.7,.2,1) !important;
}
html body #page-split .split-selection-inspector{
  width:118px;
  max-width:calc(100% - 20px);
  min-width:0;
  padding:6px;
  border-radius:9px;
  pointer-events:auto;
  animation:splitInspectorIn 190ms cubic-bezier(.2,.8,.2,1) both;
}
html body #page-split .split-selection-inspector.has-text{
  width:260px;
}
html body #page-split .split-selection-inspector.has-multi{
  width:auto;
  min-width:104px;
}
html body #page-split .split-inspector-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:6px;
  align-items:center;
}
html body #page-split .split-inspector-grid.is-text{
  grid-template-columns:90px minmax(0,1fr);
}
html body #page-split .split-inspector-multi{
  padding:3px 6px;
  font-size:10px;
  font-weight:750;
  color:rgba(244,244,245,.78);
  white-space:nowrap;
}
html body #page-split .split-inspector-input{
  width:100%;
  min-width:0;
  height:34px;
  min-height:34px;
  padding:0 10px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:9px !important;
  background:var(--aptk-secondary,#242529) !important;
  color:rgba(244,244,245,.92) !important;
  box-shadow:none !important;
  font-size:10px;
  outline:none !important;
}
html body #page-split .split-inspector-input:focus{
  border-color:rgba(255,255,255,.30) !important;
}
html body #page-split .split-selection-inspector .aptk-custom-select-trigger,
html body #page-split .split-inspector-type-trigger{
  width:100%;
  height:34px;
  min-height:34px;
  padding-left:10px !important;
  padding-right:28px !important;
  border-radius:9px !important;
  font-size:10px;
}
html body #page-split .split-selection-inspector .aptk-custom-select-trigger > .qwix-select-arrow,
html body #page-split .split-inspector-type-trigger > .qwix-select-arrow{
  right:10px;
}
@keyframes splitInspectorIn{
  from{opacity:0;transform:translateY(5px) scale(.97)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
html[data-qwix-tone="light"] body #page-split .split-selection-inspector,
html[data-aptk-mode="suede"] body #page-split .split-selection-inspector{
  background:rgba(245,238,226,.96);
  border-color:rgba(76,58,37,.13);
  box-shadow:0 14px 30px rgba(74,51,24,.18),inset 0 1px rgba(255,255,255,.5);
}
html[data-qwix-tone="light"] body #page-split .split-inspector-input,
html[data-aptk-mode="suede"] body #page-split .split-inspector-input{
  color:rgba(34,28,20,.92) !important;
  border-color:rgba(76,58,37,.14);
}
@media (max-width:560px){
  html body #page-split .split-topbar-card{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  }
  html body #page-split .split-topbar-card > .tool-btn,
  html body #page-split .split-topbar-card > .primary-btn{
    align-self:end;
  }
}

/* ===== v98 Split output dropdown, pixel workspace and cursor ===== */
html body #page-split .split-dialog-output-field{
  display:grid;
  gap:6px;
  margin-top:14px;
}
html body #page-split .split-dialog-output-field > span{
  font-size:9px;
  font-weight:800;
  letter-spacing:.055em;
  text-transform:uppercase;
  color:rgba(244,244,245,.52);
}
html body #page-split .split-dialog-select-shell{
  width:100%;
  min-width:0;
}
html body #page-split .split-dialog-select-shell > .aptk-custom-select-trigger,
html body #page-split .split-dialog-output-trigger{
  width:100%;
  height:40px;
  min-height:40px;
  border-radius:9px !important;
  padding-left:12px !important;
  padding-right:32px !important;
  font-size:10px;
}
html body #page-split .split-dialog-actions{
  margin-top:12px;
}

html body #page-split .split-mode-plugin-trigger{
  display:flex !important;
  align-items:center !important;
  gap:7px;
}
html body #page-split .split-mode-plugin-trigger > span:first-child{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
html body #page-split .split-mode-recommended-badge,
html body .aptk-custom-select-option .split-mode-option-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  height:15px;
  padding:0 6px;
  border-radius:999px;
  font-size:6.8px;
  line-height:1;
  font-weight:800;
  letter-spacing:.02em;
  color:var(--aptk-detail,#4fa8ff);
  background:color-mix(in srgb,var(--aptk-detail,#4fa8ff) 13%,transparent);
  border:1px solid color-mix(in srgb,var(--aptk-detail,#4fa8ff) 24%,transparent);
}
@supports not (background:color-mix(in srgb,#fff 10%,transparent)){
  html body #page-split .split-mode-recommended-badge,
  html body .aptk-custom-select-option .split-mode-option-badge{
    background:rgba(79,168,255,.10);
    border-color:rgba(79,168,255,.22);
  }
}
html body .aptk-custom-select-option.split-mode-option-recommended{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
html body .aptk-custom-select-option .split-mode-option-badge{
  height:14px;
  font-size:6.4px;
}

html body #page-split .split-canvas-wrap{
  isolation:isolate;
  background:var(--aptk-secondary,#17191d) !important;
}
html body #page-split .split-canvas-wrap::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:
    radial-gradient(circle,var(--aptk-detail,#4fa8ff) 0 .7px,transparent .9px),
    radial-gradient(circle,var(--aptk-primary,#b184ff) 0 .55px,transparent .75px);
  background-size:8px 8px,24px 24px;
  background-position:0 0,4px 4px;
  opacity:.13;
}
html body #page-split #splitPreviewCanvas{
  position:relative;
  z-index:1;
}
html[data-qwix-tone="light"] body #page-split .split-canvas-wrap::before,
html[data-aptk-mode="suede"] body #page-split .split-canvas-wrap::before{
  opacity:.10;
}

html body #page-split .split-workspace-cursor,
html body #page-split .split-workspace-cursor-follow{
  position:absolute;
  left:0;
  top:0;
  z-index:8;
  pointer-events:none;
  opacity:0;
  will-change:transform,opacity;
}
html body #page-split .split-workspace-cursor{
  width:13px;
  height:13px;
  margin-left:-6.5px;
  margin-top:-6.5px;
  border-radius:50%;
  background:var(--aptk-detail,#4fa8ff);
  border:1px solid rgba(255,255,255,.70);
  box-shadow:0 0 0 4px rgba(255,255,255,.055),0 4px 14px rgba(0,0,0,.34);
  transition:opacity .12s ease, width .12s ease, height .12s ease, margin .12s ease;
}
html body #page-split .split-workspace-cursor::after{
  content:"";
  position:absolute;
  inset:4px;
  border-radius:50%;
  background:#fff;
  opacity:.92;
}
html body #page-split .split-workspace-cursor-follow{
  min-width:42px;
  height:23px;
  padding:0 8px;
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:8px;
  font-weight:800;
  letter-spacing:.01em;
  color:rgba(244,244,245,.92);
  background:rgba(22,24,29,.88);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 8px 18px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter:blur(6px);
  transition:opacity .14s ease,background .14s ease,border-color .14s ease;
}
html body #page-split .split-workspace-cursor.is-visible,
html body #page-split .split-workspace-cursor-follow.is-visible{
  opacity:1;
}
html body #page-split .split-workspace-cursor.is-pressed{
  width:9px;
  height:9px;
  margin-left:-4.5px;
  margin-top:-4.5px;
}
html body #page-split .split-workspace-cursor-follow.is-pressed{
  background:color-mix(in srgb,var(--aptk-detail,#4fa8ff) 18%,rgba(22,24,29,.92));
  border-color:color-mix(in srgb,var(--aptk-detail,#4fa8ff) 38%,rgba(255,255,255,.10));
}
html body #page-split .split-canvas-wrap.has-custom-cursor,
html body #page-split .split-canvas-wrap.has-custom-cursor #splitPreviewCanvas{
  cursor:none !important;
}
html[data-qwix-tone="light"] body #page-split .split-workspace-cursor-follow,
html[data-aptk-mode="suede"] body #page-split .split-workspace-cursor-follow{
  color:rgba(34,28,20,.90);
  background:rgba(246,237,222,.90);
  border-color:rgba(76,58,37,.14);
  box-shadow:0 8px 18px rgba(74,51,24,.18),inset 0 1px 0 rgba(255,255,255,.5);
}
html body #page-split .split-workspace-cursor{
  margin-left:0;
  margin-top:0;
}
html body #page-split .split-workspace-cursor.is-pressed{
  margin-left:0;
  margin-top:0;
}

/* ===== v99 Split workspace motion: animated pixels + Unlumen-style cursor ===== */
html body #page-split .split-canvas-wrap::before{
  display:none !important;
}
html body #page-split .split-pixel-canvas{
  position:absolute;
  inset:0;
  z-index:0;
  display:block;
  width:100%;
  height:100%;
  pointer-events:none;
}
html body #page-split #splitPreviewCanvas{
  position:relative;
  z-index:1;
  background:transparent !important;
}
html body #page-split .split-workspace-cursor-follow{
  display:none !important;
}
html body #page-split .split-workspace-cursor{
  position:absolute;
  left:0;
  top:0;
  z-index:8;
  width:24px;
  height:24px;
  margin:0;
  padding:0;
  color:#f4f4f5;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  opacity:0;
  pointer-events:none;
  will-change:transform,opacity;
  transform:translate3d(-100px,-100px,0);
  transition:opacity 110ms ease;
}
html body #page-split .split-workspace-cursor::after{
  content:none;
  display:none;
}
html body #page-split .split-workspace-cursor.is-visible{
  opacity:1;
}
html body #page-split .split-workspace-cursor-icon{
  position:absolute;
  top:-2.64px;
  left:-1.08px;
  display:block;
  width:24px;
  height:24px;
  overflow:visible;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.48));
  transform-origin:4.5% 11%;
  will-change:transform;
}
html[data-qwix-tone="light"] body #page-split .split-workspace-cursor,
html[data-aptk-mode="suede"] body #page-split .split-workspace-cursor{
  color:#202124;
}
html body #page-split .split-canvas-wrap.has-custom-cursor,
html body #page-split .split-canvas-wrap.has-custom-cursor #splitPreviewCanvas{
  cursor:none !important;
}


/* ===== v100 Split workspace: native cursor, accent pixels, edge-to-edge field ===== */
html body #page-split .split-preview-card{
  padding:0 !important;
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:var(--qwix-radius-lg,14px) !important;
}
html body #page-split .split-canvas-wrap{
  box-sizing:border-box;
  width:100%;
  height:100%;
  min-height:180px;
  border-radius:var(--qwix-radius-lg,14px) !important;
  background:#111214 !important;
  background-color:#111214 !important;
  background-image:none !important;
  border:1px solid rgba(255,255,255,.07) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025) !important;
  cursor:default !important;
}
html body #page-split #splitPreviewCanvas{
  cursor:default;
}
html body #page-split .split-workspace-cursor,
html body #page-split .split-workspace-cursor-follow{
  display:none !important;
}
html body #page-split .split-canvas-wrap.has-custom-cursor,
html body #page-split .split-canvas-wrap.has-custom-cursor #splitPreviewCanvas{
  cursor:default !important;
}

/* ===== v101 Split: ambient zooming workspace, Beta notice and Refs-style menu ===== */
html body #page-split .split-beta-notice{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
  min-height:17px;
  padding:0 2px 1px;
  color:rgba(244,244,245,.48);
  font-size:8.6px;
  font-weight:650;
  line-height:1;
  letter-spacing:.01em;
}
html body #page-split .split-beta-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  height:16px;
  padding:0 6px;
  border-radius:999px;
  color:var(--qwix-accent-soft-ink,var(--aptk-primary,#d97757));
  background:var(--qwix-accent-soft-bg,rgba(217,119,87,.12));
  border:1px solid var(--qwix-accent-soft-border,rgba(217,119,87,.24));
  font-size:7px;
  font-weight:850;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.065em;
}
html body #page-split .split-beta-copy{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

html body .aptk-custom-select-option.has-note{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:7px !important;
}
html body .aptk-custom-select-option-main{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
html body .aptk-custom-select-option-note{
  flex:0 0 auto;
  font-size:6.4px;
  font-weight:800;
  line-height:1;
  letter-spacing:.025em;
  text-transform:uppercase;
  color:var(--qwix-accent-soft-ink,var(--aptk-primary,#d97757));
  opacity:.78;
}
html body .aptk-custom-select-option.is-disabled,
html body .aptk-custom-select-option:disabled{
  cursor:default !important;
  opacity:.42 !important;
  background:transparent !important;
  color:var(--qwix-ink-tertiary,rgba(244,244,245,.46)) !important;
  box-shadow:none !important;
}
html body .aptk-custom-select-option.is-disabled:hover,
html body .aptk-custom-select-option:disabled:hover{
  background:transparent !important;
  color:var(--qwix-ink-tertiary,rgba(244,244,245,.46)) !important;
}

html body #page-split .split-preview-card{
  padding:0 !important;
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  border:0 !important;
  box-shadow:none !important;
}
html body #page-split .split-canvas-wrap{
  isolation:isolate;
  background:#0b0c0e !important;
  background-color:#0b0c0e !important;
  background-image:none !important;
  border:1px solid rgba(255,255,255,.07) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),inset 0 0 46px rgba(0,0,0,.20) !important;
}
html body #page-split .split-pixel-canvas{
  pointer-events:none !important;
  user-select:none !important;
  transform-origin:0 0 !important;
  transform:translate3d(0,0,0);
  will-change:transform;
  contain:strict;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}

/* The shared Qwix button skin is loaded after the Split page styles and used
   to override the orbit buttons. Reapply the exact Refs menu surface here. */
html body .split-orbit-context-menu.orbit-context-menu{
  --orbit-radius:78px;
  --orbit-item-w:42px;
  --orbit-item-h:52px;
  --orbit-duration:14s;
}
html body .split-orbit-context-menu .context-orbit-item{
  position:relative !important;
  box-sizing:border-box !important;
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:0 !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:12px !important;
  display:block !important;
  color:rgba(255,255,255,.88) !important;
  background:linear-gradient(180deg,rgba(25,27,32,.96) 0%,rgba(18,20,24,.98) 100%) !important;
  box-shadow:0 14px 28px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.04) !important;
  cursor:pointer !important;
  opacity:0;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
  font-size:inherit !important;
  font-weight:400 !important;
  line-height:normal !important;
  letter-spacing:0 !important;
  text-shadow:none !important;
  transition:border-color 180ms ease,background 180ms ease,color 180ms ease,box-shadow 180ms ease,transform 180ms ease !important;
}
html body .split-orbit-context-menu .context-orbit-item:hover,
html body .split-orbit-context-menu .context-orbit-item:focus-visible{
  color:#fff !important;
  border-color:rgba(255,255,255,.18) !important;
  background:linear-gradient(180deg,rgba(31,34,40,.98) 0%,rgba(22,24,29,.99) 100%) !important;
  box-shadow:0 16px 32px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.05) !important;
}
html body .split-orbit-context-menu .context-orbit-item.is-disabled,
html body .split-orbit-context-menu .context-orbit-item:disabled{
  opacity:1 !important;
  cursor:default !important;
  color:rgba(255,255,255,.88) !important;
  border-color:rgba(255,255,255,.10) !important;
  background:linear-gradient(180deg,rgba(25,27,32,.96) 0%,rgba(18,20,24,.98) 100%) !important;
  box-shadow:0 14px 28px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.04) !important;
}
html body .split-orbit-context-menu .context-orbit-item.is-disabled .context-orbit-face,
html body .split-orbit-context-menu .context-orbit-item:disabled .context-orbit-face{
  opacity:.25 !important;
  filter:grayscale(1) !important;
}
html[data-aptk-mode="suede"] body .split-orbit-context-menu .context-orbit-item{
  color:rgba(34,28,20,.88) !important;
  border-color:rgba(76,58,37,.13) !important;
  background:linear-gradient(180deg,rgba(246,237,222,.98),rgba(235,222,202,.99)) !important;
  box-shadow:0 14px 28px rgba(74,51,24,.22),inset 0 1px rgba(255,255,255,.52) !important;
}
html[data-aptk-mode="suede"] body .split-orbit-context-menu .context-orbit-item:hover,
html[data-aptk-mode="suede"] body .split-orbit-context-menu .context-orbit-item:focus-visible{
  color:#21190f !important;
  border-color:rgba(76,58,37,.23) !important;
  background:linear-gradient(180deg,rgba(250,243,232,.99),rgba(239,228,210,.99)) !important;
}

@media (max-width:380px), (max-height:580px){
  html body .split-orbit-context-menu.orbit-context-menu{
    --orbit-radius:68px;
    --orbit-item-w:38px;
    --orbit-item-h:48px;
  }
}

/* ID-boost: runtime theme rules use long :not(...) selectors, so the Split
   orbit needs its own id in the cascade to remain pixel-identical to Refs. */
html body #splitOrbitContextMenu.split-orbit-context-menu .context-orbit-item.context-orbit-item{
  box-sizing:border-box !important;
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:0 !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:12px !important;
  display:block !important;
  color:rgba(255,255,255,.88) !important;
  background:linear-gradient(180deg,rgba(25,27,32,.96) 0%,rgba(18,20,24,.98) 100%) !important;
  box-shadow:0 14px 28px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.04) !important;
  cursor:pointer !important;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
  font-size:inherit !important;
  font-weight:400 !important;
  line-height:normal !important;
  letter-spacing:0 !important;
  text-shadow:none !important;
  transition:border-color 180ms ease,background 180ms ease,color 180ms ease,box-shadow 180ms ease,transform 180ms ease !important;
}
html body #splitOrbitContextMenu.split-orbit-context-menu .context-orbit-item.context-orbit-item:hover,
html body #splitOrbitContextMenu.split-orbit-context-menu .context-orbit-item.context-orbit-item:focus-visible{
  color:#fff !important;
  border-color:rgba(255,255,255,.18) !important;
  background:linear-gradient(180deg,rgba(31,34,40,.98) 0%,rgba(22,24,29,.99) 100%) !important;
  box-shadow:0 16px 32px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.05) !important;
}
html body #splitOrbitContextMenu.split-orbit-context-menu .context-orbit-item.context-orbit-item.is-disabled,
html body #splitOrbitContextMenu.split-orbit-context-menu .context-orbit-item.context-orbit-item:disabled{
  opacity:1 !important;
  cursor:default !important;
  color:rgba(255,255,255,.88) !important;
  border-color:rgba(255,255,255,.10) !important;
  background:linear-gradient(180deg,rgba(25,27,32,.96) 0%,rgba(18,20,24,.98) 100%) !important;
  box-shadow:0 14px 28px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.04) !important;
}
html[data-aptk-mode="suede"] body #splitOrbitContextMenu.split-orbit-context-menu .context-orbit-item.context-orbit-item{
  color:rgba(34,28,20,.88) !important;
  border-color:rgba(76,58,37,.13) !important;
  background:linear-gradient(180deg,rgba(246,237,222,.98),rgba(235,222,202,.99)) !important;
  box-shadow:0 14px 28px rgba(74,51,24,.22),inset 0 1px rgba(255,255,255,.52) !important;
}


/* ===== v103 Split: collapsible controls drawer =====
   Mirrors the compact Library / Match / Palette switch on the Colors page:
   a quiet handle when idle, full controls on hover. Detached dropdowns keep it open. */
html body #page-split .split-topbar-card.split-controls-drawer{
  position:relative !important;
  z-index:6 !important;
  box-sizing:border-box !important;
  width:100% !important;
  max-height:10px !important;
  min-height:10px !important;
  padding:0 !important;
  overflow:hidden !important;
  border:1px solid rgba(255,255,255,.08) !important;
  /* 5px is already a perfect pill at the collapsed 10px height.
     Using a real pixel radius instead of 999px lets the corner shape
     evolve from the very first expansion frame instead of visually
     snapping near the end of the height transition. */
  border-radius:5px !important;
  background:rgba(255,255,255,.035) !important;
  background-image:none !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03) !important;
  transition:
    max-height .50s cubic-bezier(.2,.78,.22,1),
    padding .50s cubic-bezier(.2,.78,.22,1),
    border-radius .50s cubic-bezier(.2,.78,.22,1),
    background .36s ease,
    border-color .36s ease,
    box-shadow .36s ease !important;
  transition-delay:0s !important;
  will-change:max-height,padding,border-radius;
}
html body #page-split .split-topbar-card.split-controls-drawer::before{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  z-index:3 !important;
  width:34px !important;
  height:4px !important;
  border-radius:999px !important;
  transform:translate(-50%,-50%) !important;
  background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,.12)) !important;
  box-shadow:0 1px 3px rgba(0,0,0,.18) !important;
  opacity:.95 !important;
  pointer-events:none !important;
  transition:opacity .28s ease,transform .52s cubic-bezier(.2,.78,.22,1) !important;
}
html body #page-split .split-topbar-card.split-controls-drawer > *{
  opacity:0 !important;
  transform:translateY(-7px) !important;
  pointer-events:none !important;
  transition:
    opacity .30s ease .10s,
    transform .52s cubic-bezier(.2,.78,.22,1) !important;
}
html body #page-split .split-topbar-card.split-controls-drawer:hover,
html body #page-split .split-topbar-card.split-controls-drawer.is-dropdown-open{
  max-height:190px !important;
  padding:6px !important;
  overflow:hidden !important;
  border-radius:11px !important;
  border-color:var(--qwix-border-primary,rgba(255,255,255,.08)) !important;
  background:var(--aptk-block,var(--aptk-secondary,#1f2024)) !important;
  background-image:none !important;
  box-shadow:var(--aptk-hard-shadow,0 4px 12px rgba(0,0,0,.22)) !important;
}
html body #page-split .split-topbar-card.split-controls-drawer:hover::before,
html body #page-split .split-topbar-card.split-controls-drawer.is-dropdown-open::before{
  opacity:0 !important;
  transform:translate(-50%,-95%) !important;
}
html body #page-split .split-topbar-card.split-controls-drawer:hover > *,
html body #page-split .split-topbar-card.split-controls-drawer.is-dropdown-open > *{
  opacity:1 !important;
  transform:translateY(0) !important;
  pointer-events:auto !important;
}
html[data-qwix-tone="light"] body #page-split .split-topbar-card.split-controls-drawer,
html[data-aptk-mode="suede"] body #page-split .split-topbar-card.split-controls-drawer{
  border-color:rgba(76,58,37,.10) !important;
  background:rgba(76,58,37,.035) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.32) !important;
}
html[data-qwix-tone="light"] body #page-split .split-topbar-card.split-controls-drawer::before,
html[data-aptk-mode="suede"] body #page-split .split-topbar-card.split-controls-drawer::before{
  background:linear-gradient(180deg,rgba(76,58,37,.28),rgba(76,58,37,.12)) !important;
  box-shadow:0 1px 3px rgba(74,51,24,.12) !important;
}
html[data-qwix-tone="light"] body #page-split .split-topbar-card.split-controls-drawer:hover,
html[data-qwix-tone="light"] body #page-split .split-topbar-card.split-controls-drawer.is-dropdown-open,
html[data-aptk-mode="suede"] body #page-split .split-topbar-card.split-controls-drawer:hover,
html[data-aptk-mode="suede"] body #page-split .split-topbar-card.split-controls-drawer.is-dropdown-open{
  border-color:rgba(76,58,37,.13) !important;
  background:var(--aptk-block,#eee3d2) !important;
  box-shadow:var(--aptk-hard-shadow,0 4px 12px rgba(74,51,24,.16)) !important;
}


/* ===== v104 Split: synchronized drawer geometry + smooth moving workspace ===== */
html body #page-split .split-topbar-card.split-controls-drawer{
  /* Keep the opening geometry on one timing curve. The collapsed radius is
     exactly half the handle height, so it looks fully rounded without the
     late 999px -> 11px clamp that caused the old two-stage motion. */
  border-radius:5px !important;
}
html body #page-split .split-topbar-card.split-controls-drawer:hover,
html body #page-split .split-topbar-card.split-controls-drawer.is-dropdown-open{
  border-radius:11px !important;
}

/* ===== v121 Text: compact easing graph drawer — Expressions parity ===== */
/* Preview -> graph strip -> dropdown controls should use the same visual gap,
   so the drawer no longer steals vertical space from the top side. */
html body #page-text-presets .text-graph-drawer{
  position:relative!important;
  order:2!important;
  z-index:8!important;
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0 solid rgba(255,255,255,.08)!important;
  border-radius:5px!important;
  background:rgba(255,255,255,.035)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03)!important;
  opacity:0;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translate3d(0,-4px,0);
  transition:max-height .68s cubic-bezier(.16,.82,.18,1),min-height .68s cubic-bezier(.16,.82,.18,1),margin-top .68s cubic-bezier(.16,.82,.18,1),margin-bottom .68s cubic-bezier(.16,.82,.18,1),padding .68s cubic-bezier(.16,.82,.18,1),border-width .48s cubic-bezier(.16,.82,.18,1),border-radius .68s cubic-bezier(.16,.82,.18,1),opacity .24s ease,transform .68s cubic-bezier(.16,.82,.18,1),background .42s ease,border-color .42s ease,box-shadow .42s ease!important;
  will-change:max-height,opacity,transform;
}
html body #page-text-presets .text-graph-drawer.is-present{visibility:visible!important;}
html body #page-text-presets .text-graph-drawer.is-visible{
  max-height:5px!important;
  min-height:5px!important;
  margin-top:-4px!important;
  margin-bottom:-4px!important;
  border-width:0!important;
  background:transparent!important;
  box-shadow:none!important;
  opacity:1;
  pointer-events:none!important;
  transform:translate3d(0,0,0);
}
html body #page-text-presets .text-graph-drawer::before{display:none!important;}
html body #page-text-presets .text-graph-hover-bar{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  z-index:5!important;
  width:58px!important;
  height:5px!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  box-shadow:none!important;
  outline:0!important;
  opacity:1!important;
  pointer-events:auto!important;
  cursor:default!important;
  transform:translate(-50%,-50%)!important;
  transition:width .34s cubic-bezier(.2,.82,.2,1),opacity .24s ease,transform .34s cubic-bezier(.2,.82,.2,1)!important;
}
html body #page-text-presets .text-graph-hover-bar::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:50%!important;
  height:2px!important;
  border-radius:999px!important;
  transform:translateY(-50%)!important;
  background:rgba(255,255,255,.20)!important;
  box-shadow:none!important;
}
html body #page-text-presets .text-graph-drawer.is-hover-primed .text-graph-hover-bar{
  width:116px!important;
}
html body #page-text-presets .text-graph-drawer.is-dropdown-open .text-graph-hover-bar,
html body #page-text-presets .text-graph-drawer:focus-within .text-graph-hover-bar{
  width:116px!important;
  opacity:0!important;
  pointer-events:none!important;
}
html body #page-text-presets .text-graph-drawer>.text-graph-drawer-inner{
  width:100%!important;
  height:100%!important;
  box-sizing:border-box!important;
  opacity:0!important;
  transform:translateY(-7px)!important;
  pointer-events:none!important;
  transition:opacity .34s ease .18s,transform .66s cubic-bezier(.16,.82,.18,1)!important;
}
html body #page-text-presets .text-graph-drawer.is-dropdown-open,
html body #page-text-presets .text-graph-drawer:focus-within{
  max-height:154px!important;
  min-height:154px!important;
  padding:6px!important;
  overflow:hidden!important;
  border-width:1px!important;
  border-radius:14px!important;
  border-color:var(--aptk-edge-strong,rgba(255,255,255,.065))!important;
  background:var(--aptk-block,#111214)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 5px 16px rgba(0,0,0,.26)!important;
  pointer-events:auto!important;
}
html body #page-text-presets .text-graph-drawer.is-dropdown-open>.text-graph-drawer-inner,
html body #page-text-presets .text-graph-drawer:focus-within>.text-graph-drawer-inner{
  opacity:1!important;
  transform:translateY(0)!important;
  pointer-events:auto!important;
}
/* Closing has its own hand-off back into the compact bar. The panel,
   contents and short bar now overlap their transitions instead of completing
   as three separate visual steps. */
html body #page-text-presets .text-graph-drawer.is-closing{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  transition:max-height .68s cubic-bezier(.16,.82,.18,1),min-height .68s cubic-bezier(.16,.82,.18,1),margin-top .68s cubic-bezier(.16,.82,.18,1),margin-bottom .68s cubic-bezier(.16,.82,.18,1),padding .68s cubic-bezier(.16,.82,.18,1),border-width .58s cubic-bezier(.16,.82,.18,1),border-radius .68s cubic-bezier(.16,.82,.18,1),opacity .24s ease,transform .68s cubic-bezier(.16,.82,.18,1),background .62s ease,border-color .62s ease,box-shadow .62s ease!important;
}
html body #page-text-presets .text-graph-drawer.is-closing>.text-graph-drawer-inner{
  opacity:0!important;
  transform:translateY(-4px)!important;
  pointer-events:none!important;
  transition:opacity .28s ease,transform .52s cubic-bezier(.16,.82,.18,1)!important;
}
html body #page-text-presets .text-graph-drawer.is-closing .text-graph-hover-bar{
  width:58px!important;
  opacity:1!important;
  pointer-events:auto!important;
  transition:width .64s cubic-bezier(.16,.82,.18,1),opacity .24s ease .30s,transform .64s cubic-bezier(.16,.82,.18,1)!important;
}
html body #page-text-presets .text-graph-drawer .expr-graph-layout{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:minmax(0,1fr) 25px!important;
  gap:6px!important;
  align-items:stretch!important;
}
html body #page-text-presets .text-graph-drawer .expr-graph-stage{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  align-self:stretch!important;
  justify-self:stretch!important;
  margin:0!important;
  padding:4px 6px!important;
  border-radius:0!important;
  overflow:visible!important;
  box-sizing:border-box!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
html body #page-text-presets .text-graph-drawer .expr-graph-svg{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  display:block!important;
  overflow:visible!important;
}
html body #page-text-presets .text-graph-drawer .expr-graph-grid-lines{display:none!important;}
html body #page-text-presets .text-graph-drawer .expr-graph-grid-lines line{display:none!important;}
html body #page-text-presets .text-graph-drawer .expr-graph-path.main{
  stroke:var(--aptk-primary,#d97757)!important;
  stroke-width:2.7!important;
  fill:none!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  vector-effect:non-scaling-stroke!important;
}
html body #page-text-presets .text-graph-drawer .expr-graph-path.ghost{
  stroke:var(--aptk-primary,#d97757)!important;
  stroke-width:1.35!important;
  fill:none!important;
  opacity:.24!important;
  vector-effect:non-scaling-stroke!important;
}
html body #page-text-presets .text-graph-drawer .expr-graph-handle-line{
  stroke:var(--aptk-primary,#d97757)!important;
  stroke-width:1.65!important;
  opacity:.78!important;
  vector-effect:non-scaling-stroke!important;
}
html body #page-text-presets .text-graph-drawer .expr-graph-anchor,
html body #page-text-presets .text-graph-drawer .expr-graph-handle{
  fill:var(--aptk-primary,#d97757)!important;
  stroke:var(--aptk-primary,#d97757)!important;
  stroke-width:1.65!important;
  vector-effect:non-scaling-stroke!important;
}
html body #page-text-presets .text-graph-drawer .expr-graph-handle-hitbox{
  fill:transparent!important;
  stroke:transparent!important;
  pointer-events:all!important;
  cursor:grab!important;
}
html body #page-text-presets .text-graph-drawer .expr-graph-handle-hitbox:active{cursor:grabbing!important;}
html body #page-text-presets .text-graph-drawer .expr-graph-values-row{
  width:100%!important;
  height:25px!important;
  min-height:25px!important;
  display:grid!important;
  grid-template-columns:46px minmax(0,1fr) 46px!important;
  gap:5px!important;
  margin:0!important;
  padding:0!important;
  align-items:stretch!important;
}
html body #page-text-presets .text-graph-drawer .expr-graph-side-btn,
html body #page-text-presets .text-graph-drawer .expr-graph-values-btn{
  width:100%!important;
  min-width:0!important;
  height:25px!important;
  min-height:25px!important;
  margin:0!important;
  padding:0 4px!important;
  border-radius:7px!important;
  border:1px solid var(--aptk-edge-strong,rgba(255,255,255,.065))!important;
  background:var(--aptk-secondary,#242529)!important;
  color:var(--aptk-text,#f2f4f7)!important;
  font:720 7.6px/1 Inter,-apple-system,"Segoe UI",sans-serif!important;
  cursor:pointer!important;
  box-shadow:none!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
html body #page-text-presets .text-graph-drawer .expr-graph-side-btn:hover,
html body #page-text-presets .text-graph-drawer .expr-graph-values-btn:hover{filter:brightness(1.08)!important;}
html body #page-text-presets .text-graph-drawer .expr-graph-side-btn:active,
html body #page-text-presets .text-graph-drawer .expr-graph-values-btn:active{transform:translateY(1px)!important;}
html body #page-text-presets .text-graph-drawer .expr-graph-values-btn{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 5px!important;
  font-size:7px!important;
  line-height:1!important;
  font-variant-numeric:tabular-nums!important;
  letter-spacing:-.02em!important;
  text-align:center!important;
}
html body #page-text-presets .text-graph-drawer .expr-graph-values-btn>span{
  width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
html body #page-text-presets .text-graph-drawer.is-context-menu-open{z-index:14!important;}
html[data-qwix-tone="light"] body #page-text-presets .text-graph-drawer,
html[data-aptk-mode="suede"] body #page-text-presets .text-graph-drawer{
  border-color:rgba(76,58,37,.10)!important;
  background:rgba(76,58,37,.035)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.32)!important;
}

/* ===== v111 Text: After Effects-rendered custom FFX preview drawer ===== */
html body #page-text-presets .custom-ffx-ae-render-drawer{
  position:relative !important;
  order:2 !important;
  z-index:8 !important;
  display:block;
  box-sizing:border-box !important;
  width:100% !important;
  max-height:0 !important;
  min-height:0 !important;
  margin-top:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border:0 solid rgba(255,255,255,.08) !important;
  border-radius:5px !important;
  background:rgba(255,255,255,.035) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03) !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translate3d(0,-4px,0) !important;
  transition:max-height .50s cubic-bezier(.2,.78,.22,1),min-height .50s cubic-bezier(.2,.78,.22,1),margin-top .50s cubic-bezier(.2,.78,.22,1),padding .50s cubic-bezier(.2,.78,.22,1),border-width .50s cubic-bezier(.2,.78,.22,1),border-radius .50s cubic-bezier(.2,.78,.22,1),opacity .24s ease,transform .50s cubic-bezier(.2,.78,.22,1),background .36s ease,border-color .36s ease,box-shadow .36s ease !important;
  will-change:max-height,opacity,transform;
}
html body #page-text-presets .custom-ffx-ae-render-drawer.is-present{
  visibility:visible !important;
}
html body #page-text-presets .custom-ffx-ae-render-drawer.is-visible{
  max-height:10px !important;
  min-height:10px !important;
  margin-top:-4px !important;
  border-width:1px !important;
  opacity:1 !important;
  pointer-events:auto !important;
  transform:translate3d(0,0,0) !important;
}
html body #page-text-presets .custom-ffx-ae-render-drawer::before{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  z-index:3 !important;
  width:34px !important;
  height:4px !important;
  border-radius:999px !important;
  transform:translate(-50%,-50%) !important;
  background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,.12)) !important;
  box-shadow:0 1px 3px rgba(0,0,0,.18) !important;
  opacity:0 !important;
  pointer-events:none !important;
  transition:opacity .28s ease,transform .52s cubic-bezier(.2,.78,.22,1) !important;
}
html body #page-text-presets .custom-ffx-ae-render-drawer.is-visible::before{
  opacity:.95 !important;
}
html body #page-text-presets .custom-ffx-ae-render-drawer > *{
  opacity:0 !important;
  transform:translateY(-7px) !important;
  pointer-events:none !important;
  transition:opacity .30s ease .10s,transform .52s cubic-bezier(.2,.78,.22,1) !important;
}
html body #page-text-presets .custom-ffx-ae-render-drawer.is-visible:hover,
html body #page-text-presets .custom-ffx-ae-render-drawer.is-dropdown-open{
  max-height:112px !important;
  padding:7px !important;
  overflow:hidden !important;
  border-radius:11px !important;
  border-color:var(--qwix-border-primary,rgba(255,255,255,.08)) !important;
  background:var(--aptk-block,var(--aptk-secondary,#1f2024)) !important;
  box-shadow:var(--aptk-hard-shadow,0 4px 12px rgba(0,0,0,.22)) !important;
}
html body #page-text-presets .custom-ffx-ae-render-drawer.is-visible:hover::before,
html body #page-text-presets .custom-ffx-ae-render-drawer.is-dropdown-open::before{
  opacity:0 !important;
  transform:translate(-50%,-95%) !important;
}
html body #page-text-presets .custom-ffx-ae-render-drawer.is-visible:hover > *,
html body #page-text-presets .custom-ffx-ae-render-drawer.is-dropdown-open > *{
  opacity:1 !important;
  transform:translateY(0) !important;
  pointer-events:auto !important;
}
html body #page-text-presets .custom-ffx-ae-render-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(92px,1fr) !important;
  gap:6px 8px !important;
  align-items:center !important;
}
html body #page-text-presets .custom-ffx-ae-toggle,
html body #page-text-presets .custom-ffx-ae-quality{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  min-width:0 !important;
  color:var(--qwix-text-primary,#e7e9ee) !important;
  font-size:11px !important;
  font-weight:600 !important;
  line-height:24px !important;
  white-space:nowrap !important;
}
html body #page-text-presets .custom-ffx-ae-toggle input{
  width:14px !important;
  height:14px !important;
  margin:0 !important;
  accent-color:var(--accent,#8a5bff) !important;
}
html body #page-text-presets .custom-ffx-ae-quality{
  justify-content:space-between !important;
}
html body #page-text-presets .custom-ffx-ae-quality select,
html body #page-text-presets .custom-ffx-ae-render-btn{
  box-sizing:border-box !important;
  height:24px !important;
  min-height:24px !important;
  border:1px solid var(--qwix-border-primary,rgba(255,255,255,.10)) !important;
  border-radius:7px !important;
  color:var(--qwix-text-primary,#e7e9ee) !important;
  background:var(--aptk-secondary,#292b31) !important;
  font:600 10px/22px inherit !important;
}
html body #page-text-presets .custom-ffx-ae-quality select{
  width:76px !important;
  padding:0 5px !important;
}
html body #page-text-presets .custom-ffx-ae-render-btn{
  width:100% !important;
  padding:0 10px !important;
  cursor:pointer !important;
}
html body #page-text-presets .custom-ffx-ae-render-btn:hover{
  border-color:rgba(138,91,255,.55) !important;
  background:rgba(138,91,255,.18) !important;
}
html body #page-text-presets .custom-ffx-ae-render-btn:disabled{
  opacity:.55 !important;
  cursor:default !important;
}
html body #page-text-presets .custom-ffx-ae-render-status{
  margin-top:6px !important;
  overflow:hidden !important;
  color:var(--qwix-text-secondary,#999da8) !important;
  font-size:9px !important;
  line-height:12px !important;
  text-align:right !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
html body #page-text-presets .custom-ffx-ae-preview-wrap{
  position:absolute !important;
  inset:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}
html body #page-text-presets .custom-ffx-ae-preview-image{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  pointer-events:none !important;
  user-select:none !important;
}
html body #page-text-presets .custom-ffx-ae-preview-placeholder{
  max-width:84% !important;
  color:var(--qwix-text-secondary,#999da8) !important;
  font-size:11px !important;
  line-height:1.35 !important;
  text-align:center !important;
}
html[data-qwix-tone="light"] body #page-text-presets .custom-ffx-ae-render-drawer,
html[data-aptk-mode="suede"] body #page-text-presets .custom-ffx-ae-render-drawer{
  border-color:rgba(76,58,37,.10) !important;
  background:rgba(76,58,37,.035) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.32) !important;
}
html[data-qwix-tone="light"] body #page-text-presets .custom-ffx-ae-render-drawer::before,
html[data-aptk-mode="suede"] body #page-text-presets .custom-ffx-ae-render-drawer::before{
  background:linear-gradient(180deg,rgba(76,58,37,.28),rgba(76,58,37,.12)) !important;
}
html body #page-split .split-pixel-canvas{
  pointer-events:none !important;
  transform-origin:0 0 !important;
  will-change:transform !important;
  contain:strict;
}

/* ===== v105 Split: world-anchored procedural workspace ===== */
html body #page-split .split-pixel-canvas{
  transform:none !important;
  transform-origin:50% 50% !important;
  will-change:auto !important;
  image-rendering:auto;
}

/* ===== v106 Split: compositor-driven finite world =====
   The world is rasterized once and the camera moves it with one GPU transform.
   No canvas crop, glow redraw or per-pixel loop runs during pan/zoom. */
html body #page-split .split-canvas-wrap{
  overflow:hidden !important;
  position:relative !important;
  isolation:isolate !important;
  background:#07080b !important;
}
html body #page-split .split-world-surface{
  position:absolute;
  left:50%;
  top:50%;
  z-index:0;
  display:block;
  pointer-events:none;
  user-select:none;
  transform-origin:50% 50%;
  transform:translate3d(0,0,0) scale(1);
  will-change:transform;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  contain:layout paint style;
}
html body #page-split .split-world-surface .split-pixel-canvas{
  position:absolute !important;
  inset:0 auto auto 0 !important;
  z-index:0 !important;
  display:block !important;
  max-width:none !important;
  max-height:none !important;
  transform:none !important;
  transform-origin:50% 50% !important;
  will-change:auto !important;
  contain:none !important;
  image-rendering:auto;
  pointer-events:none !important;
}
html body #page-split .split-world-glows,
html body #page-split .split-world-spark-field{
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:100%;
  display:block;
  pointer-events:none;
  user-select:none;
}
html body #page-split .split-world-glows{z-index:1}
html body #page-split .split-world-spark-field{z-index:2}
html body #page-split .split-world-glow{
  position:absolute;
  display:block;
  border-radius:50%;
  opacity:.78;
  transform:translateZ(0);
  animation-name:splitWorldGlowBreath;
  animation-timing-function:ease-in-out;
  animation-iteration-count:infinite;
  animation-direction:alternate;
  animation-play-state:paused;
  will-change:opacity;
}
html body #page-split .split-world-glow-2{animation-direction:alternate-reverse}
html body #page-split .split-world-glow-3{animation-timing-function:cubic-bezier(.45,.05,.55,.95)}
html body #page-split .split-world-spark-cluster{
  position:absolute;
  display:block;
  opacity:.11;
  transform:translateZ(0);
  animation-name:splitWorldClusterPulse;
  animation-timing-function:ease-in-out;
  animation-iteration-count:infinite;
  animation-direction:alternate;
  animation-play-state:paused;
  will-change:opacity;
  image-rendering:auto;
}
html body #page-split .split-world-spark-cluster-2{animation-direction:alternate-reverse}
html body #page-split .split-world-spark-cluster-3{animation-timing-function:cubic-bezier(.4,0,.6,1)}
html body #page-split .split-world-spark-cluster-4{animation-timing-function:cubic-bezier(.25,.1,.5,1)}
html body #page-split .split-world-surface.is-ambient-active .split-world-glow,
html body #page-split .split-world-surface.is-ambient-active .split-world-spark-cluster{
  animation-play-state:running;
}
html body #page-split .split-world-vignette{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  border-radius:inherit;
  background:
    linear-gradient(180deg,rgba(0,0,0,.21) 0%,rgba(0,0,0,.015) 21%,rgba(0,0,0,.025) 77%,rgba(0,0,0,.28) 100%),
    radial-gradient(ellipse at 50% 46%,rgba(0,0,0,0) 8%,rgba(0,0,0,.025) 47%,rgba(0,0,0,.22) 77%,rgba(0,0,0,.68) 100%);
  box-shadow:inset 0 0 30px rgba(0,0,0,.22);
  transform:translateZ(0);
}
html body #page-split #splitPreviewCanvas{
  position:relative !important;
  z-index:2 !important;
  background:transparent !important;
}
html body #page-split .split-selection-inspector,
html body #page-split .split-analysis-overlay{z-index:4}
@keyframes splitWorldGlowBreath{
  0%{opacity:.58}
  48%{opacity:.92}
  100%{opacity:.70}
}
@keyframes splitWorldClusterPulse{
  0%{opacity:.035}
  38%{opacity:.20}
  72%{opacity:.075}
  100%{opacity:.27}
}
@media (prefers-reduced-motion:reduce){
  html body #page-split .split-world-glow,
  html body #page-split .split-world-spark-cluster{animation:none !important}
}

/* ===== v107 Split: Star Mist background =====
   Six small repeating particle textures and four soft glow sources animate
   only compositor properties. The finite world remains anchored to the Split
   camera, while panning and zooming still use one transform. */
html body #page-split .split-star-mist-world{
  background:#05070b;
}
html body #page-split .split-star-mist-field{
  z-index:2;
  overflow:hidden;
}
html body #page-split .split-world-star-plane{
  position:absolute;
  display:block;
  pointer-events:none;
  user-select:none;
  background-repeat:repeat;
  opacity:.18;
  transform:translate3d(0,0,0);
  will-change:transform,opacity;
  animation-timing-function:linear,ease-in-out;
  animation-iteration-count:infinite,infinite;
  animation-direction:normal,alternate;
  animation-play-state:paused,paused;
}
html body #page-split .split-world-star-plane-1{animation-name:splitStarMistDrift1,splitStarMistTwinkle1}
html body #page-split .split-world-star-plane-2{animation-name:splitStarMistDrift2,splitStarMistTwinkle2}
html body #page-split .split-world-star-plane-3{animation-name:splitStarMistDrift3,splitStarMistTwinkle3}
html body #page-split .split-world-star-plane-4{animation-name:splitStarMistDrift4,splitStarMistTwinkle1}
html body #page-split .split-world-star-plane-5{animation-name:splitStarMistDrift5,splitStarMistTwinkle2}
html body #page-split .split-world-star-plane-6{animation-name:splitStarMistDrift6,splitStarMistTwinkle3}
html body #page-split .split-world-glow-path{
  position:absolute;
  display:block;
  pointer-events:none;
  user-select:none;
  transform:translate3d(0,0,0);
  will-change:transform;
  animation-timing-function:ease-in-out;
  animation-iteration-count:infinite;
  animation-direction:alternate;
  animation-play-state:paused;
}
html body #page-split .split-world-glow-core{
  position:absolute;
  inset:0;
  display:block;
  border-radius:50%;
  opacity:0;
  transform:translateZ(0) scale(.92);
  will-change:opacity,transform;
  animation-name:splitStarMistGlowBreath;
  animation-timing-function:cubic-bezier(.37,0,.23,1);
  animation-iteration-count:infinite;
  animation-direction:normal;
  animation-play-state:paused;
}
html body #page-split .split-world-glow-path-1{animation-name:splitStarMistGlowDrift1}
html body #page-split .split-world-glow-path-2{animation-name:splitStarMistGlowDrift2}
html body #page-split .split-world-glow-path-3{animation-name:splitStarMistGlowDrift3}
html body #page-split .split-world-glow-path-4{animation-name:splitStarMistGlowDrift4}
html body #page-split .split-star-mist-world.is-ambient-active .split-world-star-plane{
  animation-play-state:running,running;
}
html body #page-split .split-star-mist-world.is-ambient-active .split-world-glow-path,
html body #page-split .split-star-mist-world.is-ambient-active .split-world-glow-core{
  animation-play-state:running;
}
html body #page-split .split-star-mist-vignette{
  background:
    linear-gradient(180deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.01) 20%,rgba(0,0,0,.02) 76%,rgba(0,0,0,.31) 100%),
    radial-gradient(ellipse at 50% 46%,rgba(0,0,0,0) 10%,rgba(0,0,0,.015) 46%,rgba(0,0,0,.20) 76%,rgba(0,0,0,.70) 100%);
  box-shadow:inset 0 0 34px rgba(0,0,0,.25);
}
@keyframes splitStarMistDrift1{0%{transform:translate3d(-48px,-24px,0)}100%{transform:translate3d(48px,34px,0)}}
@keyframes splitStarMistDrift2{0%{transform:translate3d(42px,-42px,0)}100%{transform:translate3d(-46px,38px,0)}}
@keyframes splitStarMistDrift3{0%{transform:translate3d(-34px,46px,0)}100%{transform:translate3d(42px,-40px,0)}}
@keyframes splitStarMistDrift4{0%{transform:translate3d(52px,18px,0)}100%{transform:translate3d(-38px,-46px,0)}}
@keyframes splitStarMistDrift5{0%{transform:translate3d(-20px,-52px,0)}100%{transform:translate3d(46px,42px,0)}}
@keyframes splitStarMistDrift6{0%{transform:translate3d(30px,50px,0)}100%{transform:translate3d(-52px,-28px,0)}}
@keyframes splitStarMistTwinkle1{0%{opacity:.09}48%{opacity:.28}100%{opacity:.15}}
@keyframes splitStarMistTwinkle2{0%{opacity:.20}44%{opacity:.08}100%{opacity:.31}}
@keyframes splitStarMistTwinkle3{0%{opacity:.12}52%{opacity:.33}100%{opacity:.10}}
@keyframes splitStarMistGlowBreath{
  0%,100%{opacity:0;transform:translateZ(0) scale(.90)}
  18%{opacity:.10}
  48%{opacity:1;transform:translateZ(0) scale(1.04)}
  76%{opacity:.22}
}
@keyframes splitStarMistGlowDrift1{0%{transform:translate3d(-32px,-20px,0)}100%{transform:translate3d(38px,26px,0)}}
@keyframes splitStarMistGlowDrift2{0%{transform:translate3d(28px,-34px,0)}100%{transform:translate3d(-36px,32px,0)}}
@keyframes splitStarMistGlowDrift3{0%{transform:translate3d(-24px,38px,0)}100%{transform:translate3d(34px,-28px,0)}}
@keyframes splitStarMistGlowDrift4{0%{transform:translate3d(40px,22px,0)}100%{transform:translate3d(-30px,-36px,0)}}
@media (prefers-reduced-motion:reduce){
  html body #page-split .split-world-star-plane,
  html body #page-split .split-world-glow-path,
  html body #page-split .split-world-glow-core{animation:none !important}
}


/* ===== v108: white slider handles =====
   The accent color belongs only to the filled track. Both the animated
   Qwix handle and the native fallback handle stay pure white in every
   Style Lab color set. */
html.qwix-motion-enabled body .qwix-slider-visual-thumb{
  background:#fff !important;
  background-image:none !important;
  border:1px solid rgba(0,0,0,.20) !important;
  box-shadow:
    0 3px 9px rgba(0,0,0,.38),
    inset 0 1px 0 rgba(255,255,255,.96),
    inset 0 -1px 0 rgba(0,0,0,.08) !important;
}
html.qwix-motion-enabled body .qwix-slider-shell.qwix-slider-hover .qwix-slider-visual-thumb{
  background:#fff !important;
  background-image:none !important;
}
html.qwix-motion-enabled body .qwix-slider-shell.qwix-slider-active .qwix-slider-visual-thumb{
  background:#fff !important;
  background-image:none !important;
}

html[data-aptk-mode] body #v120App #v120Content input[type="range"]::-webkit-slider-thumb,
html[data-aptk-mode] body #page-text-presets input[type="range"]::-webkit-slider-thumb,
html[data-aptk-mode] body #page-graph-editor input[type="range"]::-webkit-slider-thumb,
html[data-aptk-mode] body #page-toolkit input[type="range"]::-webkit-slider-thumb,
html[data-aptk-mode] body #page-colors input[type="range"]::-webkit-slider-thumb,
html[data-aptk-mode] body #page-expressions input[type="range"]::-webkit-slider-thumb,
html[data-aptk-mode] body #page-settings input[type="range"]::-webkit-slider-thumb,
html[data-aptk-mode] body input[type="range"]::-webkit-slider-thumb{
  background:#fff !important;
  background-image:none !important;
  border-color:rgba(0,0,0,.20) !important;
}
html[data-aptk-mode] body #v120App #v120Content input[type="range"]::-moz-range-thumb,
html[data-aptk-mode] body #page-text-presets input[type="range"]::-moz-range-thumb,
html[data-aptk-mode] body #page-graph-editor input[type="range"]::-moz-range-thumb,
html[data-aptk-mode] body #page-toolkit input[type="range"]::-moz-range-thumb,
html[data-aptk-mode] body #page-colors input[type="range"]::-moz-range-thumb,
html[data-aptk-mode] body #page-expressions input[type="range"]::-moz-range-thumb,
html[data-aptk-mode] body #page-settings input[type="range"]::-moz-range-thumb,
html[data-aptk-mode] body input[type="range"]::-moz-range-thumb{
  background:#fff !important;
  background-image:none !important;
  border-color:rgba(0,0,0,.20) !important;
}


/* ===== v109 Text preview: unclipped glyphs + direct inline editing =====
   Paint containment on every animated glyph could shave antialiased edges,
   especially with heavy fonts. Keep the preview's breathing room and allow
   each letter, blur and text shadow to paint outside its own line box. */
#page-text-presets #presetStage .smart-preview-wrap,
#page-text-presets #presetStage .custom-ffx-preview-wrap{
  contain:none !important;
  overflow:visible !important;
  padding:.18em .35em .30em !important;
  box-sizing:border-box !important;
}
#page-text-presets #presetStage .smart-preview-text,
#page-text-presets #presetStage .custom-ffx-preview-text{
  contain:none !important;
  overflow:visible !important;
  line-height:1.24 !important;
  padding:.14em .10em .24em !important;
  margin:0 !important;
  transform:translateY(0) !important;
  box-sizing:border-box !important;
}
#page-text-presets #presetStage .smart-piece,
#page-text-presets #presetStage .custom-ffx-piece{
  contain:none !important;
  overflow:visible !important;
  padding:.04em 0 .10em !important;
  margin-bottom:-.10em !important;
}
#page-text-presets #presetStage.qwix-preview-text-editable{
  cursor:text !important;
}
#page-text-presets #presetStage.qwix-preview-editing{
  overflow:hidden !important;
  cursor:text !important;
}
#page-text-presets #presetStage .qwix-preview-inline-editor{
  display:inline-block !important;
  position:relative !important;
  z-index:20 !important;
  min-width:1em !important;
  max-width:calc(100% - 24px) !important;
  max-height:calc(100% - 18px) !important;
  overflow:auto !important;
  padding:.16em .18em .24em !important;
  margin:0 !important;
  border:0 !important;
  outline:0 !important;
  border-radius:5px !important;
  background:transparent !important;
  color:#fbfdff !important;
  font-family:inherit !important;
  font-size:var(--v130-preview, 30px) !important;
  font-weight:400 !important;
  line-height:1.24 !important;
  letter-spacing:-.04em !important;
  text-align:center !important;
  white-space:pre-wrap !important;
  overflow-wrap:anywhere !important;
  caret-color:#fff !important;
  text-shadow:0 1px 2px rgba(0,0,0,.42) !important;
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.22) !important;
  user-select:text !important;
  -webkit-user-select:text !important;
}
#page-text-presets #presetStage .qwix-preview-inline-editor::selection,
#page-text-presets #presetStage .qwix-preview-inline-editor *::selection{
  background:var(--aptk-primary, var(--accent)) !important;
  color:#fff !important;
}
@media (max-width:420px){
  #page-text-presets #presetStage .qwix-preview-inline-editor{
    font-size:var(--v130-preview-narrow, 26px) !important;
  }
}


/* ===== v110 Saved / Graph context-menu refinement ===== */
/* Give edge swatches enough breathing room for their hover/selection scale so
   the first and last colors are never clipped by the scrolling card. */
html body #page-colors #savedMixedGrid,
html body #page-colors #popularColorsGrid{
  box-sizing:border-box !important;
  padding:9px !important;
}

/* Saved and Graph right-click menus now use the same visual language and
   opening motion as the custom dropdowns on Text / Expressions. */
html body .qwix-dropdown-context-menu,
html body .saved-asset-context-menu.qwix-dropdown-context-menu,
html body .graph-preset-context-menu.qwix-dropdown-context-menu{
  position:fixed !important;
  z-index:999999 !important;
  width:max-content !important;
  min-width:104px !important;
  max-width:min(220px,calc(100vw - 16px)) !important;
  max-height:220px !important;
  padding:6px !important;
  display:grid !important;
  gap:2px !important;
  overflow:auto !important;
  border:1px solid var(--qwix-border,rgba(255,255,255,.10)) !important;
  border-radius:9px !important;
  background:var(--aptk-block,#202124) !important;
  background-image:none !important;
  color:var(--qwix-ink,#f4f4f5) !important;
  box-shadow:0 20px 40px -16px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.05) !important;
  backdrop-filter:none !important;
  opacity:1;
  transform:translateY(0) scale(1);
  transform-origin:top center;
  transition:opacity 180ms var(--qwix-motion-ease,ease),transform 220ms var(--qwix-motion-bounce,cubic-bezier(.2,.9,.2,1)),border-radius 220ms var(--qwix-motion-out,ease) !important;
  will-change:transform,opacity,border-radius;
}
html body .qwix-dropdown-context-menu.qwix-dropdown-motion-enter{
  opacity:0 !important;
  transform:translateY(-3px) scaleX(.975) scaleY(.92) !important;
  border-radius:13px !important;
}
html body .qwix-dropdown-context-menu.qwix-dropdown-motion-leave{
  opacity:0 !important;
  transform:translateY(-2px) scaleX(.985) scaleY(.95) !important;
  pointer-events:none !important;
}
html body .qwix-dropdown-context-menu .saved-asset-menu-btn,
html body .qwix-dropdown-context-menu .graph-preset-menu-btn{
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:29px !important;
  margin:0 !important;
  padding:8px 10px !important;
  border:0 !important;
  border-radius:7px !important;
  background:transparent !important;
  background-image:none !important;
  color:var(--qwix-ink-tertiary,rgba(244,244,245,.55)) !important;
  box-shadow:none !important;
  font:700 11px/1 Inter,Arial,sans-serif !important;
  text-align:left !important;
  cursor:pointer !important;
  outline:none !important;
  transform:none !important;
  transition:transform 130ms var(--qwix-motion-out,ease),background-color 120ms ease,color 120ms ease !important;
}
html body .qwix-dropdown-context-menu .saved-asset-menu-btn:hover,
html body .qwix-dropdown-context-menu .graph-preset-menu-btn:hover{
  transform:translateX(3px) !important;
  background:var(--qwix-surface-hover,#34302A) !important;
  color:var(--qwix-ink,#f4f4f5) !important;
}
html body .qwix-dropdown-context-menu .saved-asset-menu-btn-danger:hover,
html body .qwix-dropdown-context-menu .graph-preset-menu-btn.is-danger:hover{
  background:rgba(255,76,76,.14) !important;
  color:#ffb0b0 !important;
}

/* Keep the Tools orbit menu visually identical to the Refs orbit menu even
   when broader button/theme rules are loaded later in the main document. */
html body .tools-orbit-context-menu.orbit-context-menu{
  --orbit-radius:78px !important;
  --orbit-item-w:42px !important;
  --orbit-item-h:52px !important;
  --orbit-duration:14s !important;
}
html body .tools-orbit-context-menu .context-orbit-item{
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:12px !important;
  color:rgba(255,255,255,.88) !important;
  background:linear-gradient(180deg,rgba(25,27,32,.96) 0%,rgba(18,20,24,.98) 100%) !important;
  box-shadow:0 14px 28px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.04) !important;
}
html body .tools-orbit-context-menu .context-orbit-item:hover,
html body .tools-orbit-context-menu .context-orbit-item:focus-visible{
  color:#fff !important;
  border-color:rgba(255,255,255,.18) !important;
  background:linear-gradient(180deg,rgba(31,34,40,.98) 0%,rgba(22,24,29,.99) 100%) !important;
  box-shadow:0 16px 32px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.05) !important;
}
html body .tools-orbit-context-menu .context-orbit-face{
  gap:5px !important;
  padding:7px 4px 6px !important;
}
html body .tools-orbit-context-menu .context-orbit-icon,
html body .tools-orbit-context-menu .context-orbit-item svg{
  width:14px !important;
  height:14px !important;
}
html body .tools-orbit-context-menu .context-orbit-text{
  max-width:38px !important;
  font-size:6.8px !important;
  font-weight:650 !important;
  color:rgba(255,255,255,.94) !important;
}
@media (max-width:380px),(max-height:580px){
  html body .tools-orbit-context-menu.orbit-context-menu{
    --orbit-radius:68px !important;
    --orbit-item-w:38px !important;
    --orbit-item-h:48px !important;
  }
  html body .tools-orbit-context-menu .context-orbit-icon,
  html body .tools-orbit-context-menu .context-orbit-item svg{
    width:12px !important;
    height:12px !important;
  }
  html body .tools-orbit-context-menu .context-orbit-text{
    max-width:34px !important;
    font-size:6.4px !important;
  }
}

/* v110b — lock Tools orbit cards to the exact Refs card paint after the
   runtime theme stylesheet is injected. The id-level selector deliberately
   outranks generic button rules created by Style Lab. */
html body #toolsOrbitContextMenu.tools-orbit-context-menu .context-orbit-item.context-orbit-item{
  border-width:1px !important;
  border-style:solid !important;
  border-color:rgba(255,255,255,.10) !important;
  border-radius:12px !important;
  background-color:rgba(18,20,24,.98) !important;
  background-image:linear-gradient(180deg,rgba(25,27,32,.96) 0%,rgba(18,20,24,.98) 100%) !important;
  box-shadow:0 14px 28px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.04) !important;
}
html body #toolsOrbitContextMenu.tools-orbit-context-menu .context-orbit-item.context-orbit-item:hover,
html body #toolsOrbitContextMenu.tools-orbit-context-menu .context-orbit-item.context-orbit-item:focus-visible{
  border-color:rgba(255,255,255,.18) !important;
  background-color:rgba(22,24,29,.99) !important;
  background-image:linear-gradient(180deg,rgba(31,34,40,.98) 0%,rgba(22,24,29,.99) 100%) !important;
  box-shadow:0 16px 32px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.05) !important;
}


/* ===== Custom Expression presets live in the main preset selector ===== */
#page-expressions #expressionCustomPresetList {
  display: none !important;
}
html.qwix-motion-enabled body #v120App #v120Content #page-expressions #expressionPresetSwitch.qwix-side-dock-root > .expr-v151-custom-btn {
  position: relative !important;
  z-index: 2 !important;
}
html.qwix-motion-enabled body #v120App #v120Content #page-expressions #expressionPresetSwitch.qwix-side-dock-root > .expr-v151-custom-btn.is-active {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border-color: transparent !important;
  transform: none !important;
  transform-origin: center center !important;
}
html.qwix-motion-enabled body #page-expressions #expressionPresetSwitch.qwix-side-dock-root > .expr-v151-custom-btn:hover {
  transform: none !important;
}

#page-expressions #expressionPresetSwitch.has-active-saved-preset > .expression-preset-tab.is-active {
  color: var(--v152-muted, rgba(255,255,255,.48)) !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

/* ===== v154 Expressions custom preset label parity =====
   Saved Expression presets use a different class from the built-in presets.
   Late theme rules therefore gave them a darker inactive label. Put built-in,
   saved and the logically-active base editor on one shared visual rule. The
   base editor stays logically active only so its settings panel remains open;
   when a saved preset is selected it must still look inactive. */
html body #v120App #v120Content #page-expressions #expressionPresetSwitch > .expression-preset-tab:not(.is-active),
html body #v120App #v120Content #page-expressions #expressionPresetSwitch > .expr-v151-custom-btn:not(.is-active),
html body #v120App #v120Content #page-expressions #expressionPresetSwitch.has-active-saved-preset > .expression-preset-tab.is-active {
  color: var(--aptk-text, var(--v152-text, #F4F4F5)) !important;
  opacity: .42 !important;
}
html body #v120App #v120Content #page-expressions #expressionPresetSwitch > .expression-preset-tab:not(.is-active) b,
html body #v120App #v120Content #page-expressions #expressionPresetSwitch > .expr-v151-custom-btn:not(.is-active) b,
html body #v120App #v120Content #page-expressions #expressionPresetSwitch.has-active-saved-preset > .expression-preset-tab.is-active b {
  color: inherit !important;
  opacity: 1 !important;
  font-weight: 700 !important;
  -webkit-text-fill-color: currentColor !important;
}
html body #v120App #v120Content #page-expressions #expressionPresetSwitch > .expr-v151-custom-btn:not(.is-active),
html body #v120App #v120Content #page-expressions #expressionPresetSwitch.has-active-saved-preset > .expression-preset-tab.is-active {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
}


/* ===== Tools Composition dropdown: one-line layer names =====
   Long layer names must not make the compact menu taller or introduce a
   scrollbar by wrapping. The full name remains available through title. */
html body .aptk-custom-select-list[data-select-id="alignTargetSelect"]{
  overflow-x:hidden !important;
}
html body .aptk-custom-select-list[data-select-id="alignTargetSelect"] .aptk-custom-select-option{
  display:block !important;
  box-sizing:border-box !important;
  min-width:0 !important;
  max-width:100% !important;
  overflow:hidden !important;
  white-space:nowrap !important;
  text-overflow:ellipsis !important;
}

/* ===== Expressions Custom action row: responsive parity with built-in presets =====
   The Custom editor used fixed minimum column widths (150px + 92px), so its
   Apply/Clear row overflowed and was clipped in narrow CEP panels. Keep the
   same flexible Apply + compact Clear proportions used by the other
   Expressions presets, and allow both buttons to shrink inside the card. */
html body #v120App #v120Content #page-expressions .expr-custom-panel-actions-row{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  grid-template-columns:minmax(0,1fr) 94px !important;
  gap:8px !important;
}
html body #v120App #v120Content #page-expressions .expr-custom-panel-actions-row > button{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  white-space:nowrap !important;
  text-overflow:ellipsis !important;
}
@media (max-width:340px){
  html body #v120App #v120Content #page-expressions .expr-custom-panel-actions-row{
    grid-template-columns:minmax(0,1fr) 52px !important;
    gap:6px !important;
  }
  html body #v120App #v120Content #page-expressions .expr-custom-panel-actions-row .expr-custom-panel-apply-btn,
  html body #v120App #v120Content #page-expressions .expr-custom-panel-actions-row .expr-custom-panel-clear-btn{
    height:39px !important;
    min-height:39px !important;
    padding-left:6px !important;
    padding-right:6px !important;
    font-size:11px !important;
  }
}
@media (max-width:280px){
  html body #v120App #v120Content #page-expressions .expr-custom-panel-actions-row{
    grid-template-columns:minmax(0,1fr) 48px !important;
    gap:5px !important;
  }
  html body #v120App #v120Content #page-expressions .expr-custom-panel-actions-row .expr-custom-panel-apply-btn,
  html body #v120App #v120Content #page-expressions .expr-custom-panel-actions-row .expr-custom-panel-clear-btn{
    padding-left:4px !important;
    padding-right:4px !important;
    font-size:10.5px !important;
  }
}


/* ===== v155 Expressions rail + Custom action parity =====
   - Save remains below the rail, matching Text.
   - The preset selector owns the remaining page height and scrolls internally.
   - Custom and saved-Custom editors reuse the same full-width Apply/Clear row
     geometry as built-in Expression presets. */
html body #v120App #v120Content #page-expressions #saveExpressionPresetBtn{
  display:inline-flex !important;
}

html body #v120App #v120Content #page-expressions .expression-page-pro.expression-v151,
html body #v120App #v120Content #page-expressions .expr-v151-layout{
  height:100% !important;
  min-height:0 !important;
}
html body #v120App #v120Content #page-expressions .expr-v151-layout{
  align-items:stretch !important;
}
html body #v120App #v120Content #page-expressions .expr-v153-left-column{
  height:100% !important;
  min-height:0 !important;
  align-self:stretch !important;
  overflow:hidden !important;
  gap:0 !important;
}
html body #v120App #v120Content #page-expressions .expr-v151-presets-card{
  display:flex !important;
  flex:1 1 auto !important;
  flex-direction:column !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  max-height:100% !important;
  overflow:hidden !important;
}
html body #v120App #v120Content #page-expressions #expressionPresetSwitch{
  display:flex !important;
  flex:1 1 auto !important;
  flex-direction:column !important;
  min-height:0 !important;
  max-height:100% !important;
  margin:0 !important;
  padding:0 1px 2px 0 !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  overscroll-behavior:contain !important;
  scrollbar-width:none !important;
  -ms-overflow-style:none !important;
}
html body #v120App #v120Content #page-expressions #expressionPresetSwitch::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
  display:none !important;
}
html body #v120App #v120Content #page-expressions #expressionPresetSwitch > .expression-preset-tab,
html body #v120App #v120Content #page-expressions #expressionPresetSwitch > .expr-v151-custom-btn{
  flex:0 0 42px !important;
}

html body #v120App #v120Content #page-expressions .expr-custom-panel-actions-row{
  display:none !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  box-sizing:border-box !important;
  grid-template-columns:minmax(0,1fr) 94px !important;
  gap:8px !important;
}
html body #v120App #v120Content #page-expressions .expression-page-pro.is-custom-code-mode .expr-v151-main{
  gap:8px !important;
}
html body #v120App #v120Content #page-expressions .expression-page-pro.is-custom-code-mode .expression-controls-card{
  height:auto !important;
  flex:0 0 auto !important;
}
html body #v120App #v120Content #page-expressions .expression-page-pro.is-custom-code-mode .expr-custom-panel-actions-row{
  display:grid !important;
}
html body #v120App #v120Content #page-expressions .expr-custom-panel-actions-row > button,
html body #v120App #v120Content #page-expressions .expr-custom-panel-actions-row .expr-custom-panel-apply-btn,
html body #v120App #v120Content #page-expressions .expr-custom-panel-actions-row .expr-custom-panel-clear-btn{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:38px !important;
  min-height:38px !important;
  padding:0 10px !important;
  border-radius:11px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  white-space:nowrap !important;
  text-overflow:ellipsis !important;
  font-size:12.5px !important;
  font-weight:790 !important;
}
@media (max-width:340px){
  html body #v120App #v120Content #page-expressions .expr-custom-panel-actions-row{
    grid-template-columns:minmax(0,1fr) 94px !important;
    gap:8px !important;
  }
  html body #v120App #v120Content #page-expressions .expr-custom-panel-actions-row > button,
  html body #v120App #v120Content #page-expressions .expr-custom-panel-actions-row .expr-custom-panel-apply-btn,
  html body #v120App #v120Content #page-expressions .expr-custom-panel-actions-row .expr-custom-panel-clear-btn{
    height:38px !important;
    min-height:38px !important;
    padding:0 10px !important;
    border-radius:11px !important;
    font-size:12.5px !important;
  }
}

/* Text > TM: Mode and Format use the same standard dropdown component. */
html body #page-text-presets #timerModeRow{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}


/* ===== v112 Text preview typography parity =====
   Built-in, custom-imported, and inline-edit previews all use the exact same
   font as the row of dropdowns above them (In / Letters / Up), via the shared
   UI font variable, so preview text always matches the surrounding chrome. */
#page-text-presets #presetStage .smart-preview-text,
#page-text-presets #presetStage .smart-preview-text *,
#page-text-presets #presetStage .custom-ffx-preview-text,
#page-text-presets #presetStage .custom-ffx-preview-text *,
#page-text-presets #presetStage .qwix-preview-inline-editor{
  font-family:var(--qwix-font-ui) !important;
}


/* ===== Qwix Fonts grid library integration ===== */
html body #page-colors #saved-subpage-fonts.active {
  display: flex !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border-radius: 12px !important;
}
html body #page-colors .qwix-fonts-frame-wrap {
  position: relative !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,.045) !important;
  border-radius: 12px !important;
  background: #0f1012 !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.22) !important;
}
html body #page-colors .qwix-fonts-frame {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  border: 0 !important;
  background: #0f1012 !important;
}
html body #page-colors .qwix-fonts-legacy-hooks {
  position: fixed !important;
  left: -10000px !important;
  top: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* ===== Preset switches use the same entrance as full page switches (2026-07-16) ===== */
html.qwix-motion-enabled body .qwix-preset-page-reveal-item{
  animation:qwix-page-reveal-up var(--qwix-motion-page) var(--qwix-motion-out) both!important;
  animation-delay:calc(var(--qwix-preset-reveal-order,0) * var(--qwix-motion-stagger))!important;
  will-change:transform,opacity;
}
@media (prefers-reduced-motion:reduce){
  html.qwix-motion-enabled body .qwix-preset-page-reveal-item{animation:none!important;}
}

/* Expressions: keep the reduced Apply / Update halo without changing the
   restored preset-switch lifecycle or page layout. */
html body #v120App #v120Content #page-expressions .expression-apply-action,
html body #v120App #v120Content #page-expressions .expression-apply-row .primary-btn,
html body #v120App #v120Content #page-expressions .expr-custom-panel-apply-btn,
html[data-qwix-tone="light"] body #v120App #v120Content #page-expressions .expression-apply-action,
html[data-qwix-tone="light"] body #v120App #v120Content #page-expressions .expression-apply-row .primary-btn,
html[data-qwix-tone="light"] body #v120App #v120Content #page-expressions .expr-custom-panel-apply-btn {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.13),
    inset 0 0 0 1px rgba(255,255,255,.055),
    0 5px 12px -10px var(--v138-primary-glow, rgba(217,119,87,.26)) !important;
}
html body #v120App #v120Content #page-expressions .expression-apply-action:hover,
html body #v120App #v120Content #page-expressions .expression-apply-row .primary-btn:hover,
html body #v120App #v120Content #page-expressions .expr-custom-panel-apply-btn:hover {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.17),
    inset 0 0 0 1px rgba(255,255,255,.075),
    0 6px 14px -10px var(--v138-primary-glow, rgba(217,119,87,.34)) !important;
}

/* ===== Internal preset motion strength parity — 2026-07-17 =====
   Keep the existing Text preset targets and lifecycle unchanged. Only the
   travel/settle strength is increased so an internal preset change reads like
   a main-page switch without touching the preview stage or adding new items. */
@keyframes qwix-preset-reveal-strong{
  0%{opacity:0;transform:translate3d(0,16px,0) scale(.993);}
  70%{opacity:1;transform:translate3d(0,-.9px,0) scale(1.0007);}
  100%{opacity:1;transform:translate3d(0,0,0) scale(1);}
}
html.qwix-motion-enabled body #page-text-presets .qwix-preset-page-reveal-item{
  animation-name:qwix-preset-reveal-strong!important;
}
@media (prefers-reduced-motion:reduce){
  html.qwix-motion-enabled body #page-text-presets .qwix-preset-page-reveal-item{animation:none!important;}
}

/* ===== v115 Tools: responsive add slots + Library-style mini menus ===== */
/* The custom area stays measurable at zero height when unused. This lets the
   script add proposal tiles only when the panel actually has free room. */
html body #page-toolkit .tools-scroll-area-v79 .tools-custom-presets-space,
html body #page-toolkit .tools-custom-presets-space{
  display:block !important;
  flex:none !important;
  width:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  margin-top:8px !important;
  padding:0 !important;
  overflow:visible !important;
}
html body #page-toolkit .tools-custom-presets-space:not(.has-presets):not(.has-empty-slots){
  display:block !important;
  height:0 !important;
  margin-top:0 !important;
  overflow:hidden !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
html body #page-toolkit .tools-custom-presets-space.has-presets,
html body #page-toolkit .tools-custom-presets-space.has-empty-slots{
  display:block !important;
  height:auto !important;
  margin-top:8px !important;
  visibility:visible !important;
  pointer-events:auto !important;
}

/* Empty proposal cards use the exact same four-column square rhythm as saved
   custom cards. They live inside the existing scrolling square area and never
   resize the CEP panel or move the bottom Align bar. */
html body #page-toolkit #customToolsGrid > .custom-tool-empty-btn,
html body #page-toolkit .custom-tools-grid > .custom-tool-empty-btn{
  display:flex !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:1 / 1 !important;
  margin:0 !important;
  padding:8px 5px !important;
  box-sizing:border-box !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:10px !important;
  border:1px solid rgba(255,255,255,.07) !important;
  background:var(--qwix-raised-bg,linear-gradient(180deg,#2a2c2e,#242628)) !important;
  color:var(--qwix-ink,#f2ede6) !important;
  box-shadow:var(--t-shadow,0 6px 14px rgba(0,0,0,.14)) !important;
  opacity:1 !important;
  cursor:pointer !important;
  overflow:hidden !important;
  transition:opacity 980ms cubic-bezier(.22,.68,.18,1),transform .16s cubic-bezier(.2,.85,.25,1),border-color .16s ease,box-shadow .16s ease !important;
  will-change:opacity !important;
}
html body #page-toolkit #customToolsGrid > .custom-tool-empty-btn.is-entering,
html body #page-toolkit #customToolsGrid > .custom-tool-empty-btn.is-leaving{
  opacity:0 !important;
}
html body #page-toolkit #customToolsGrid > .custom-tool-empty-btn.is-leaving{
  pointer-events:none !important;
}
html body #page-toolkit #customToolsGrid > .custom-tool-empty-btn:hover,
html body #page-toolkit #customToolsGrid > .custom-tool-empty-btn:focus-visible{
  transform:translateY(-1px) !important;
  border-color:rgba(255,255,255,.14) !important;
}
html body #page-toolkit .custom-tool-empty-btn .custom-tool-plus{
  display:block !important;
  font-size:28px !important;
  line-height:1 !important;
  font-weight:300 !important;
  color:var(--qwix-tool-icon-theme,var(--qwix-ink,#f2ede6)) !important;
  opacity:.72 !important;
  transform:translateY(-1px) !important;
  pointer-events:none !important;
  transition:opacity 180ms ease !important;
}
html body #page-toolkit .custom-tool-empty-btn:hover .custom-tool-plus,
html body #page-toolkit .custom-tool-empty-btn:focus-visible .custom-tool-plus{
  opacity:1 !important;
}
html[data-qwix-tone="light"] body #page-toolkit #customToolsGrid > .custom-tool-empty-btn{
  border-color:rgba(35,26,20,.10) !important;
}

/* Replace the old orbit menu completely. Both the + menu and the right-click
   menu reuse the Library dropdown classes, dimensions, colors and motion. */
html body .tools-context-menu-blocker,
html body .tools-orbit-context-menu{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
html body .tools-mini-context-menu{
  min-width:120px !important;
}
html body .tools-mini-context-menu .tools-mini-menu-btn.is-disabled,
html body .tools-mini-context-menu .tools-mini-menu-btn:disabled{
  opacity:.34 !important;
  color:var(--qwix-ink-tertiary,rgba(244,244,245,.55)) !important;
  cursor:default !important;
  pointer-events:none !important;
  transform:none !important;
  background:transparent !important;
}
html body .tools-mini-context-menu .tools-mini-menu-btn.is-disabled:hover,
html body .tools-mini-context-menu .tools-mini-menu-btn:disabled:hover{
  transform:none !important;
  background:transparent !important;
  color:var(--qwix-ink-tertiary,rgba(244,244,245,.55)) !important;
}

/* Specificity guard against the older v76/v77/v79 no-preset hiding rules. */
html body #v120App #v120Content #page-toolkit .tools-scroll-area-v79 .tools-custom-presets-space,
html body #v120App #v120Content #page-toolkit .tools-scroll-area-v79 .tools-custom-presets-space:not(.has-presets):not(.has-empty-slots){
  display:block !important;
  width:100% !important;
}
html body #v120App #v120Content #page-toolkit .tools-scroll-area-v79 .tools-custom-presets-space:not(.has-presets):not(.has-empty-slots){
  height:0 !important;
  margin-top:0 !important;
  overflow:hidden !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
html body #v120App #v120Content #page-toolkit .tools-scroll-area-v79 .tools-custom-presets-space.has-presets,
html body #v120App #v120Content #page-toolkit .tools-scroll-area-v79 .tools-custom-presets-space.has-empty-slots{
  display:block !important;
  height:auto !important;
  margin-top:8px !important;
  overflow:visible !important;
  visibility:visible !important;
  pointer-events:auto !important;
}

/* Empty and saved custom cards continue the exact visual surface used by the
   built-in Tools function cards; only their centre content differs. */
html:not([data-aptk-mode="suede"]) body #page-toolkit #customToolsGrid > .custom-tool-empty-btn,
html:not([data-aptk-mode="suede"]) body #page-toolkit #customToolsGrid > .custom-tool-preset-btn{
  background:linear-gradient(180deg,rgba(255,255,255,.008),rgba(0,0,0,.014)),var(--v138-user-button,var(--aptk-secondary,#242424)) !important;
  border-color:var(--v138-edge-strong,rgba(255,255,255,.045)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.018),0 1px 2px rgba(0,0,0,.10) !important;
}
html:not([data-aptk-mode="suede"]) body #page-toolkit #customToolsGrid > .custom-tool-empty-btn:hover,
html:not([data-aptk-mode="suede"]) body #page-toolkit #customToolsGrid > .custom-tool-preset-btn:hover{
  background:linear-gradient(180deg,rgba(255,255,255,.012),rgba(0,0,0,.010)),var(--qwix-surface-hover,#302d28) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.022),0 1px 3px rgba(0,0,0,.12) !important;
}
html[data-aptk-mode="suede"] body #page-toolkit #customToolsGrid > .custom-tool-empty-btn,
html[data-aptk-mode="suede"] body #page-toolkit #customToolsGrid > .custom-tool-preset-btn{
  background:linear-gradient(180deg,rgba(255,255,255,.105),rgba(0,0,0,.006)),var(--v138-user-button,var(--aptk-secondary,#EADFC8)) !important;
  border-color:var(--v138-edge-strong,rgba(61,53,39,.13)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.26),0 2px 4px -5px rgba(70,55,30,.24) !important;
}
html[data-aptk-mode="suede"] body #page-toolkit #customToolsGrid > .custom-tool-empty-btn:hover,
html[data-aptk-mode="suede"] body #page-toolkit #customToolsGrid > .custom-tool-preset-btn:hover{
  background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(0,0,0,.004)),var(--qwix-surface-hover,#F2E7CE) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.30),0 3px 6px -6px rgba(70,55,30,.26) !important;
}
html body #page-toolkit #customToolsGrid > .custom-tool-empty-btn{
  padding:10px 6px 8px !important;
}

/* The global Qwix tooltip must not cover either Tools mini menu. */
html body.tools-mini-menu-open #qwix-motion-tooltip{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* ===== v116 Tools: invisible hover-only add positions =====
   Empty proposal cells keep the same 4-column geometry, but do not draw a
   card. The hit area remains available and reveals only the plus on hover.
   Hiding an empty inline-options row removes its otherwise invisible grid gap,
   leaving exactly 8px between the final built-in row and the proposal grid. */
html body #v120App #v120Content #page-toolkit .tools-functions-v146 .tools-inline-options-v146:empty,
html body #page-toolkit .tools-functions-v146 .tools-inline-options-v146:empty{
  display:none !important;
}
html body #v120App #v120Content #page-toolkit .tools-functions-v146 + .tools-custom-presets-space.has-empty-slots,
html body #page-toolkit .tools-functions-v146 + .tools-custom-presets-space.has-empty-slots,
html body #v120App #v120Content #page-toolkit .tools-functions-v146 + .tools-custom-presets-space.has-presets,
html body #page-toolkit .tools-functions-v146 + .tools-custom-presets-space.has-presets{
  margin-top:8px !important;
}
html body #v120App #v120Content #page-toolkit #customToolsGrid,
html body #page-toolkit #customToolsGrid{
  margin-top:0 !important;
}
html body #v120App #v120Content #page-toolkit #customToolsGrid > .custom-tool-empty-btn,
html body #page-toolkit #customToolsGrid > .custom-tool-empty-btn,
html body #page-toolkit .custom-tools-grid > .custom-tool-empty-btn{
  appearance:none !important;
  -webkit-appearance:none !important;
  border-color:transparent !important;
  background:transparent !important;
  box-shadow:none !important;
  color:var(--qwix-tool-icon-theme,var(--qwix-ink,#f2ede6)) !important;
  transform:none !important;
  outline:none !important;
  opacity:1 !important;
  overflow:visible !important;
  cursor:pointer !important;
  transition:none !important;
}
html body #v120App #v120Content #page-toolkit #customToolsGrid > .custom-tool-empty-btn:hover,
html body #v120App #v120Content #page-toolkit #customToolsGrid > .custom-tool-empty-btn:focus-visible,
html body #page-toolkit #customToolsGrid > .custom-tool-empty-btn:hover,
html body #page-toolkit #customToolsGrid > .custom-tool-empty-btn:focus-visible,
html body #page-toolkit .custom-tools-grid > .custom-tool-empty-btn:hover,
html body #page-toolkit .custom-tools-grid > .custom-tool-empty-btn:focus-visible{
  border-color:transparent !important;
  background:transparent !important;
  box-shadow:none !important;
  transform:none !important;
}
html body #v120App #v120Content #page-toolkit .custom-tool-empty-btn .custom-tool-plus,
html body #page-toolkit .custom-tool-empty-btn .custom-tool-plus{
  opacity:0 !important;
  transform:translateY(-1px) scale(.92) !important;
  transition:opacity 240ms cubic-bezier(.22,.68,.18,1),transform 240ms cubic-bezier(.22,.68,.18,1) !important;
}
html body #v120App #v120Content #page-toolkit .custom-tool-empty-btn:hover .custom-tool-plus,
html body #v120App #v120Content #page-toolkit .custom-tool-empty-btn:focus-visible .custom-tool-plus,
html body #page-toolkit .custom-tool-empty-btn:hover .custom-tool-plus,
html body #page-toolkit .custom-tool-empty-btn:focus-visible .custom-tool-plus{
  opacity:.82 !important;
  transform:translateY(-1px) scale(1) !important;
}
/* Slot creation/removal stays layout-only now; no empty card flashes. */
html body #v120App #v120Content #page-toolkit #customToolsGrid > .custom-tool-empty-btn.is-entering,
html body #v120App #v120Content #page-toolkit #customToolsGrid > .custom-tool-empty-btn.is-leaving,
html body #page-toolkit #customToolsGrid > .custom-tool-empty-btn.is-entering,
html body #page-toolkit #customToolsGrid > .custom-tool-empty-btn.is-leaving{
  opacity:1 !important;
}


/* ===== v117 Tools: empty proposal slots never enable scrolling + centered Solid stack =====
   Invisible add positions may fill free space, but the square area only becomes
   wheel-scrollable after at least one real custom function exists. */
html body #v120App #v120Content #page-toolkit .tools-scroll-area-v79:not(.has-custom-tools),
html body #page-toolkit .tools-scroll-area-v79:not(.has-custom-tools){
  overflow-y:hidden !important;
  overscroll-behavior:none !important;
  touch-action:auto !important;
}
html body #v120App #v120Content #page-toolkit .tools-scroll-area-v79.has-custom-tools,
html body #page-toolkit .tools-scroll-area-v79.has-custom-tools{
  overflow-y:auto !important;
  overscroll-behavior:contain !important;
  touch-action:pan-y !important;
}

/* Stack the Solid swatch above its label and center the pair as one visual unit. */
html body #v120App #v120Content #page-toolkit .solid-layer-btn-v73,
html body #page-toolkit .solid-layer-btn-v73{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:5px !important;
  text-align:center !important;
}
html body #v120App #v120Content #page-toolkit .solid-inline-swatch-v73,
html body #page-toolkit .solid-inline-swatch-v73{
  flex:0 0 auto !important;
  margin:0 !important;
}
html body #v120App #v120Content #page-toolkit .solid-layer-label-v73,
html body #page-toolkit .solid-layer-label-v73{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  line-height:1.05 !important;
  text-align:center !important;
}


/* ===== v118 Tools: expanding Solid color strip =====
   The label stays centered in the full button. The right-hand color strip
   starts at one quarter of the width and expands to two thirds only while
   that strip is hovered. It remains flat: no border, shadow, or raised state. */
html body #v120App #v120Content #page-toolkit .solid-layer-btn-v73,
html body #page-toolkit .solid-layer-btn-v73{
  position:relative !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  gap:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  isolation:isolate !important;
  text-align:center !important;
}
html body #v120App #v120Content #page-toolkit .solid-layer-label-v73,
html body #page-toolkit .solid-layer-label-v73{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  z-index:1 !important;
  display:block !important;
  width:auto !important;
  margin:0 !important;
  transform:translate(-50%,-50%) !important;
  opacity:1 !important;
  line-height:1 !important;
  text-align:center !important;
  pointer-events:none !important;
  transition:opacity .16s ease !important;
}
html body #v120App #v120Content #page-toolkit .solid-inline-swatch-v73,
html body #page-toolkit .solid-inline-swatch-v73,
html body #page-toolkit #solidColorSwatchBtn{
  position:absolute !important;
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  left:auto !important;
  z-index:3 !important;
  display:block !important;
  width:25% !important;
  height:auto !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  flex:none !important;
  border:0 !important;
  border-radius:0 10px 10px 0 !important;
  box-shadow:none !important;
  filter:none !important;
  transform:none !important;
  overflow:hidden !important;
  cursor:pointer !important;
  transition:width .16s ease !important;
}
html body #v120App #v120Content #page-toolkit .solid-inline-swatch-v73:hover,
html body #v120App #v120Content #page-toolkit .solid-inline-swatch-v73.is-open,
html body #page-toolkit .solid-inline-swatch-v73:hover,
html body #page-toolkit .solid-inline-swatch-v73.is-open,
html body #page-toolkit #solidColorSwatchBtn:hover,
html body #page-toolkit #solidColorSwatchBtn.is-open{
  width:66.6667% !important;
  border:0 !important;
  border-color:transparent !important;
  border-radius:0 10px 10px 0 !important;
  box-shadow:none !important;
  filter:none !important;
  transform:none !important;
}
html body #v120App #v120Content #page-toolkit .solid-inline-swatch-v73:hover + .solid-layer-label-v73,
html body #v120App #v120Content #page-toolkit .solid-inline-swatch-v73.is-open + .solid-layer-label-v73,
html body #page-toolkit .solid-inline-swatch-v73:hover + .solid-layer-label-v73,
html body #page-toolkit .solid-inline-swatch-v73.is-open + .solid-layer-label-v73{
  opacity:0 !important;
}
html body #page-toolkit .solid-strip-hex-v118{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  z-index:2 !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  transform:translate(-50%,-50%) scale(.98) !important;
  opacity:0 !important;
  pointer-events:none !important;
  font:900 9px/1 Inter,Arial,sans-serif !important;
  letter-spacing:.02em !important;
  white-space:nowrap !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  transition:opacity .11s ease, transform .13s ease !important;
}
html body #page-toolkit .solid-inline-swatch-v73:hover .solid-strip-hex-v118,
html body #page-toolkit .solid-inline-swatch-v73.is-open .solid-strip-hex-v118{
  opacity:1 !important;
  transform:translate(-50%,-50%) scale(1) !important;
}
html body #page-toolkit .solid-strip-dark-v118 .solid-strip-hex-v118{
  color:#fff !important;
  text-shadow:0 1px 4px rgba(0,0,0,.65) !important;
}
html body #page-toolkit .solid-strip-light-v118 .solid-strip-hex-v118{
  color:rgba(16,20,24,.94) !important;
  text-shadow:0 1px 3px rgba(255,255,255,.5) !important;
}

/* ===== 2026-07-18: 2x stronger switching motion, stable final geometry =====
   Strength is doubled through travel and settle amplitude only. Durations,
   target lists and final geometry remain unchanged, so removing animation
   classes cannot alter the resting scale or position. */
@keyframes qwix-page-reveal-up {
  0%   { opacity:0; transform:translate3d(0,28px,0) scale(.988); }
  72%  { opacity:1; transform:translate3d(0,-2px,0) scale(1.001); }
  100% { opacity:1; transform:translate3d(0,0,0) scale(1); }
}
@keyframes qwix-local-reveal-soft {
  from { transform:translate3d(0,6px,0); }
  to   { transform:translate3d(0,0,0); }
}
html.qwix-motion-enabled .qwix-saved-reveal-prepared {
  opacity:.56 !important;
  transform:translate3d(0,4px,0) !important;
}
@keyframes qwix-saved-reveal-soft {
  from { opacity:.56; transform:translate3d(0,4px,0); }
  to   { opacity:1; transform:translate3d(0,0,0); }
}
html.qwix-motion-enabled #v120Content > .page.qwix-page-entering .qwix-page-reveal-item,
html.qwix-motion-enabled body .qwix-preset-page-reveal-item,
html.qwix-motion-enabled .qwix-local-reveal-item,
html.qwix-motion-enabled .qwix-saved-reveal-prepared,
html.qwix-motion-enabled .qwix-saved-reveal-fallback {
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}

/* Text's dedicated normal-preset entrance follows the same 2x strength. */
@keyframes qwix-preset-reveal-strong{
  0%{opacity:0;transform:translate3d(0,32px,0) scale(.986);}
  70%{opacity:1;transform:translate3d(0,-2px,0) scale(1.0014);}
  100%{opacity:1;transform:translate3d(0,0,0) scale(1);}
}

/* ===== Expressions: Pop Up / Spin custom-easing graph (Bounce = 0) =====
   Collapse/expand mechanics mirror the Text Edit picker drawer
   (css/qwix-layer-edit.css #qxTextLayerEditPicker): a CSS grid-rows 0fr/1fr
   tween handles the "any content height" collapse without JS measuring,
   using the exact same duration/easing the picker uses. Visual styling of
   the graph itself mirrors #page-graph-editor (css/qwix-core.css ~9035-9412)
   but is intentionally re-scoped under #page-expressions .expr-graph-* since
   that page's rules are locked to id #page-graph-editor with !important. */
html body #page-expressions .expr-graph-wrap{
  display:grid!important;
  grid-template-rows:0fr!important;
  transition:grid-template-rows .46s cubic-bezier(.2,.78,.22,1)!important;
}
html body #page-expressions .expr-graph-wrap.is-open{
  grid-template-rows:1fr!important;
}
html body #page-expressions .expr-graph-wrap-inner{
  overflow:hidden!important;
  min-height:0!important;
  opacity:0!important;
  transform:translate3d(0,-4px,0) scaleY(.96)!important;
  transform-origin:center top!important;
  transition:opacity .20s ease,transform .46s cubic-bezier(.2,.78,.22,1)!important;
  padding-top:2px!important;
}
html body #page-expressions .expr-graph-wrap.is-open .expr-graph-wrap-inner{
  opacity:1!important;
  transform:translate3d(0,0,0) scaleY(1)!important;
}

html body #page-expressions .expr-graph-stage{
  width:100%!important;
  aspect-ratio:1/1!important;
  max-height:210px!important;
  margin:6px auto 0!important;
  padding:6px!important;
  border-radius:10px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  border:1px solid rgba(255,255,255,.055)!important;
  background:
    radial-gradient(120% 78% at 50% 0%, rgba(255,255,255,.022), rgba(255,255,255,0) 54%),
    linear-gradient(180deg, #18181b 0%, #121215 100%)!important;
}
html body #page-expressions .expr-graph-svg{
  width:100%!important;
  height:100%!important;
  display:block!important;
  overflow:visible!important;
}
html body #page-expressions .expr-graph-grid-lines line{
  stroke:rgba(255,255,255,.105)!important;
  stroke-width:.65!important;
}
html body #page-expressions .expr-graph-path.main{
  stroke:#f2f4f7!important;
  stroke-width:2.7!important;
  fill:none!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  vector-effect:non-scaling-stroke!important;
}
html body #page-expressions .expr-graph-path.ghost{
  stroke:rgba(244,244,245,.22)!important;
  stroke-width:1.35!important;
  fill:none!important;
  vector-effect:non-scaling-stroke!important;
}
html body #page-expressions .expr-graph-handle-line{
  stroke:rgba(244,244,245,.82)!important;
  stroke-width:1.65!important;
  opacity:.92!important;
  vector-effect:non-scaling-stroke!important;
}
html body #page-expressions .expr-graph-anchor,
html body #page-expressions .expr-graph-handle{
  fill:#202020!important;
  stroke:#f2f4f7!important;
  stroke-width:1.65!important;
  vector-effect:non-scaling-stroke!important;
}
html body #page-expressions .expr-graph-handle-hitbox{
  fill:rgba(255,255,255,0)!important;
  stroke:rgba(255,255,255,0)!important;
  pointer-events:all!important;
  cursor:grab!important;
}
html body #page-expressions .expr-graph-handle-hitbox:active{
  cursor:grabbing!important;
}

html body #page-expressions .expr-graph-values-row{
  display:grid!important;
  grid-template-columns:44px 1fr 44px!important;
  gap:6px!important;
  align-items:center!important;
  margin-top:8px!important;
}
html body #page-expressions .expr-graph-side-btn,
html body #page-expressions .expr-graph-values-btn{
  height:28px!important;
  min-width:0!important;
  border-radius:8px!important;
  border:1px solid rgba(255,255,255,.08)!important;
  background:rgba(255,255,255,.035)!important;
  color:#f2f4f7!important;
  font:650 11px/1 Inter,-apple-system,"Segoe UI",sans-serif!important;
  cursor:pointer!important;
  box-shadow:none!important;
}
html body #page-expressions .expr-graph-side-btn:hover,
html body #page-expressions .expr-graph-values-btn:hover{
  background:rgba(255,255,255,.07)!important;
  border-color:rgba(255,255,255,.14)!important;
}
html body #page-expressions .expr-graph-side-btn:active,
html body #page-expressions .expr-graph-values-btn:active{
  transform:translateY(1px)!important;
}
html body #page-expressions .expr-graph-values-btn{
  font-variant-numeric:tabular-nums!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  padding:0 6px!important;
}

/* nested "Presets / Motion" drawer - collapsed by default, same grid-rows tween */
html body #page-expressions .expr-graph-presets-drawer{
  margin-top:8px!important;
}
html body #page-expressions .expr-graph-presets-handle{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  height:26px!important;
  padding:0 10px!important;
  border-radius:8px!important;
  border:1px solid rgba(255,255,255,.07)!important;
  background:rgba(255,255,255,.02)!important;
  color:rgba(242,244,247,.72)!important;
  font:650 10.5px/1 Inter,-apple-system,"Segoe UI",sans-serif!important;
  cursor:pointer!important;
  box-shadow:none!important;
}
html body #page-expressions .expr-graph-presets-handle:hover{
  color:#fff!important;
  border-color:rgba(255,255,255,.13)!important;
}
html body #page-expressions .expr-graph-presets-chevron{
  width:9px!important;
  height:6px!important;
  color:rgba(242,244,247,.6)!important;
  transition:transform .28s ease!important;
}
html body #page-expressions .expr-graph-presets-drawer.is-open .expr-graph-presets-chevron{
  transform:rotate(180deg)!important;
}
html body #page-expressions .expr-graph-presets-collapse{
  display:grid!important;
  grid-template-rows:0fr!important;
  transition:grid-template-rows .38s cubic-bezier(.2,.78,.22,1)!important;
}
html body #page-expressions .expr-graph-presets-drawer.is-open .expr-graph-presets-collapse{
  grid-template-rows:1fr!important;
}
html body #page-expressions .expr-graph-presets-body{
  overflow:hidden!important;
  min-height:0!important;
  padding-top:8px!important;
}

html body #page-expressions .expr-graph-pane-toggle{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:4px!important;
  padding:3px!important;
  border-radius:9px!important;
  border:1px solid rgba(255,255,255,.06)!important;
  background:rgba(0,0,0,.14)!important;
  margin-bottom:7px!important;
}
html body #page-expressions .expr-graph-pane-tab{
  height:24px!important;
  border-radius:6px!important;
  border:0!important;
  background:transparent!important;
  color:rgba(242,244,247,.55)!important;
  font:650 10.5px/1 Inter,-apple-system,"Segoe UI",sans-serif!important;
  cursor:pointer!important;
}
html body #page-expressions .expr-graph-pane-tab:hover{
  color:rgba(242,244,247,.85)!important;
}
html body #page-expressions .expr-graph-pane-tab.is-active{
  background:rgba(255,255,255,.09)!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;
}

html body #page-expressions .expr-graph-preset-grid{
  display:none!important;
  grid-template-columns:repeat(auto-fill,minmax(46px,1fr))!important;
  gap:6px!important;
  max-height:150px!important;
  overflow-y:auto!important;
}
html body #page-expressions .expr-graph-preset-grid.is-active{
  display:grid!important;
}
html body #page-expressions .expr-graph-card{
  width:100%!important;
  height:42px!important;
  min-height:42px!important;
  padding:4px!important;
  border-radius:8px!important;
  border:1px solid rgba(255,255,255,.03)!important;
  background:rgba(255,255,255,.025)!important;
  box-shadow:none!important;
  opacity:.82!important;
  overflow:hidden!important;
  cursor:pointer!important;
}
html body #page-expressions .expr-graph-card:hover{
  opacity:1!important;
  border-color:rgba(255,255,255,.1)!important;
}
html body #page-expressions .expr-graph-card.active{
  opacity:1!important;
  border-color:rgba(244,244,245,.28)!important;
  box-shadow:inset 0 0 0 1px rgba(244,244,245,.03)!important;
}
html body #page-expressions .expr-graph-thumb-svg{
  width:100%!important;
  height:100%!important;
  display:block!important;
  border-radius:5px!important;
  background:rgba(0,0,0,.1)!important;
  overflow:hidden!important;
}
html body #page-expressions .expr-graph-thumb-svg path{
  stroke:rgba(244,244,245,.88)!important;
  stroke-width:3.4!important;
}

html body #page-expressions .expr-graph-motion{
  display:none!important;
  min-height:90px!important;
  align-content:center!important;
  gap:12px!important;
  padding:10px 4px!important;
}
html body #page-expressions .expr-graph-motion.is-active{
  display:grid!important;
}
html body #page-expressions .expr-motion-track{
  position:relative!important;
  height:4px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.13)!important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.4)!important;
}
html body #page-expressions .expr-motion-ball{
  position:absolute!important;
  left:0!important;
  top:50%!important;
  width:14px!important;
  height:14px!important;
  border-radius:50%!important;
  background:var(--aptk-accent,#c288ff)!important;
  box-shadow:0 0 18px rgba(194,136,255,.55)!important;
  transform:translate(-50%,-50%)!important;
  will-change:left!important;
}
html body #page-expressions .expr-motion-caption{
  text-align:center!important;
  color:rgba(242,244,247,.55)!important;
  font:650 9px/1.35 Inter,-apple-system,"Segoe UI",sans-serif!important;
}


/* ===== 2026-07-22 Expressions Pop Up / Spin — preview-side graph drawer v2 ===== */
html body #page-expressions .expr-preview-stage-row{
  order:1!important;
  width:100%!important;
  height:170px!important;
  min-height:170px!important;
  max-height:170px!important;
  display:flex!important;
  align-items:stretch!important;
  gap:0!important;
  overflow:visible!important;
  min-width:0!important;
}
html body #page-expressions .expr-preview-stage-row>.expression-stage{
  order:initial!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  height:100%!important;
  min-height:100%!important;
  max-height:100%!important;
  flex:1 1 auto!important;
  flex-basis:auto!important;
  align-self:stretch!important;
  transition:flex-basis .46s cubic-bezier(.2,.78,.22,1),width .46s cubic-bezier(.2,.78,.22,1),border-radius .32s ease!important;
  will-change:flex-basis,width!important;
}
html body #page-expressions .expr-easing-drawer-host{
  --expr-graph-open-width:260px;
  position:relative!important;
  width:0!important;
  min-width:0!important;
  max-width:66.666%!important;
  height:100%!important;
  flex:0 0 0!important;
  margin-left:0!important;
  opacity:0!important;
  overflow:visible!important;
  pointer-events:none!important;
  transition:flex-basis .46s cubic-bezier(.2,.78,.22,1),width .46s cubic-bezier(.2,.78,.22,1),margin-left .46s cubic-bezier(.2,.78,.22,1),opacity .18s ease!important;
  will-change:flex-basis,width!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
html body #page-expressions .expr-easing-drawer-host.is-available{
  width:26px!important;
  flex-basis:26px!important;
  margin-left:7px!important;
  opacity:1!important;
  pointer-events:auto!important;
}
html body #page-expressions .expr-easing-drawer-host.is-available.is-open{
  width:var(--expr-graph-open-width)!important;
  flex-basis:var(--expr-graph-open-width)!important;
}
html body #page-expressions #exprGraphDrawerStorage{
  display:none!important;
}
html body #page-expressions .expr-graph-wrap{
  display:none!important;
}
html body #page-expressions .expr-easing-drawer-host>.expr-graph-wrap{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:stretch!important;
  justify-content:flex-end!important;
  border-radius:16px!important;
  overflow:hidden!important;
  background:var(--aptk-block,#111214)!important;
  border:1px solid var(--aptk-edge-strong,rgba(255,255,255,.065))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 5px 16px rgba(0,0,0,.26)!important;
}
html body #page-expressions .expr-graph-wrap-inner{
  order:1!important;
  width:calc(100% - 25px)!important;
  min-width:0!important;
  height:100%!important;
  overflow:hidden!important;
  opacity:0!important;
  transform:translate3d(10px,0,0) scaleX(.97)!important;
  transform-origin:right center!important;
  padding:6px!important;
  box-sizing:border-box!important;
  transition:opacity .18s ease,transform .46s cubic-bezier(.2,.78,.22,1)!important;
}
html body #page-expressions .expr-graph-wrap.is-expanded .expr-graph-wrap-inner{
  opacity:1!important;
  transform:translate3d(0,0,0) scaleX(1)!important;
  transition-delay:.06s,0s!important;
}
html body #page-expressions .expr-graph-drawer-toggle{
  order:2!important;
  position:relative!important;
  z-index:3!important;
  width:25px!important;
  min-width:25px!important;
  height:100%!important;
  padding:7px 0!important;
  margin:0!important;
  border:0!important;
  border-left:1px solid var(--aptk-edge-strong,rgba(255,255,255,.065))!important;
  border-radius:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  background:var(--aptk-secondary,#242529)!important;
  color:var(--aptk-text,#f4f4f5)!important;
  box-shadow:inset 1px 0 0 rgba(255,255,255,.018)!important;
  cursor:pointer!important;
  overflow:hidden!important;
}
html body #page-expressions .expr-graph-drawer-toggle:hover{
  filter:brightness(1.08)!important;
}
html body #page-expressions .expr-graph-drawer-toggle:active{
  transform:none!important;
  filter:brightness(.96)!important;
}
html body #page-expressions .expr-graph-drawer-label{
  writing-mode:vertical-rl!important;
  transform:rotate(180deg)!important;
  color:inherit!important;
  font:760 8px/1 Inter,-apple-system,"Segoe UI",sans-serif!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  opacity:.72!important;
  white-space:nowrap!important;
}
html body #page-expressions .expr-graph-drawer-chevron{
  width:7px!important;
  height:11px!important;
  flex:0 0 auto!important;
  opacity:.72!important;
  transition:transform .42s cubic-bezier(.2,.78,.22,1)!important;
}
html body #page-expressions .expr-graph-wrap.is-expanded .expr-graph-drawer-chevron{
  transform:rotate(180deg)!important;
}
html body #page-expressions .expr-graph-layout{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:minmax(82px,1.35fr) minmax(66px,.82fr)!important;
  gap:6px!important;
  align-items:center!important;
}
html body #page-expressions .expr-graph-stage{
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  aspect-ratio:1/1!important;
  align-self:center!important;
  justify-self:stretch!important;
  margin:0!important;
  padding:5px!important;
  border-radius:10px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  border:1px solid var(--aptk-edge-strong,rgba(255,255,255,.06))!important;
  background:var(--aptk-bg,#18181b)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),inset 0 -8px 16px rgba(0,0,0,.22)!important;
}
html body #page-expressions .expr-graph-svg{
  width:100%!important;
  height:100%!important;
  display:block!important;
  overflow:visible!important;
}
html body #page-expressions .expr-graph-grid-lines line{
  stroke:color-mix(in srgb,var(--aptk-detail,#139af2) 18%,transparent)!important;
  stroke-width:.65!important;
  vector-effect:non-scaling-stroke!important;
}
@supports not (stroke:color-mix(in srgb,#fff 10%,transparent)){
  html body #page-expressions .expr-graph-grid-lines line{stroke:rgba(255,255,255,.09)!important;}
}
html body #page-expressions .expr-graph-path.main{
  stroke:var(--aptk-text,#f2f4f7)!important;
  stroke-width:2.35!important;
  fill:none!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  vector-effect:non-scaling-stroke!important;
}
html body #page-expressions .expr-graph-path.ghost{
  stroke:color-mix(in srgb,var(--aptk-detail,#139af2) 32%,transparent)!important;
  stroke-width:1.2!important;
  fill:none!important;
  vector-effect:non-scaling-stroke!important;
}
@supports not (stroke:color-mix(in srgb,#fff 10%,transparent)){
  html body #page-expressions .expr-graph-path.ghost{stroke:rgba(244,244,245,.18)!important;}
}
html body #page-expressions .expr-graph-handle-line{
  stroke:var(--aptk-detail,#139af2)!important;
  stroke-width:1.45!important;
  opacity:.78!important;
  vector-effect:non-scaling-stroke!important;
}
html body #page-expressions .expr-graph-anchor,
html body #page-expressions .expr-graph-handle{
  fill:var(--aptk-bg,#18181b)!important;
  stroke:var(--aptk-text,#f2f4f7)!important;
  stroke-width:1.6!important;
  vector-effect:non-scaling-stroke!important;
}
html body #page-expressions .expr-graph-handle-hitbox{
  fill:transparent!important;
  stroke:transparent!important;
  pointer-events:all!important;
  cursor:grab!important;
}
html body #page-expressions .expr-graph-handle-hitbox:active{cursor:grabbing!important;}
html body #page-expressions .expr-graph-side-panel{
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:23px 23px 25px minmax(0,1fr)!important;
  gap:5px!important;
  align-content:stretch!important;
  overflow:hidden!important;
}
html body #page-expressions .expr-graph-actions-row{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:4px!important;
  min-width:0!important;
}
html body #page-expressions .expr-graph-side-btn,
html body #page-expressions .expr-graph-values-btn{
  width:100%!important;
  min-width:0!important;
  height:23px!important;
  min-height:23px!important;
  margin:0!important;
  padding:0 4px!important;
  border-radius:7px!important;
  border:1px solid var(--aptk-edge-strong,rgba(255,255,255,.065))!important;
  background:var(--aptk-secondary,#242529)!important;
  color:var(--aptk-text,#f2f4f7)!important;
  font:720 8px/1 Inter,-apple-system,"Segoe UI",sans-serif!important;
  cursor:pointer!important;
  box-shadow:none!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
html body #page-expressions .expr-graph-side-btn:hover,
html body #page-expressions .expr-graph-values-btn:hover{filter:brightness(1.08)!important;}
html body #page-expressions .expr-graph-side-btn:active,
html body #page-expressions .expr-graph-values-btn:active{transform:translateY(1px)!important;}
html body #page-expressions .expr-graph-values-btn{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:1px 2px!important;
  font-size:6.45px!important;
  line-height:1.02!important;
  font-variant-numeric:tabular-nums!important;
  letter-spacing:-.035em!important;
  white-space:normal!important;
  text-overflow:clip!important;
  overflow:hidden!important;
  text-align:center!important;
}
html body #page-expressions .expr-graph-values-btn>span{
  display:block!important;
  width:100%!important;
  max-height:20px!important;
  overflow:hidden!important;
}
html body #page-expressions .expr-graph-pane-toggle{
  width:100%!important;
  min-width:0!important;
  height:25px!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:2px!important;
  padding:2px!important;
  margin:0!important;
  border-radius:8px!important;
  border:1px solid var(--aptk-edge,rgba(255,255,255,.045))!important;
  background:var(--aptk-bg,#18181b)!important;
  box-shadow:none!important;
}
html body #page-expressions .expr-graph-pane-tab{
  min-width:0!important;
  height:19px!important;
  min-height:19px!important;
  padding:0 2px!important;
  border:0!important;
  border-radius:6px!important;
  background:transparent!important;
  color:color-mix(in srgb,var(--aptk-text,#f2f4f7) 54%,transparent)!important;
  font:720 7.2px/1 Inter,-apple-system,"Segoe UI",sans-serif!important;
  cursor:pointer!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
@supports not (color:color-mix(in srgb,#fff 10%,transparent)){
  html body #page-expressions .expr-graph-pane-tab{color:rgba(242,244,247,.55)!important;}
}
html body #page-expressions .expr-graph-pane-tab.is-active{
  background:var(--aptk-secondary,#242529)!important;
  color:var(--aptk-text,#fff)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045)!important;
}
html body #page-expressions .expr-graph-pane-stack{
  position:relative!important;
  min-width:0!important;
  min-height:0!important;
  overflow:hidden!important;
  border-radius:8px!important;
}
html body #page-expressions .expr-graph-preset-grid,
html body #page-expressions .expr-graph-motion{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  opacity:0!important;
  pointer-events:none!important;
  transform:translate3d(5px,0,0)!important;
  transition:opacity .2s ease,transform .34s cubic-bezier(.2,.78,.22,1)!important;
}
html body #page-expressions .expr-graph-preset-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:29px!important;
  gap:4px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:1px!important;
  box-sizing:border-box!important;
}
html body #page-expressions .expr-graph-preset-grid.is-active,
html body #page-expressions .expr-graph-motion.is-active{
  opacity:1!important;
  pointer-events:auto!important;
  transform:translate3d(0,0,0)!important;
}
html body #page-expressions .expr-graph-preset-grid::-webkit-scrollbar{width:2px!important;}
html body #page-expressions .expr-graph-preset-grid::-webkit-scrollbar-thumb{background:var(--aptk-detail,#139af2)!important;border-radius:999px!important;}
html body #page-expressions .expr-graph-card{
  width:100%!important;
  min-width:0!important;
  height:29px!important;
  min-height:29px!important;
  padding:3px!important;
  margin:0!important;
  border-radius:6px!important;
  border:1px solid var(--aptk-edge,rgba(255,255,255,.04))!important;
  background:var(--aptk-secondary,#242529)!important;
  box-shadow:none!important;
  opacity:.72!important;
  overflow:hidden!important;
  cursor:pointer!important;
}
html body #page-expressions .expr-graph-card:hover{opacity:1!important;filter:brightness(1.08)!important;}
html body #page-expressions .expr-graph-card.active{
  opacity:1!important;
  border-color:var(--aptk-detail,#139af2)!important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--aptk-detail,#139af2) 22%,transparent)!important;
}
html body #page-expressions .expr-graph-thumb-svg{
  width:100%!important;
  height:100%!important;
  display:block!important;
  border-radius:4px!important;
  background:transparent!important;
  overflow:hidden!important;
}
html body #page-expressions .expr-graph-thumb-svg path{
  stroke:var(--aptk-text,#f2f4f7)!important;
  stroke-width:3!important;
  fill:none!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  vector-effect:non-scaling-stroke!important;
}
html body #page-expressions .expr-graph-motion{
  display:grid!important;
  grid-template-rows:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:5px!important;
  padding:5px 2px 2px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
html body #page-expressions .expr-motion-track{
  position:relative!important;
  width:auto!important;
  height:3px!important;
  min-height:3px!important;
  margin:0 9px!important;
  align-self:center!important;
  border-radius:999px!important;
  background:color-mix(in srgb,var(--aptk-text,#f2f4f7) 14%,transparent)!important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.35)!important;
  overflow:visible!important;
}
@supports not (background:color-mix(in srgb,#fff 10%,transparent)){
  html body #page-expressions .expr-motion-track{background:rgba(255,255,255,.13)!important;}
}
html body #page-expressions .expr-motion-ball{
  position:absolute!important;
  left:0!important;
  top:50%!important;
  width:12px!important;
  height:12px!important;
  border-radius:50%!important;
  background:var(--aptk-detail,#139af2)!important;
  box-shadow:0 0 11px color-mix(in srgb,var(--aptk-detail,#139af2) 56%,transparent)!important;
  transform:translate(-50%,-50%)!important;
  will-change:left!important;
}
html body #page-expressions .expr-motion-caption{
  min-width:0!important;
  text-align:center!important;
  color:color-mix(in srgb,var(--aptk-text,#f2f4f7) 48%,transparent)!important;
  font:650 6.8px/1.2 Inter,-apple-system,"Segoe UI",sans-serif!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
@media (max-width:340px){
  html body #page-expressions .expr-preview-stage-row{height:140px!important;min-height:140px!important;max-height:140px!important;}
  html body #page-expressions .expr-easing-drawer-host.is-available{width:23px!important;flex-basis:23px!important;margin-left:5px!important;}
  html body #page-expressions .expr-easing-drawer-host>.expr-graph-wrap{border-radius:13px!important;}
  html body #page-expressions .expr-graph-drawer-toggle{width:22px!important;min-width:22px!important;}
  html body #page-expressions .expr-graph-wrap-inner{width:calc(100% - 22px)!important;padding:5px!important;}
  html body #page-expressions .expr-graph-layout{grid-template-columns:minmax(70px,1.25fr) minmax(56px,.78fr)!important;gap:4px!important;}
  html body #page-expressions .expr-graph-side-panel{grid-template-rows:20px 20px 22px minmax(0,1fr)!important;gap:3px!important;}
  html body #page-expressions .expr-graph-side-btn,html body #page-expressions .expr-graph-values-btn{height:20px!important;min-height:20px!important;font-size:6.8px!important;padding:0 2px!important;}
  html body #page-expressions .expr-graph-pane-toggle{height:22px!important;}
  html body #page-expressions .expr-graph-pane-tab{height:16px!important;min-height:16px!important;font-size:6.2px!important;}
  html body #page-expressions .expr-graph-preset-grid{grid-auto-rows:24px!important;gap:3px!important;}
  html body #page-expressions .expr-graph-card{height:24px!important;min-height:24px!important;padding:2px!important;}
}
html[data-qwix-tone="light"] body #page-expressions .expr-easing-drawer-host>.expr-graph-wrap,
html[data-qwix-tone="light"] body #page-expressions .expr-graph-stage,
html[data-qwix-tone="light"] body #page-expressions .expr-graph-pane-toggle{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 4px 12px rgba(20,20,24,.08)!important;
}

/* ===== 2026-07-22 Expressions Pop Up / Spin — hover curve drawer v3 ===== */
html body #page-expressions .expr-easing-drawer-host{
  --expr-graph-open-width:290px;
  max-width:66.666%!important;
}
html body #page-expressions .expr-easing-drawer-host.is-available{
  width:13px!important;
  flex-basis:13px!important;
  margin-left:6px!important;
  opacity:1!important;
  pointer-events:auto!important;
}
html body #page-expressions .expr-easing-drawer-host.is-available.is-open{
  width:var(--expr-graph-open-width)!important;
  flex-basis:var(--expr-graph-open-width)!important;
}
html body #page-expressions .expr-easing-drawer-host>.expr-graph-wrap{
  border-radius:14px!important;
  cursor:default!important;
}
html body #page-expressions .expr-graph-wrap-inner{
  order:1!important;
  width:calc(100% - 13px)!important;
  padding:6px!important;
  opacity:0!important;
  transform:translate3d(8px,0,0) scaleX(.975)!important;
  transform-origin:right center!important;
  transition:opacity .16s ease,transform .42s cubic-bezier(.2,.78,.22,1)!important;
}
html body #page-expressions .expr-graph-wrap.is-expanded .expr-graph-wrap-inner{
  opacity:1!important;
  transform:translate3d(0,0,0) scaleX(1)!important;
  transition-delay:.045s,0s!important;
}
html body #page-expressions .expr-graph-drawer-toggle{
  order:2!important;
  width:13px!important;
  min-width:13px!important;
  height:100%!important;
  padding:0!important;
  gap:0!important;
  border:0!important;
  border-left:1px solid var(--aptk-edge-strong,rgba(255,255,255,.065))!important;
  border-radius:0!important;
  background:var(--aptk-secondary,#242529)!important;
  color:var(--aptk-text,#f4f4f5)!important;
  cursor:default!important;
  pointer-events:none!important;
  filter:none!important;
  transform:none!important;
}
html body #page-expressions .expr-graph-drawer-toggle::before{
  content:""!important;
  display:block!important;
  width:2px!important;
  height:38px!important;
  margin:auto!important;
  border-radius:999px!important;
  background:color-mix(in srgb,var(--aptk-detail,#139af2) 44%,transparent)!important;
  opacity:.62!important;
  transform:scaleY(.82)!important;
  transition:opacity .2s ease,transform .42s cubic-bezier(.2,.78,.22,1),background .2s ease!important;
}
@supports not (background:color-mix(in srgb,#fff 10%,transparent)){
  html body #page-expressions .expr-graph-drawer-toggle::before{background:rgba(194,136,255,.42)!important;}
}
html body #page-expressions .expr-graph-wrap:hover .expr-graph-drawer-toggle::before,
html body #page-expressions .expr-graph-wrap.is-expanded .expr-graph-drawer-toggle::before{
  opacity:1!important;
  transform:scaleY(1)!important;
  background:var(--aptk-detail,#139af2)!important;
}
html body #page-expressions .expr-graph-drawer-label,
html body #page-expressions .expr-graph-drawer-chevron,
html body #page-expressions .expr-graph-side-panel,
html body #page-expressions .expr-graph-pane-toggle,
html body #page-expressions .expr-graph-pane-stack,
html body #page-expressions .expr-graph-preset-grid,
html body #page-expressions .expr-graph-motion{
  display:none!important;
}
html body #page-expressions .expr-graph-layout{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:minmax(0,1fr) 25px!important;
  gap:6px!important;
  align-items:stretch!important;
}
html body #page-expressions .expr-graph-stage{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  align-self:stretch!important;
  justify-self:stretch!important;
  padding:6px!important;
  border-radius:9px!important;
  overflow:hidden!important;
}
html body #page-expressions .expr-graph-svg{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  display:block!important;
  overflow:visible!important;
}
html body #page-expressions .expr-graph-values-row{
  width:100%!important;
  height:25px!important;
  min-height:25px!important;
  display:grid!important;
  grid-template-columns:46px minmax(0,1fr) 46px!important;
  gap:5px!important;
  margin:0!important;
  padding:0!important;
  align-items:stretch!important;
}
html body #page-expressions .expr-graph-values-row .expr-graph-side-btn,
html body #page-expressions .expr-graph-values-row .expr-graph-values-btn{
  width:100%!important;
  height:25px!important;
  min-height:25px!important;
  margin:0!important;
  border-radius:7px!important;
  font-size:7.6px!important;
  line-height:1!important;
}
html body #page-expressions .expr-graph-values-row .expr-graph-values-btn{
  padding:0 5px!important;
  font-size:7px!important;
  white-space:nowrap!important;
  letter-spacing:-.02em!important;
}
html body #page-expressions .expr-graph-values-row .expr-graph-values-btn>span{
  max-height:none!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
@media (max-width:340px){
  html body #page-expressions .expr-easing-drawer-host.is-available{
    width:11px!important;
    flex-basis:11px!important;
    margin-left:5px!important;
  }
  html body #page-expressions .expr-easing-drawer-host>.expr-graph-wrap{border-radius:12px!important;}
  html body #page-expressions .expr-graph-drawer-toggle{width:11px!important;min-width:11px!important;}
  html body #page-expressions .expr-graph-wrap-inner{width:calc(100% - 11px)!important;padding:5px!important;}
  html body #page-expressions .expr-graph-layout{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:minmax(0,1fr) 22px!important;
    gap:4px!important;
  }
  html body #page-expressions .expr-graph-stage{padding:5px!important;border-radius:8px!important;}
  html body #page-expressions .expr-graph-values-row{
    height:22px!important;
    min-height:22px!important;
    grid-template-columns:38px minmax(0,1fr) 38px!important;
    gap:4px!important;
  }
  html body #page-expressions .expr-graph-values-row .expr-graph-side-btn,
  html body #page-expressions .expr-graph-values-row .expr-graph-values-btn{
    height:22px!important;
    min-height:22px!important;
    font-size:6.6px!important;
    padding:0 2px!important;
  }
  html body #page-expressions .expr-graph-values-row .expr-graph-values-btn{font-size:5.9px!important;}
}
html[data-qwix-tone="light"] body #page-expressions .expr-easing-drawer-host>.expr-graph-wrap,
html[data-qwix-tone="light"] body #page-expressions .expr-graph-stage{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 4px 12px rgba(20,20,24,.08)!important;
}

/* ===== 2026-07-22 Expressions graph preview — right-click Graph / Presets menu v4 ===== */
html body .expr-graph-context-menu{
  min-width:122px!important;
  width:122px!important;
  overflow:hidden!important;
}
html body .expr-graph-context-submenu{
  min-width:142px!important;
  width:max-content!important;
  max-width:min(210px,calc(100vw - 16px))!important;
  max-height:min(248px,calc(100vh - 16px))!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
}
html body .expr-graph-context-menu .expr-graph-context-menu-btn,
html body .expr-graph-context-submenu .expr-graph-context-menu-btn{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  min-width:0!important;
  padding-right:9px!important;
}
html body .expr-graph-context-menu-label{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
html body .expr-graph-context-menu-chevron{
  flex:0 0 auto!important;
  width:12px!important;
  color:color-mix(in srgb,var(--qwix-ink,#f4f4f5) 44%,transparent)!important;
  font:800 15px/1 Inter,-apple-system,"Segoe UI",sans-serif!important;
  text-align:center!important;
  transform:translateX(0)!important;
  transition:transform 150ms var(--qwix-motion-out,ease),color 120ms ease!important;
}
html body .expr-graph-context-menu-btn:hover .expr-graph-context-menu-chevron,
html body .expr-graph-context-menu-btn.is-submenu-open .expr-graph-context-menu-chevron{
  color:var(--qwix-ink,#f4f4f5)!important;
  transform:translateX(2px)!important;
}
html body .expr-graph-context-menu-btn.is-submenu-open{
  background:var(--qwix-surface-hover,#34302A)!important;
  color:var(--qwix-ink,#f4f4f5)!important;
  transform:translateX(3px)!important;
}
html body .expr-graph-context-menu-mark{
  flex:0 0 auto!important;
  width:6px!important;
  height:6px!important;
  border-radius:999px!important;
  background:var(--aptk-detail,#139af2)!important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--aptk-detail,#139af2) 18%,transparent)!important;
}
html body .expr-graph-context-submenu .expr-graph-context-menu-btn.is-active{
  color:var(--qwix-ink,#f4f4f5)!important;
  background:color-mix(in srgb,var(--aptk-detail,#139af2) 13%,transparent)!important;
}
html body .expr-graph-context-submenu::-webkit-scrollbar{
  width:3px!important;
}
html body .expr-graph-context-submenu::-webkit-scrollbar-track{
  background:transparent!important;
}
html body .expr-graph-context-submenu::-webkit-scrollbar-thumb{
  border-radius:999px!important;
  background:color-mix(in srgb,var(--aptk-detail,#139af2) 48%,transparent)!important;
}
html body #page-expressions .expr-graph-wrap.is-context-menu-open{
  pointer-events:auto!important;
}
html body #page-expressions .expr-graph-stage[data-graph-display-mode="speed"] .expr-graph-path.main{
  stroke-linejoin:round!important;
  stroke-linecap:round!important;
}
@supports not (background:color-mix(in srgb,#fff 10%,transparent)){
  html body .expr-graph-context-submenu .expr-graph-context-menu-btn.is-active{background:rgba(19,154,242,.13)!important;}
  html body .expr-graph-context-menu-mark{box-shadow:0 0 0 2px rgba(19,154,242,.18)!important;}
  html body .expr-graph-context-submenu::-webkit-scrollbar-thumb{background:rgba(19,154,242,.48)!important;}
}


/* ===== 2026-07-22 Expressions graph context menu — reset + visual preset scroller v5 ===== */
html body .expr-graph-context-menu .expr-graph-context-reset-btn{
  margin-top:3px!important;
  padding-top:7px!important;
  border-top:1px solid color-mix(in srgb,var(--qwix-border,#4a4540) 58%,transparent)!important;
}
html body .expr-graph-context-submenu.is-presets-submenu{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  box-sizing:border-box!important;
  min-width:154px!important;
  width:154px!important;
  max-width:min(154px,calc(100vw - 16px))!important;
  max-height:min(272px,calc(100vh - 16px))!important;
  padding:7px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  scroll-behavior:smooth!important;
  scroll-snap-type:y proximity!important;
  overscroll-behavior:contain!important;
}
html body .expr-graph-preset-preview-card{
  position:relative!important;
  display:block!important;
  flex:0 0 58px!important;
  width:100%!important;
  height:58px!important;
  min-height:58px!important;
  box-sizing:border-box!important;
  padding:5px 7px!important;
  overflow:hidden!important;
  border:1px solid color-mix(in srgb,var(--qwix-border,#4a4540) 78%,transparent)!important;
  border-radius:9px!important;
  outline:0!important;
  background:
    linear-gradient(to right,color-mix(in srgb,var(--qwix-ink,#f4f4f5) 6%,transparent) 1px,transparent 1px),
    linear-gradient(to bottom,color-mix(in srgb,var(--qwix-ink,#f4f4f5) 6%,transparent) 1px,transparent 1px),
    var(--qwix-surface-raised,#252129)!important;
  background-size:25% 100%,100% 25%,auto!important;
  color:var(--qwix-ink,#f4f4f5)!important;
  cursor:pointer!important;
  scroll-snap-align:start!important;
  transform:translateZ(0)!important;
  transition:background-color 150ms ease,border-color 150ms ease,transform 150ms var(--qwix-motion-out,ease),box-shadow 150ms ease!important;
}
html body .expr-graph-preset-preview-card:hover,
html body .expr-graph-preset-preview-card:focus-visible{
  border-color:color-mix(in srgb,var(--aptk-detail,#139af2) 48%,var(--qwix-border,#4a4540))!important;
  background:
    linear-gradient(to right,color-mix(in srgb,var(--qwix-ink,#f4f4f5) 8%,transparent) 1px,transparent 1px),
    linear-gradient(to bottom,color-mix(in srgb,var(--qwix-ink,#f4f4f5) 8%,transparent) 1px,transparent 1px),
    var(--qwix-surface-hover,#34302a)!important;
  background-size:25% 100%,100% 25%,auto!important;
  transform:translateY(-1px)!important;
}
html body .expr-graph-preset-preview-card.is-active{
  border-color:var(--aptk-detail,#139af2)!important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--aptk-detail,#139af2) 25%,transparent),0 0 0 1px color-mix(in srgb,var(--aptk-detail,#139af2) 9%,transparent)!important;
}
html body .expr-graph-preset-preview-svg{
  display:block!important;
  width:100%!important;
  height:100%!important;
  overflow:visible!important;
  pointer-events:none!important;
}
html body .expr-graph-preset-preview-path{
  stroke:currentColor!important;
  stroke-width:2.35!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  opacity:.94!important;
}
html body .expr-graph-preset-preview-card.is-active .expr-graph-preset-preview-path{
  stroke:var(--aptk-detail,#139af2)!important;
}
html body .expr-graph-preset-preview-mark{
  position:absolute!important;
  top:6px!important;
  right:6px!important;
  width:6px!important;
  height:6px!important;
  border-radius:999px!important;
  background:var(--aptk-detail,#139af2)!important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--qwix-surface-raised,#252129) 82%,transparent)!important;
  pointer-events:none!important;
}
html body .expr-graph-context-submenu.is-presets-submenu::-webkit-scrollbar{
  width:3px!important;
}
html body .expr-graph-context-submenu.is-presets-submenu::-webkit-scrollbar-track{
  margin:7px 0!important;
  background:transparent!important;
}
html body .expr-graph-context-submenu.is-presets-submenu::-webkit-scrollbar-thumb{
  border-radius:999px!important;
  background:color-mix(in srgb,var(--aptk-detail,#139af2) 52%,transparent)!important;
}
@supports not (background:color-mix(in srgb,#fff 10%,transparent)){
  html body .expr-graph-context-menu .expr-graph-context-reset-btn{border-top-color:rgba(255,255,255,.10)!important;}
  html body .expr-graph-preset-preview-card{border-color:rgba(255,255,255,.12)!important;background-color:#252129!important;}
  html body .expr-graph-preset-preview-card:hover{border-color:rgba(19,154,242,.48)!important;background-color:#34302a!important;}
  html body .expr-graph-preset-preview-card.is-active{box-shadow:inset 0 0 0 1px rgba(19,154,242,.25),0 0 0 1px rgba(19,154,242,.09)!important;}
}

/* ===== 2026-07-22 Expressions graph presets submenu reliability v6 ===== */
html body .expr-graph-context-submenu{
  z-index:1000001!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
html body .expr-graph-context-submenu.is-presets-submenu{
  min-height:70px!important;
}
html body .expr-graph-presets-empty{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:54px!important;
  padding:8px!important;
  color:color-mix(in srgb,var(--qwix-ink,#f4f4f5) 48%,transparent)!important;
  font:800 8px/1.2 Inter,-apple-system,"Segoe UI",sans-serif!important;
  text-align:center!important;
}
@supports not (color:color-mix(in srgb,#fff 10%,transparent)){
  html body .expr-graph-presets-empty{color:rgba(244,244,245,.48)!important;}
}

/* ===== 2026-07-22 Expressions graph presets — compact rectangular grid v7 ===== */
html body .expr-graph-context-submenu.is-presets-submenu{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  grid-auto-rows:46px!important;
  align-content:start!important;
  gap:6px!important;
  box-sizing:border-box!important;
  width:352px!important;
  min-width:0!important;
  max-width:calc(100vw - 16px)!important;
  max-height:min(222px,calc(100vh - 16px))!important;
  padding:7px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  scroll-behavior:smooth!important;
  scroll-snap-type:none!important;
  overscroll-behavior:contain!important;
}
html body .expr-graph-context-submenu.is-presets-submenu .expr-graph-preset-preview-card{
  display:block!important;
  align-self:stretch!important;
  justify-self:stretch!important;
  flex:none!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:46px!important;
  min-height:46px!important;
  padding:5px 6px!important;
  margin:0!important;
  border-radius:9px!important;
  scroll-snap-align:none!important;
}
html body .expr-graph-context-submenu.is-presets-submenu .expr-graph-preset-preview-svg{
  width:100%!important;
  height:100%!important;
}
html body .expr-graph-context-submenu.is-presets-submenu .expr-graph-preset-preview-path{
  stroke-width:1.85!important;
}
html body .expr-graph-context-submenu.is-presets-submenu .expr-graph-preset-preview-mark{
  top:4px!important;
  right:4px!important;
  width:5px!important;
  height:5px!important;
}
html body .expr-graph-context-submenu.is-presets-submenu .expr-graph-presets-empty{
  grid-column:1 / -1!important;
  min-height:46px!important;
}
@media (max-width:380px){
  html body .expr-graph-context-submenu.is-presets-submenu{
    grid-auto-rows:43px!important;
    gap:5px!important;
    padding:6px!important;
    max-height:min(204px,calc(100vh - 12px))!important;
  }
  html body .expr-graph-context-submenu.is-presets-submenu .expr-graph-preset-preview-card{
    height:43px!important;
    min-height:43px!important;
    padding:4px 5px!important;
  }
}

/* ===== 2026-07-22 Expressions easing drawer — collapsed page-entry motion v8 =====
   The narrow hidden rail participates in the normal Expressions page reveal.
   If the pointer expands the drawer while that reveal is still running, stop
   the page animation immediately so the full graph editor never animates as a
   page-entry item. */
html.qwix-motion-enabled body #v120Content > #page-expressions.qwix-page-entering
  .expr-easing-drawer-host.is-open.qwix-page-reveal-item{
  animation:none!important;
  opacity:1!important;
  transform:none!important;
  will-change:auto!important;
}

/* Smart Bounce Reveal: Frequency/Decay/Stagger only drive the bounce once
   Swing is above 0 - dim (not hide) them while Swing is 0 so it's clear
   they're inert without it. */
#page-text-presets .smart-control-row.is-swing-inactive{
  /* No transition: these rows can go straight from display:none (a
     different preset was selected) to shown-and-dimmed in the same tick.
     Animating opacity out of a display:none start can paint one full-
     opacity frame before the transition engine has a prior value to
     animate from, which read as "bright during the preview, then dims"
     even though the class was already correct the whole time. */
  opacity:.45!important;
}



/* Custom-select trigger labels (Text/Expressions): the trigger's fixed
   14px/30-32px left/right padding leaves almost no room for its text span
   once 3-4 dropdowns share a row on a narrow panel - measured as low as
   ~5px available width, too little even for the ellipsis glyph itself, so
   the label just hard-clipped mid-character ("Let" with no "...") instead
   of eliding cleanly, and the pill visually read as cut off around it.
   Trim the padding and pull the arrow in so there's always enough room for
   ellipsis to actually kick in and show a real truncated label. */
html body #page-text-presets .aptk-custom-select-trigger,
html body #page-expressions .aptk-custom-select-trigger{
  min-width:0!important;
  box-sizing:border-box!important;
}
html body #page-text-presets .aptk-custom-select-trigger > span:not(.qwix-select-arrow),
html body #page-expressions .aptk-custom-select-trigger > span:not(.qwix-select-arrow){
  display:block!important;
  min-width:0!important;
  max-width:100%!important;
  flex:1 1 auto!important;
}
@media (max-width:460px){
  html.qwix-motion-enabled body #page-text-presets .aptk-custom-select-trigger,
  html.qwix-motion-enabled body #page-expressions .aptk-custom-select-trigger,
  html body #page-text-presets .aptk-custom-select-trigger,
  html body #page-expressions .aptk-custom-select-trigger{
    padding-left:9px!important;
    padding-right:20px!important;
  }
  html.qwix-motion-enabled body #page-text-presets .aptk-custom-select-trigger > .qwix-select-arrow,
  html.qwix-motion-enabled body #page-expressions .aptk-custom-select-trigger > .qwix-select-arrow{
    right:6px!important;
  }
  html body #page-text-presets .aptk-custom-select-trigger::after,
  html body #page-expressions .aptk-custom-select-trigger::after{
    background-position:right 6px center!important;
  }
}

/* Settings: #page-settings has exactly one direct child (.v139-settings-
   wrap, confirmed - it wraps every tab's content including the Theme
   swatches/preset cards), so that's the single element the page-entry
   reveal system (revealCandidates() sweeps a page's direct children when
   it has no dedicated PAGE_SELECTORS entry, which Settings doesn't) tags
   with qwix-page-reveal-up - not the individual swatches. That animation
   briefly overshoots past scale(1) right before settling exactly on it; a
   subtle, barely-visible detail on plain text, but the whole Settings
   panel's worth of small, saturated color blocks (most noticeable on the
   Theme tab, where the cards themselves are the content) popping past
   their own size for a couple of frames reads as a flash/glare of
   brightness. Keep the panel simply visible instead. */
#page-settings .v139-settings-wrap.qwix-page-reveal-item,
#page-settings .v139-settings-wrap.qwix-preset-page-reveal-item,
#page-settings .v139-settings-wrap.qwix-local-reveal-item,
#page-settings .v139-swatch.qwix-page-reveal-item,
#page-settings .v139-swatches.qwix-page-reveal-item,
#page-settings .theme-option.qwix-page-reveal-item,
#page-settings .theme-grid.qwix-page-reveal-item,
#page-settings .v139-theme-preset.qwix-page-reveal-item,
#page-settings .v139-theme-presets.qwix-page-reveal-item,
#page-settings .v139-swatch.qwix-preset-page-reveal-item,
#page-settings .v139-swatches.qwix-preset-page-reveal-item,
#page-settings .theme-option.qwix-preset-page-reveal-item,
#page-settings .theme-grid.qwix-preset-page-reveal-item,
#page-settings .v139-theme-preset.qwix-preset-page-reveal-item,
#page-settings .v139-theme-presets.qwix-preset-page-reveal-item,
#page-settings .v139-swatch.qwix-local-reveal-item,
#page-settings .theme-option.qwix-local-reveal-item,
#page-settings .v139-theme-preset.qwix-local-reveal-item{
  animation:none!important;
  opacity:1!important;
  transform:none!important;
  will-change:auto!important;
}


/* ===== Expressions preset labels: exact visual parity with Text rail =====
   Inactive Expression preset labels use the same dimmed text treatment as
   inactive Text presets (e.g. Spin now matches WB). Active preset styling,
   geometry and animations are intentionally untouched. */
html:not([data-qwix-tone="light"]) body #v120App #v120Content #page-expressions #expressionPresetSwitch > .expression-preset-tab:not(.is-active),
html:not([data-qwix-tone="light"]) body #v120App #v120Content #page-expressions #expressionPresetSwitch > .expr-v151-custom-btn:not(.is-active),
html:not([data-qwix-tone="light"]) body #v120App #v120Content #page-expressions #expressionPresetSwitch.has-active-saved-preset > .expression-preset-tab.is-active {
  color: rgba(241,242,244,.40) !important;
  opacity: .55 !important;
}
html:not([data-qwix-tone="light"]) body #v120App #v120Content #page-expressions #expressionPresetSwitch > .expression-preset-tab:not(.is-active) b,
html:not([data-qwix-tone="light"]) body #v120App #v120Content #page-expressions #expressionPresetSwitch > .expr-v151-custom-btn:not(.is-active) b,
html:not([data-qwix-tone="light"]) body #v120App #v120Content #page-expressions #expressionPresetSwitch.has-active-saved-preset > .expression-preset-tab.is-active b {
  color: inherit !important;
  opacity: 1 !important;
  font-weight: 700 !important;
  -webkit-text-fill-color: currentColor !important;
}
html:not([data-qwix-tone="light"]) body #v120App #v120Content #page-expressions #expressionPresetSwitch > .expression-preset-tab:not(.is-active):hover,
html:not([data-qwix-tone="light"]) body #v120App #v120Content #page-expressions #expressionPresetSwitch > .expr-v151-custom-btn:not(.is-active):hover {
  color: rgba(241,242,244,.40) !important;
  opacity: .68 !important;
}

/* Suede uses its own ink token on the Text rail; mirror it here as well. */
html[data-aptk-mode="suede"]:not([data-qwix-tone="light"]) body #v120App #v120Content #page-expressions #expressionPresetSwitch > .expression-preset-tab:not(.is-active),
html[data-aptk-mode="suede"]:not([data-qwix-tone="light"]) body #v120App #v120Content #page-expressions #expressionPresetSwitch > .expr-v151-custom-btn:not(.is-active) {
  color: var(--qwix-ink-secondary) !important;
}

/* Light theme: Text rail uses the secondary ink token. */
html[data-qwix-tone="light"] body #v120App #v120Content #page-expressions #expressionPresetSwitch > .expression-preset-tab:not(.is-active),
html[data-qwix-tone="light"] body #v120App #v120Content #page-expressions #expressionPresetSwitch > .expr-v151-custom-btn:not(.is-active),
html[data-qwix-tone="light"] body #v120App #v120Content #page-expressions #expressionPresetSwitch.has-active-saved-preset > .expression-preset-tab.is-active {
  color: var(--qwix-ink-secondary) !important;
  opacity: .55 !important;
}
html[data-qwix-tone="light"] body #v120App #v120Content #page-expressions #expressionPresetSwitch > .expression-preset-tab:not(.is-active) b,
html[data-qwix-tone="light"] body #v120App #v120Content #page-expressions #expressionPresetSwitch > .expr-v151-custom-btn:not(.is-active) b,
html[data-qwix-tone="light"] body #v120App #v120Content #page-expressions #expressionPresetSwitch.has-active-saved-preset > .expression-preset-tab.is-active b {
  color: inherit !important;
  opacity: 1 !important;
  -webkit-text-fill-color: currentColor !important;
}

/* ===== Expressions custom preset names: single-line ellipsis =====
   Saved preset labels must stay inside the 54px preset rail button. Keep the
   full name in the existing title attribute; only the visible label truncates. */
html body #v120App #v120Content #page-expressions #expressionPresetSwitch > .expr-v151-custom-btn {
  min-width: 0 !important;
  overflow: hidden !important;
}
html body #v120App #v120Content #page-expressions #expressionPresetSwitch > .expr-v151-custom-btn b {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}


/* ===== Expressions saved preset label: active-capsule safety =====
   Saved custom names are explicitly shortened in JS to the 90% moving
   selection capsule. Do not add the generic +3px hover text drift here: that
   drift can push a correctly fitted active label against the capsule edge. */
html.qwix-motion-enabled body #page-expressions #expressionPresetSwitch.qwix-side-dock-root > .expr-v151-custom-btn:hover b,
html.qwix-motion-enabled body #page-expressions #expressionPresetSwitch.qwix-side-dock-root > .expr-v151-custom-btn.is-active b {
  --qwix-side-text-x: 0px !important;
}


/* Qwix Text Fill control --------------------------------------------------
   Color chip lives inside the regular slider label so the whole row follows
   the same page/preset/Edit reveal motion as Distance/Blur/etc. The shell
   keeps layout stable; the swatch itself expands only to the right. */
html body #page-text-presets .smart-fill-label-main{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  min-width:0!important;
  position:relative!important;
}
html body #page-text-presets .smart-fill-color-shell{
  position:relative!important;
  display:inline-block!important;
  width:12px!important;
  height:12px!important;
  min-width:12px!important;
  flex:0 0 12px!important;
  overflow:visible!important;
  z-index:3!important;
}
html body #page-text-presets .smart-fill-color-input{
  -webkit-appearance:none!important;
  appearance:none!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  width:12px!important;
  height:12px!important;
  min-width:12px!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  border-radius:999px!important;
  background:transparent!important;
  box-shadow:0 0 0 1px var(--qwix-border-primary,rgba(255,255,255,.12)),0 2px 7px rgba(0,0,0,.22)!important;
  cursor:pointer!important;
  transition:width .22s cubic-bezier(.2,.8,.2,1),box-shadow .18s ease,filter .18s ease!important;
  transform-origin:left center!important;
  z-index:4!important;
}
html body #page-text-presets .smart-fill-color-input:hover,
html body #page-text-presets .smart-fill-color-input:focus{
  width:42px!important;
  box-shadow:0 0 0 1px var(--qwix-border-strong,rgba(255,255,255,.18)),0 4px 12px rgba(0,0,0,.28)!important;
  filter:saturate(1.06) brightness(1.04)!important;
}
html body #page-text-presets .smart-fill-color-input::-webkit-color-swatch-wrapper{
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
}
html body #page-text-presets .smart-fill-color-input::-webkit-color-swatch{
  border:0!important;
  border-radius:999px!important;
}
html body #page-text-presets #smartFillRow label{
  overflow:visible!important;
}


/* ===== Progressive Fill stack =====
   Only the next Fill amount is revealed. Fill Unit is shared by every pass;
   Direction/Length/Speed/Delay remain pass-specific while that pass is active. Internal expansion uses opacity plus
   height clipping only: no scale, filter, blur or transform is introduced. */
html body #page-text-presets .smart-fill-stack-card{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  min-width:0!important;
  overflow:visible!important;
}
html body #page-text-presets .smart-fill-stack-card[style*="display: none"],
html body #page-text-presets .smart-fill-stack-card[style*="display:none"]{display:none!important;}
html body #page-text-presets .smart-fill-options,
html body #page-text-presets .smart-fill-slot{
  min-width:0!important;
  overflow:hidden!important;
  transform:none!important;
  filter:none!important;
  will-change:auto!important;
}
html body #page-text-presets .smart-fill-options{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  max-height:0!important;
  opacity:0!important;
  pointer-events:none!important;
  transition:max-height .26s cubic-bezier(.2,.72,.2,1),opacity .18s ease!important;
}
html body #page-text-presets .smart-fill-options.is-visible,
html body #page-text-presets .smart-fill-base-options{
  max-height:320px!important;
  opacity:1!important;
  pointer-events:auto!important;
}
html body #page-text-presets .smart-fill-slot{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  max-height:0!important;
  opacity:0!important;
  pointer-events:none!important;
  transition:max-height .28s cubic-bezier(.2,.72,.2,1),opacity .18s ease!important;
}
html body #page-text-presets .smart-fill-slot.is-visible{
  max-height:330px!important;
  opacity:1!important;
  pointer-events:auto!important;
}
html body #page-text-presets .smart-fill-options.is-fill-inactive,
html body #page-text-presets .smart-fill-slot-row.is-fill-slot-inactive{
  opacity:.45!important;
}
html body #page-text-presets .smart-fill-options.is-fill-inactive{pointer-events:none!important;}
html body #page-text-presets .smart-fill-options.is-fill-inactive input,
html body #page-text-presets .smart-fill-options.is-fill-inactive .qwix-slider-shell{
  pointer-events:none!important;
}
html body #page-text-presets .smart-fill-slot-row.is-fill-slot-inactive input[type="range"],
html body #page-text-presets .smart-fill-slot-row.is-fill-slot-inactive .qwix-slider-shell{
  pointer-events:auto!important;
}
html body #page-text-presets .smart-fill-slot-row.is-fill-slot-inactive .smart-fill-color-shell{
  pointer-events:none!important;
}
/* Base Fill's own Unit/Direction/Length/Speed dim the same way Frequency/Decay/
   Stagger dim relative to Swing (#page-text-presets .smart-control-row.
   is-swing-inactive, opacity only): the row stays fully draggable at Fill=0,
   it just visually reads as inert. Unlike .is-fill-inactive above (used for
   Fill 2-5's own options, which are hidden via is-visible until their own
   slot activates, so hard-disabling them has no visible effect either way). */
html body #page-text-presets .smart-fill-options.is-fill-base-inactive{
  opacity:.45!important;
}
@media (prefers-reduced-motion: reduce){
  html body #page-text-presets .smart-fill-options,
  html body #page-text-presets .smart-fill-slot{transition:none!important;}
}


/* Progressive Fill activation: dimming itself is also soft; layout reveal is
   owned by the slot/options wrappers above, so no transform/filter is used. */
html body #page-text-presets .smart-fill-slot-row{
  transition:opacity .18s ease!important;
  transform:none!important;
  filter:none!important;
}

/* Hidden secondary Fill options must complete their fade to zero. The base
   options intentionally stay visible at 45% while Fill=0, but nested Fill X
   options disappear completely when their amount returns to zero. */
html body #page-text-presets .smart-fill-options:not(.smart-fill-base-options):not(.is-visible){
  opacity:0!important;
}

/* Zero-height future Fill slots must not reserve flex gaps. Spacing is owned by
   the blocks that are actually visible and is itself animated on slot reveal,
   preventing both dead space and a one-frame layout jump. */
html body #page-text-presets .smart-fill-stack-card{
  gap:0!important;
}
html body #page-text-presets .smart-fill-base-options{
  margin-top:10px!important;
}
html body #page-text-presets .smart-fill-slot{
  margin-top:0!important;
  transition:max-height .28s cubic-bezier(.2,.72,.2,1),opacity .18s ease,margin-top .24s cubic-bezier(.2,.72,.2,1)!important;
}
html body #page-text-presets .smart-fill-slot.is-visible{
  margin-top:10px!important;
}
@media (prefers-reduced-motion: reduce){
  html body #page-text-presets .smart-fill-slot{transition:none!important;}
}

/* ===== 2026-07-29 Text graph layout stability =====
   The compact graph changes the vertical layout while opening/closing. Keep
   dropdown labels on their own compositor layer so fractional layout Y values
   do not repeatedly re-rasterize them as apparent scale flicker. Browser scroll
   anchoring is disabled for this local transition so the slider card follows
   the drawer continuously instead of jumping after the position settles. */
html body #page-text-presets.text-graph-layout-moving,
html body #page-text-presets.text-graph-layout-moving .preview-card,
html body #page-text-presets.text-graph-layout-moving #smartRevealControls,
html body #page-text-presets.text-graph-layout-moving #v124SliderCard,
html body #page-text-presets.text-graph-layout-moving #v124CustomSliderCard{
  overflow-anchor:none!important;
}
html body #page-text-presets.text-graph-layout-moving #v121SmartTopControls,
html body #page-text-presets.text-graph-layout-moving #v121CustomTopControls,
html body #page-text-presets.text-graph-layout-moving .smart-select-row,
html body #page-text-presets.text-graph-layout-moving .aptk-custom-select-trigger,
html body #page-text-presets.text-graph-layout-moving .aptk-custom-select-trigger > span:not(.qwix-select-arrow){
  transform:translate3d(0,0,0)!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
}
html body #page-text-presets.text-graph-layout-moving #v121SmartTopControls,
html body #page-text-presets.text-graph-layout-moving #v121CustomTopControls,
html body #page-text-presets.text-graph-layout-moving .smart-select-row{
  will-change:transform;
}
/* Slider cards themselves never scale during Graph/Edit geometry changes. */
html body #page-text-presets.text-graph-layout-moving #v124SliderCard:not(.qwix-text-edit-enter-prepared):not(.qwix-text-edit-enter-item),
html body #page-text-presets.text-graph-layout-moving #v124CustomSliderCard:not(.qwix-text-edit-enter-prepared):not(.qwix-text-edit-enter-item),
html body #page-text-presets.text-edit-hydrating #v124SliderCard:not(.qwix-text-edit-enter-prepared):not(.qwix-text-edit-enter-item),
html body #page-text-presets.text-edit-hydrating #v124CustomSliderCard:not(.qwix-text-edit-enter-prepared):not(.qwix-text-edit-enter-item){
  transform:translate3d(0,0,0)!important;
  transform-origin:top center!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
}

/* Graph drawer vertical motion must never perturb Text dropdown geometry.
   The grid is refreshed only after the drawer settles (JS); these rules keep
   label/arrow raster positions stable on the intermediate fractional Y frames. */
html body #page-text-presets.text-graph-layout-moving .aptk-custom-select-trigger{
  transition:none!important;
  contain:paint!important;
}
html body #page-text-presets.text-graph-layout-moving .aptk-custom-select-trigger > span:not(.qwix-select-arrow){
  position:relative!important;
  left:0!important;
  margin-left:0!important;
}
html.qwix-motion-enabled body #page-text-presets.text-graph-layout-moving .aptk-custom-select-trigger > .qwix-select-arrow{
  margin:0!important;
  will-change:auto!important;
}
