#companion-dock{position:fixed;inset:auto;z-index:10000;width:176px;height:203px;margin:0;padding:0;border:1px solid #d9aab77a;border-radius:8px;background:#fdfbfcbb;box-shadow:0 5px 24px #a8788822;backdrop-filter:blur(12px);color:#815d70;font-family:ChillKai,serif;letter-spacing:0;overflow:visible;isolation:isolate}
#companion-dock[data-corner=br]{right:16px;bottom:max(18px,env(safe-area-inset-bottom))}#companion-dock[data-corner=bl]{left:16px;bottom:max(18px,env(safe-area-inset-bottom))}#companion-dock[data-corner=tr]{right:16px;top:max(16px,env(safe-area-inset-top))}#companion-dock[data-corner=tl]{left:16px;top:max(16px,env(safe-area-inset-top))}
#companion-dock .companion-grip{height:27px;display:flex;align-items:center;gap:8px;padding:0 6px;cursor:grab;touch-action:none;font-size:12px;border-bottom:1px dashed #d9aab766;user-select:none}#companion-dock .companion-grip>svg{width:15px}#companion-dock .companion-grip button{margin-left:auto}#companion-dock button{min-width:25px;min-height:24px;width:25px;height:24px;padding:2px;display:grid;place-items:center;background:transparent;border:0;box-shadow:none;color:inherit}#companion-dock button svg{width:15px;height:15px}#companion-dock canvas{display:block;width:174px;height:172px;touch-action:none;cursor:pointer;border-radius:0 0 8px 8px}#companion-dock canvas.touched{filter:drop-shadow(0 0 7px #e9a9c5aa)}
#companion-dock .companion-provenance{position:absolute;bottom:2px;left:5px;right:5px;text-align:center;font-size:10px;line-height:14px;pointer-events:none;background:#fdfbfcb5}#companion-dock output{position:absolute;bottom:calc(100% + 8px);right:0;width:210px;max-width:calc(100vw - 32px);padding:8px;background:#fdfbfcee;border:1px solid #d9aab755;border-radius:6px;font-size:12px;line-height:1.6;opacity:0;transition:opacity .5s;pointer-events:none;overflow-wrap:anywhere}#companion-dock[data-corner$=l] output{left:0;right:auto}#companion-dock[data-corner^=t] output{top:calc(100% + 8px);bottom:auto}#companion-dock output.show{opacity:1}
#companion-dock.collapsed{width:56px;height:36px;border-radius:18px;background:#fdfbfc88;box-shadow:0 0 14px #d9aab744}#companion-dock.collapsed .companion-grip,#companion-dock.collapsed canvas,#companion-dock.collapsed .companion-provenance{display:none}#companion-dock [data-companion-expand]{width:54px;height:34px;font:14px Georgia,serif;animation:companion-breathe 3s ease-in-out infinite}#companion-dock [hidden]{display:none!important}body.locked #companion-dock{display:none}
@keyframes companion-breathe{50%{opacity:.5;text-shadow:0 0 8px #d9aab7}}
.sub-lens{border-top:1px dashed #d9aab777;margin:20px 0;padding:14px 0}.sub-lens summary{cursor:pointer;color:#946b7b}.lens-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}.lens-controls select{width:auto}.lens-result{line-height:1.8;overflow-wrap:anywhere}.lens-meters{display:grid;grid-template-columns:1fr 1fr;gap:14px}.lens-meters label{font-size:13px}.lens-meters meter{display:block;width:100%;accent-color:#b77d94}.lens-chord{font-size:14px;color:#7a687e;background:#f6edf144;padding:10px;border-left:2px solid #d9aab7}.lens-evidence{white-space:pre-wrap;font-size:13px}.touch-stats{display:flex;flex-wrap:wrap;gap:20px;border-block:1px dashed #d9aab777;padding:16px 0;margin-bottom:20px}.touch-stats strong{font:22px Georgia,serif;display:block}.touch-echo{border-bottom:1px dashed #d9aab755;padding:18px 0;overflow-wrap:anywhere}.touch-echo header{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}.touch-echo pre{white-space:pre-wrap;font-family:inherit;font-size:13px}.touch-wave{display:flex;align-items:center;gap:2px;height:36px;margin:8px 0}.touch-wave i{display:block;width:4px;background:#b68099;border-radius:2px}.echo-agency{display:flex!important;align-items:flex-start;gap:9px;font-size:13px;margin:12px 0}.echo-agency input{width:auto!important;margin-top:4px}.echo-agency span{flex:1}
@media(max-width:600px){#companion-dock{width:150px;height:179px}#companion-dock canvas{width:148px;height:148px}#companion-dock[data-corner$=r]{right:10px}#companion-dock[data-corner$=l]{left:10px}.lens-meters{gap:8px}}
#companion-dock [data-companion-expand]{touch-action:none}
@media(prefers-reduced-motion:reduce){#companion-dock [data-companion-expand]{animation:none}}
