.floating-tools { position:fixed; right:0; top:50%; transform:translateY(-50%); z-index:60; color:var(--ink); }
.floating-tools-list { display:flex; flex-direction:column; background:var(--paper); box-shadow:0 4px 18px #11131218; }
.floating-control { display:flex; align-items:center; justify-content:center; width:56px; height:56px; min-height:56px; margin-top:-1px; padding:0; border:1px solid var(--ink); border-radius:0; background:var(--paper); color:var(--ink); text-decoration:none; }
.floating-control:first-child { margin-top:0; }
.floating-control .icon,.floating-mobile-toggle .icon { width:24px; height:24px; }
.floating-control[aria-expanded="true"] { background:var(--dark); color:var(--on-dark); }
.floating-control[aria-expanded="true"] .icon { filter:invert(1); }
.floating-control:focus-visible,.floating-mobile-toggle:focus-visible,.floating-panel button:focus-visible,.floating-panel a:focus-visible { outline:2px solid var(--ink); outline-offset:-3px; }
.floating-mobile-toggle { display:none; }
.floating-panel { position:absolute; right:calc(100% + 12px); top:0; width:280px; max-width:calc(100vw - 120px); max-height:min(70vh,560px); overflow:auto; padding:20px; border:1px solid var(--ink); background:var(--paper); box-shadow:0 5px 20px #11131220; }
.floating-panel-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; padding-bottom:12px; border-bottom:1px solid var(--line); }
.floating-panel-head strong { font:500 24px/1.3 var(--serif); }
.floating-panel-head button { min-width:44px; min-height:44px; border:1px solid var(--line); border-radius:0; background:transparent; font:24px/1 var(--sans); }
.floating-panel p,.floating-more-links a { font:18px/1.6 var(--sans); overflow-wrap:anywhere; }
.floating-panel p+p { margin-top:12px; }
.floating-qr { width:min(200px,100%); height:auto; margin:0 auto 14px; border:1px solid var(--line); }
.floating-account { overflow-wrap:anywhere; }
.floating-copy { margin-top:12px; min-height:44px; padding:8px 14px; border:1px solid var(--ink); border-radius:0; background:transparent; font-size:18px; }
.floating-copy-status { display:block; margin-top:8px; font-size:16px; line-height:1.5; }
.floating-copy-status:empty { display:none; }
.floating-more-links { display:grid; }
.floating-more-links a { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid var(--line); }
.floating-more-links a:last-child { border-bottom:0; }
.floating-editor>p { margin-bottom:24px; }
.floating-editor-toggles { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:24px 0; }
.floating-editor-toggles label { display:flex; align-items:center; gap:12px; font-size:18px; }
.floating-editor-toggles input { width:20px; height:20px; accent-color:var(--ink); flex-shrink:0; }
.floating-qr-editor,.floating-more-editor { margin-top:32px; }
.floating-qr-editor h3,.floating-more-editor h3 { margin:0 0 12px; }
.floating-qr-editor .tool-actions { margin-top:16px; }
#floating-qr-preview { width:min(200px,100%); height:auto; margin:16px 0; border:1px solid var(--line); }
.floating-link-row { display:flex; align-items:end; gap:16px; padding:16px 0; border-bottom:1px solid var(--line); }
.floating-link-row .field-grid { flex:1; min-width:0; }
.floating-link-row>button { flex-shrink:0; min-height:50px; padding:10px 16px; border:1px solid var(--ink); border-radius:0; background:transparent; font-size:18px; }
@media (hover:hover) and (pointer:fine) {
  .floating-control:hover,.floating-mobile-toggle:hover { background:var(--dark); color:var(--on-dark); }
  .floating-control:hover .icon,.floating-mobile-toggle:hover .icon { filter:invert(1); }
  .floating-copy:hover,.floating-panel-head button:hover,.floating-link-row>button:hover { background:var(--surface); }
}
@media (max-width:900px) {
  .floating-tools { top:auto; right:8px; bottom:max(20px,env(safe-area-inset-bottom)); transform:none; }
  .floating-mobile-toggle { display:flex; align-items:center; justify-content:center; width:56px; height:56px; min-height:56px; padding:0; border:1px solid var(--ink); border-radius:0; background:var(--paper); color:var(--ink); box-shadow:0 4px 18px #11131218; }
  .floating-tools-list { display:none; position:absolute; right:0; bottom:calc(100% + 8px); }
  .floating-tools[data-expanded] .floating-tools-list { display:flex; }
  .floating-panel { top:auto; bottom:0; right:calc(100% + 8px); max-width:calc(100vw - 96px); }
}
@media (max-width:639px) {
  .floating-editor-toggles { grid-template-columns:1fr; }
  .floating-link-row { flex-wrap:wrap; align-items:start; }
  .floating-link-row .field-grid { flex-basis:100%; }
}
