.tool-request-launcher{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));z-index:30;display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:12px 18px;border:1px solid var(--ink);border-radius:999px;background:var(--ink);color:var(--color-surface);box-shadow:0 4px 18px #252a2326;font-size:13px;font-weight:650;cursor:pointer}
.tool-request-launcher:hover{background:var(--accent);border-color:var(--accent)}
.tool-request-launcher .icon{width:18px;height:18px}
.tool-request-dialog{position:fixed;inset:0;margin:auto;width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:28px;border:1px solid var(--line);border-radius:20px;background:var(--color-surface);color:var(--ink);box-shadow:0 24px 90px #151a2133;overflow:auto;overscroll-behavior:contain}
.tool-request-dialog::backdrop{background:#1c231d70}
body:has(.tool-request-dialog[open]){overflow:hidden}
.tool-request-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.tool-request-symbol{display:grid;place-items:center;width:40px;height:40px;background:var(--color-result-bg);border-radius:12px;color:var(--accent)}
.tool-request-close{display:grid;place-items:center;min-width:44px;min-height:44px;border-radius:10px;color:var(--muted);cursor:pointer}
.tool-request-close:hover{background:var(--color-result-bg);color:var(--ink)}
.tool-request-dialog h2{font-size:24px;line-height:1.4;letter-spacing:-.04em;margin:0 0 8px}
#tool-request-intro{font-size:13px;line-height:1.7;margin-bottom:24px;color:var(--muted)}
.tool-request-field{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;font-weight:600;margin-top:18px}
.tool-request-field>span{color:var(--accent)}
.tool-request-field input,.tool-request-field textarea{width:100%;font-size:14px;font-weight:400;line-height:1.6}
.tool-request-field textarea{min-height:120px;resize:vertical}
.tool-request-limit{text-align:right;font-size:11px;color:var(--muted);margin-top:6px}
.tool-request-privacy{font-size:12px;line-height:1.8;margin:18px 0;color:var(--muted)}
.tool-request-privacy a{text-decoration:underline;text-underline-offset:3px}
.tool-request-submit{width:100%;justify-content:center;gap:8px;margin-top:8px;min-height:48px}
.tool-request-submit:disabled{opacity:.65;cursor:wait}
.tool-request-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.tool-request-success{text-align:center;padding:20px 0 8px}
.tool-request-success>span{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--color-result-bg);color:var(--accent);margin-bottom:18px}
.tool-request-success h3{font-size:19px;line-height:1.5;margin-bottom:10px}
.tool-request-success p{font-size:13px;color:var(--muted);margin-bottom:24px}
.tool-request-success button{min-width:120px}
.compact-footer{padding-bottom:100px}
.tool-request-launcher:focus-visible,.tool-request-dialog :focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:600px){.tool-request-launcher{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));min-height:46px;padding:10px 16px;font-size:12px}.tool-request-dialog{padding:22px 20px;border-radius:16px}.tool-request-dialog h2{font-size:22px}}
