/* Shared Oki: an opaque, out-of-flow help surface. Never reserve document space. */
.oki-root{--oki-safe-top:env(safe-area-inset-top,0px);--oki-safe-right:env(safe-area-inset-right,0px);--oki-safe-bottom:env(safe-area-inset-bottom,0px);--oki-safe-left:env(safe-area-inset-left,0px);--oki-paper:#25484e;--oki-ink:#fff;--oki-action:#edf6f2;--oki-action-ink:#203d43;position:fixed;inset:0;pointer-events:none;z-index:75;contain:layout style;overflow:clip}
.oki-root[data-theme="dark"]{--oki-paper:#dceee7;--oki-ink:#20363e;--oki-action:#294c53;--oki-action-ink:#fff}
.oki-root[data-theme="contrast"]{--oki-paper:#fff;--oki-ink:#000;--oki-action:#000;--oki-action-ink:#fff}
.oki-root *, .oki-settings *{box-sizing:border-box}
.oki-group{position:absolute;display:flex;flex-direction:column;align-items:flex-start;gap:6px;pointer-events:auto;margin:0;padding:0;width:max-content;max-width:calc(100% - 24px);isolation:isolate}
.oki-cluster{display:flex;align-items:flex-start;gap:8px;max-width:100%}
.oki-group[hidden],.oki-root [hidden],.oki-settings [hidden]{display:none!important}
.oki-figure{appearance:none;flex:0 0 52px;width:52px;height:52px;min-width:44px;min-height:44px;border:0;padding:0;background:transparent;color:var(--oki-ink);box-shadow:none;cursor:grab;touch-action:none;position:relative;border-radius:12px}
.oki-figure:active,.oki-group[data-dragging="true"] .oki-figure{cursor:grabbing}
.oki-figure img{display:block;width:calc(100% + 10px);height:calc(100% + 10px);margin:-5px;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none}
.oki-figure span{display:none}.oki-figure[data-image-error="true"]{background:var(--oki-paper)}.oki-figure[data-image-error="true"] span{display:block}
.oki-bubble{position:relative;flex:0 0 auto;width:260px;max-width:calc(100vw - 24px);max-height:160px;overflow:visible;margin:0;padding:10px 12px;border:1px solid transparent;border-radius:14px;background:var(--oki-paper);color:var(--oki-ink);box-shadow:0 5px 16px #142c3533;font:400 .875rem/1.4 system-ui,sans-serif;text-align:left}
.oki-bubble::before{content:"";position:absolute;left:-6px;top:18px;width:10px;height:10px;transform:rotate(45deg);background:var(--oki-paper)}
.oki-bubble p{margin:0;color:var(--oki-ink)!important;font:inherit;overflow-wrap:anywhere}
.oki-body{max-height:88px;overflow:auto;overscroll-behavior:contain}
.oki-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-top:4px}
.oki-actions button,.oki-settings button,.oki-settings select{font:600 .875rem/1.3 system-ui,sans-serif;min-width:44px;min-height:44px;max-width:100%;border-radius:9px;padding:8px 10px;box-shadow:none;cursor:pointer}
.oki-actions button{border:0;background:var(--oki-action);color:var(--oki-action-ink)!important}
.oki-actions .oki-close{background:transparent;color:var(--oki-ink)!important;font-size:1.4rem;margin-left:auto;padding:8px}
.oki-group[data-stacked="true"] .oki-cluster{flex-direction:column-reverse;gap:6px}
.oki-group[data-stacked="true"] .oki-bubble::before{left:18px;top:auto;bottom:-6px}
.oki-group[data-standard="true"] .oki-figure,.oki-group[data-standard="true"] .oki-bubble::before{display:none}
.oki-group[data-detail="true"] .oki-bubble{max-height:160px}
.oki-group[data-detail="true"] .oki-body{max-height:88px;overflow:auto}
.oki-root button:focus-visible,.oki-body:focus-visible,.oki-settings :focus-visible{outline:3px solid #e8a227;outline-offset:3px}
.oki-help-entry{font:inherit;min-height:44px;min-width:44px;cursor:pointer}
.oki-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.oki-settings{position:fixed;margin:auto;inset:0;max-width:min(380px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:20px;border:1px solid #6b8587;border-radius:16px;color:#20363e;background:#f4faf7;font:400 1rem/1.5 system-ui,sans-serif}
.oki-settings h2{font:600 1.1rem/1.3 system-ui,sans-serif;margin:0 0 16px;color:inherit}
.oki-settings label{display:block;margin:12px 0;color:inherit}.oki-settings select{display:block;width:100%;background:#fff;color:#20363e;border:1px solid #6b8587;margin-top:6px}
.oki-settings button{background:#e0eee7;color:#20363e;border:1px solid #6b8587;margin:3px}
.oki-settings::backdrop{background:#142c3555}
.oki-directions{display:grid;grid-template-columns:repeat(3,44px);gap:4px;justify-content:center;margin:12px 0}.oki-directions button{margin:0;padding:0}.oki-directions [data-oki-direction="up"]{grid-column:2}.oki-directions [data-oki-direction="left"]{grid-column:1;grid-row:2}.oki-directions [data-oki-direction="down"]{grid-column:2;grid-row:2}.oki-directions [data-oki-direction="right"]{grid-column:3;grid-row:2}
.oki-position-tools{position:static;pointer-events:auto;width:260px;max-width:100%;padding:8px;border:1px solid #6b8587;border-radius:12px;background:var(--oki-paper);color:var(--oki-ink);font:400 .875rem/1.4 system-ui,sans-serif}
.oki-position-tools button{min-width:44px;min-height:44px;margin:2px;border:1px solid currentColor;border-radius:8px;background:var(--oki-action);color:var(--oki-action-ink)}
@media(max-width:600px){.oki-cluster{gap:6px}.oki-figure{flex-basis:44px;width:44px;height:44px}.oki-bubble{width:min(260px,calc(100vw - 24px))}}
@media(prefers-reduced-motion:no-preference){.oki-figure[data-blink="true"] img{animation:oki-greet 450ms ease-out 1}@keyframes oki-greet{35%{transform:rotate(-3deg)}70%{transform:rotate(2deg)}}}
@media(forced-colors:active){.oki-bubble,.oki-settings,.oki-position-tools{background:Canvas;color:CanvasText;border-color:CanvasText;box-shadow:none}.oki-bubble p{color:CanvasText!important}.oki-bubble::before{background:Canvas}.oki-actions button{background:ButtonFace;color:ButtonText!important;border:1px solid ButtonText}.oki-root button:focus-visible{outline-color:Highlight}}

[data-okg-reduced-motion="true"] .oki-figure img,[data-motion="reduced"] .oki-figure img,[data-reduced-motion="true"] .oki-figure img{animation:none!important;transition:none!important}

.oki-position-tools{display:flex;align-items:center;gap:0;width:280px;padding:6px}.oki-position-tools .oki-directions{display:flex;gap:0;margin:0}.oki-position-tools button{margin:0;min-width:44px;width:44px;height:44px;padding:4px}
