.builder-page { padding-top: 120px; }
  .builder { display: grid; grid-template-columns: 220px 1fr; gap: 20px; align-items: start; margin-bottom: 40px; }
  .builder__label { display: block; font-weight: 600; margin: 0 0 10px; }
  .builder__select { width: 100%; margin-bottom: 22px; padding: 12px; border-radius: 12px; background: #111; color: var(--text); border: 1px solid var(--line); font: inherit; }
  .palette { display: grid; gap: 5px; }
  .palette__btn { text-align: left; padding: 6px 10px; border-radius: 8px; border: 1px solid var(--line); background: #0d0d0d; color: var(--text); cursor: pointer; font: inherit; transition: border-color .2s, background .2s; }
  .palette__btn:hover { border-color: #888; background: #161616; }
  .palette__btn strong { display: block; font-size: 13px; }
  .palette__btn span { color: var(--muted); font-size: 11px; line-height: 1.3; display: block; }
  .builder__canvas { position: sticky; top: 90px; }
  .device { min-height: 520px; max-height: 75vh; overflow: auto; background: #f4f4f4; border-radius: 18px; padding: 14px; border: 8px solid #1a1a1a; }
  .canvas__empty { color: #777; text-align: center; margin: 200px 20px; }
  .block { background: #fff; border: 1px dashed #bbb; border-radius: 10px; margin-bottom: 10px; overflow: hidden; }
  .block__bar { display: flex; justify-content: space-between; align-items: center; font-size: 12px; color: #444; background: #eaeaea; padding: 4px 8px; font-weight: 600; }
  .block__tools button { border: 0; background: #fff; border-radius: 6px; margin-left: 4px; width: 26px; height: 22px; cursor: pointer; color: #222; }
  .block__tools button:hover { background: #F0182B; color: #fff; }
  .wf { padding: 12px; display: flex; flex-direction: column; gap: 8px; }
  .wf i { display: block; }
  .wf-line { height: 7px; background: #d6d6d6; border-radius: 4px; width: 100%; }
  .wf-box { height: 16px; background: #c9c9c9; border-radius: 4px; }
  .wf-btn { width: 90px; height: 24px; border: 2px solid #999; border-radius: 6px; }
  .wf-input { height: 22px; border: 2px solid #ccc; border-radius: 6px; }
  .wf--nav { flex-direction: row; justify-content: space-between; align-items: center; }
  .wf--nav span { display: flex; gap: 8px; }
  .wf--nav span i { width: 34px; height: 7px; background: #ccc; border-radius: 4px; }
  .wf--footer { background: #e2e2e2; }
  .wf--hero { min-height: 120px; position: relative; align-items: center; justify-content: center; }
  .wf-x { position: absolute; inset: 8px; border: 2px solid #ddd; background: linear-gradient(to top right, transparent 49.5%, #ddd 50%, transparent 50.5%), linear-gradient(to top left, transparent 49.5%, #ddd 50%, transparent 50.5%); }
  .wf--hero > i, .wf--hero > .wf-btn { position: relative; background-color: #bbb; }
  .wf--hero > .wf-btn { background: #fff; }
  .wf-play { width: 50px; height: 50px; border-radius: 50%; background: #ccc; display: grid; place-items: center; color: #fff; }
  .wf--row { flex-direction: row; }
  .wf-card { flex: 1; min-height: 70px; border: 2px solid #ddd; border-radius: 8px; }
  .wf-date, .wf-quote { display: grid; place-items: center; color: #999; font-weight: 700; font-size: 20px; }
  .wf--grid { display: grid; grid-template-columns: repeat(4, 1fr); }
  .wf--grid .wf-x { position: relative; inset: auto; height: 60px; }
  .wf--map { min-height: 100px; background: repeating-linear-gradient(45deg, #eee 0 10px, #e4e4e4 10px 20px); align-items: center; justify-content: center; font-size: 28px; }
  .canvas__bar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; font-weight: 600; }
  #reset { background: transparent; color: var(--text); border: 1px solid #F0182B; }
  #reset:hover { background: #F0182B; color: #fff; }
  .block__text { margin: 10px 12px 0; color: #111; font-weight: 700; font-size: 15px; line-height: 1.3; }
  .block__photo { min-height: 150px; background: #ccc center / cover no-repeat; display: flex; align-items: flex-end; }
  .block__text--over { margin: 0; padding: 10px 12px; width: 100%; color: #fff; background: linear-gradient(transparent, rgba(0,0,0,.7)); }
  .block__edit { display: flex; gap: 6px; align-items: center; padding: 8px; border-top: 1px dashed #ddd; flex-wrap: wrap; }
  .block__edit input[type=text] { flex: 1; min-width: 140px; padding: 6px 8px; border: 1px solid #ccc; border-radius: 6px; font: inherit; font-size: 13px; color: #111; background: #fff; }
  .block__upload, .block__link { font-size: 12px; font-weight: 600; padding: 6px 10px; border-radius: 6px; cursor: pointer; border: 0; background: #222; color: #fff; font-family: inherit; }
  .block__link { background: #eee; color: #333; }
  .block__upload:hover { background: #F0182B; }
  .builder__form { max-width: none; width: 100%; }
  @media (max-width: 860px) { .builder { grid-template-columns: 1fr; } .builder__canvas { position: static; } .palette { grid-template-columns: 1fr 1fr; } }