.pattalium-controller-active :focus { outline: 3px solid #dcc4ff !important; outline-offset: 4px !important; }
.ptl-pad-hint, .ptl-pad-help, .ptl-pad-keyboard { color-scheme: dark; font: 400 14px/1.5 system-ui,sans-serif; color: #f1ecfa; background: #21182c; border: 1px solid #8a739f; box-shadow: 0 8px 32px #0008; }
.ptl-pad-hint { position: fixed; z-index: 2147483000; bottom: max(14px, env(safe-area-inset-bottom)); right: max(14px, env(safe-area-inset-right)); max-width: min(340px,calc(100vw - 28px)); padding: 10px 14px; min-height: 44px; border-radius: 8px; cursor: pointer; }
.ptl-pad-hint[hidden] { display: none; }
.ptl-pad-cursor { pointer-events:none; position:fixed; z-index:2147483003; width:20px; height:20px; border:2px solid #fff; outline:2px solid #533773; border-radius:50%; transform:translate(-50%,-50%); box-shadow:0 0 18px #a877d4; }
.ptl-pad-help { z-index: 2147483001; width: min(440px,calc(100vw - 32px)); max-height: calc(100dvh - 40px); overflow: auto; padding: 28px; border-radius: 14px; }
.ptl-pad-help::backdrop { background: #08050ccd; }
.ptl-pad-help h2 { margin: 0 0 20px; color: inherit; font: 600 23px/1.2 system-ui,sans-serif; }
.ptl-pad-help dl { display: grid; grid-template-columns: 1fr 1.35fr; gap: 12px; }
.ptl-pad-help dt { color: #dcc4ff; font-weight: 600; }
.ptl-pad-help dd { margin: 0; }
.ptl-pad-help p { color: #c9bbd8; margin: 20px 0; }
.ptl-pad-help button, .ptl-pad-keyboard button { font: inherit; color: #fff; background: #3e2f50; border: 1px solid #8a739f; border-radius: 5px; min-height: 44px; padding: 8px 12px; cursor: pointer; }
.ptl-pad-help button:hover, .ptl-pad-keyboard button:hover { background: #5b436f; }
.ptl-pad-keyboard { position: fixed; z-index: 2147483002; bottom: max(10px, env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%); width: min(650px,calc(100vw - 20px)); padding: 14px; border-radius: 12px; }
.ptl-pad-keyboard p { margin: 0 0 12px; }
.ptl-pad-key-row { display: flex; gap: 5px; justify-content: center; margin-block: 5px; }
.ptl-pad-key-row button { flex: 1 1 0; min-width: 0; padding: 6px 2px; }
@media (max-width:420px) { .ptl-pad-keyboard { padding: 9px; } .ptl-pad-key-row { gap: 3px; } }
