  .layout-editing .type-shape,.layout-editing .type-shape:hover,.layout-editing .type-shape:focus-visible,.layout-editing .type-shape:active{animation:none!important;translate:none!important;rotate:none!important;transform:rotate(var(--rotation,0deg));transition:none;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}
  .layout-editing .type-shape[aria-pressed=true]{z-index:3;outline:2px dashed var(--ink);outline-offset:5px}
  .layout-editing .type-shape:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
  .layout-editing .type-shape.layout-dragging{cursor:grabbing;z-index:4}
  .layout-editing.layout-saving .type-shape{cursor:progress}
  .layout-editing .type-name{pointer-events:none}
  .layout-editing .type-glow{opacity:0!important}
.layout-edit-button,.layout-actions button,.layout-reload{min-height:44px;background:transparent;font-size:12px;white-space:nowrap}
.layout-edit-button{padding:10px 0;color:var(--ink)}
.layout-edit-button:hover,.layout-actions button:hover,.layout-reload:hover{text-decoration:underline}
.layout-actions{display:flex;align-items:center;gap:16px}
.layout-actions button{padding:10px 12px}
.layout-actions .layout-save{min-width:67px;background:var(--ink);color:var(--paper);border-radius:5px}
.layout-actions button:disabled,.layout-reload:disabled{cursor:default;opacity:.5;text-decoration:none}
.layout-feedback{min-width:0;flex:1;font-size:11px;line-height:1.6;color:#66675e}
.layout-feedback p{margin:0}
.layout-status[data-kind=error]{color:#963e32}
.layout-reload{min-height:30px;padding:0;margin-left:8px;text-decoration:underline;color:var(--ink)}
.layout-feedback-row{display:flex;align-items:center;flex-wrap:wrap;column-gap:4px}
@media(min-width:701px){
  .layout-edit-available .header-actions{gap:22px}
  .layout-editing .header-actions>:not(.layout-actions){display:none}
  .layout-editing .motion-toggle{visibility:hidden}
  body.home-route.layout-editing{grid-template-rows:80px minmax(0,1fr) minmax(58px,auto)}
  .layout-editing .site-footer{height:auto;padding:6px 0;gap:24px}

}
@media(min-width:701px) and (max-width:850px){
  .layout-edit-available .header-actions{gap:16px}
  .layout-edit-available .index-toggle{gap:9px;padding-left:0}
  .layout-editing .site-footer{gap:16px}
}
@media(min-width:701px) and (max-height:600px){
  body.home-route.layout-editing{grid-template-rows:64px minmax(0,1fr) minmax(54px,auto)}
}
@media(max-width:700px){
  .home-route.layout-edit-available .app-install{display:none}
  .home-route.layout-edit-available #layout-edit-button:not([hidden]){display:block}
  .layout-editing .site-header{padding-left:12px;padding-right:12px;gap:6px}
  .layout-editing .wordmark{font-size:24px}
  .layout-editing .header-actions>:not(.layout-actions){display:none}
  .layout-editing .layout-actions{display:flex;gap:4px}
  .layout-editing .layout-actions button{padding:8px;min-width:44px}
  .layout-editing .layout-actions .layout-save{min-width:56px}
  .layout-editing .motion-toggle,.layout-editing .mobile-nav,.layout-editing .footer-brand{display:none}
  .layout-editing .layout-feedback{position:fixed;z-index:12;left:0;right:0;bottom:0;display:block;background:#fff;border-top:1px solid var(--rule);padding:10px 16px calc(10px + env(safe-area-inset-bottom));min-height:69px;color:#55564d}
  .layout-editing .layout-help{font-size:12px;font-weight:600}
  .layout-editing .layout-status{font-size:11px}
  .layout-editing .layout-reload{min-height:44px}
}

/* The selected shape owns a single size control, shared by touch and keyboard. */
.layout-size-controls{display:flex;align-items:center;gap:8px;max-width:440px;color:var(--ink)}
.layout-size-label{font-size:12px;font-weight:600;min-width:70px;white-space:nowrap}
.layout-size-step{background:transparent;min-width:44px;height:44px;font-size:22px;border-radius:6px;color:var(--ink)}
.layout-size-step:hover{background:#efefe7}
.layout-size-step:disabled{opacity:.4}
.layout-size-input{min-width:40px;flex:1;width:120px;height:44px;accent-color:var(--ink);cursor:ew-resize;touch-action:none}
.layout-size-input:focus-visible,.layout-size-step:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.layout-size-value{min-width:40px;text-align:right;font-size:12px;font-variant-numeric:tabular-nums}
@media(max-width:700px){
 .layout-editing .layout-help{display:none}
 .layout-editing .layout-feedback{padding:6px 12px calc(6px + env(safe-area-inset-bottom));min-height:93px}
 .layout-size-controls{max-width:none;gap:4px}
 .layout-size-label{min-width:66px}
 .layout-editing .layout-feedback-row{line-height:1.5}
}
