.tip{--tip-bg:#111214;--tip-fg:#f2f3f5;--signal-good:#3ba55d;--signal-mid:#faa61a;--signal-bad:#ed4245;--signal-none:#8a8a8a;z-index:120;pointer-events:none;background:var(--tip-bg);max-width:280px;color:var(--tip-fg);opacity:0;overflow-wrap:anywhere;text-align:start;border-radius:8px;padding:8px 12px;font-family:Vazirmatn,system-ui,-apple-system,Segoe UI,sans-serif;font-size:12px;font-weight:500;line-height:1.7;transition:opacity .12s,transform .12s;position:fixed;box-shadow:0 8px 24px #0006,0 0 0 1px #ffffff0f}[data-theme=black] .tip{--tip-bg:#1a1a1a;box-shadow:0 8px 24px #000c,0 0 0 1px #ffffff1a}.tip[data-side=top]{transform:translateY(4px)}.tip[data-side=bottom]{transform:translateY(-4px)}.tip[data-side=left]{transform:translate(4px)}.tip[data-side=right]{transform:translate(-4px)}.tip[data-open=true]{opacity:1;transform:none}.tip-arrow{background:var(--tip-bg);border-radius:1px;width:10px;height:10px;position:absolute;transform:translate(-50%,-50%)rotate(45deg)}.tip[data-side=top]>.tip-arrow{top:100%}.tip[data-side=bottom]>.tip-arrow{top:0}.tip[data-side=left]>.tip-arrow{left:100%}.tip[data-side=right]>.tip-arrow{left:0}.tip-title{margin-bottom:2px;font-size:12px;font-weight:700;display:block}.tip-row{white-space:nowrap;align-items:center;gap:6px;display:flex}.tip-row>svg{flex-shrink:0}.tip-muted{color:#b5bac1;font-size:11px;font-weight:400}.tip-note{color:#dbdee1;white-space:normal;max-width:240px;margin-top:4px;font-size:11px;font-weight:400;display:block}.tip bdi[dir=ltr]{font-variant-numeric:tabular-nums;unicode-bidi:isolate}.tip .voice-signal{vertical-align:-2px}.tip-ok{color:var(--signal-good)}.tip-warn{color:var(--signal-mid)}.tip-bad{color:var(--signal-bad)}@media (prefers-reduced-motion:reduce){.tip{transition:none;transform:none}}
.dock-menu{z-index:70;box-sizing:border-box;overscroll-behavior:contain;border:1px solid var(--line);background:var(--dock-menu-bg,var(--surface));width:280px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);color:var(--text);box-shadow:var(--pop-shadow);text-align:start;border-radius:8px;padding:6px;font-size:14px;line-height:1.4;position:fixed;overflow:auto}.dock-menu-title{color:var(--muted);padding:6px 8px 4px;font-size:12px;font-weight:700}.dock-menu [role^=menuitem]{width:100%;min-height:32px;color:var(--text);text-align:start;border-radius:4px;align-items:center;gap:8px;padding:6px 8px;font-size:14px;display:flex}.dock-menu [role^=menuitem]:hover{background:var(--dock-button-hover,var(--surface-soft))}.dock-menu [role^=menuitem]:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}@media (forced-colors:active){.dock-menu [role^=menuitem]:focus-visible{outline-color:highlight}}.dock-menu [role^=menuitem][aria-disabled=true]{opacity:.55;cursor:default}.dock-menu [role^=menuitem]>svg{width:18px;height:18px;color:var(--muted);flex-shrink:0}.dock-menu-label{flex-direction:column;flex:1;min-width:0;display:flex}.dock-menu-label>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dock-menu-label>small{color:var(--muted);white-space:normal;font-size:12px;line-height:1.5}.dock-menu-label>small.warning{color:var(--warning)}.dock-menu-radio{box-sizing:border-box;border:2px solid var(--muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.dock-menu [aria-checked=true]>.dock-menu-radio{border-color:var(--accent)}.dock-menu [aria-checked=true]>.dock-menu-radio:after{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px}.dock-menu-separator{background:var(--line);border:0;height:1px;margin:4px 8px}.dock-menu-note{color:var(--muted);align-items:flex-start;gap:6px;padding:6px 8px;font-size:12px;line-height:1.5;display:flex}.dock-menu-note.warning{color:var(--warning)}.dock-menu-note>svg{flex-shrink:0;margin-top:1px}.dock-menu-slider{flex-direction:column;gap:4px;padding:6px 8px 8px;display:flex}.dock-menu-slider>label{color:var(--muted);justify-content:space-between;font-size:12px;font-weight:600;display:flex}.dock-menu-slider>input[type=range]{width:100%;height:24px;box-shadow:none;accent-color:var(--accent);border:0;margin:0;padding:0}@media (max-width:680px){.dock-menu [role^=menuitem]{min-height:44px}}@media (prefers-reduced-motion:no-preference){.dock-menu{animation:.12s ease-out dockMenuIn}}@keyframes dockMenuIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
