body { padding-top:44px; }
.site-header { top:44px; }
.site-tools { --tools-blue:#102b46; --tools-gold:#d2aa64; color:#15283c; font:15px/1.6 "DM Sans",Arial,sans-serif; }
.tools-language-bar { position:fixed; inset:0 0 auto; z-index:1100; height:44px; background:#0b1d30; color:#f7f3e9; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 28px; font:12px/1.4 "DM Sans",Arial,sans-serif; border-bottom:1px solid #ffffff1f; }
.tools-language-caption { letter-spacing:.04em; }
.tools-language-control { display:flex; align-items:center; gap:10px; }
.site-tools .tools-language-control label { margin:0; }
.site-tools .tools-language-control select { width:auto; min-height:32px; padding:3px 24px 3px 8px; background:#19334c; color:#fff; border:1px solid #496079; border-radius:5px; font-size:12px; }
.site-tools .tools-language-control a { color:#ead2a1; margin:0; font-size:12px; }
.tools-language-note { color:#c4cfda; font-size:11px; }
.site-tools .tools-fab { position:fixed; bottom:22px; z-index:1050; display:flex; align-items:center; gap:10px; color:#fff; background:var(--tools-blue); border:1px solid #ffffff80; border-radius:40px; padding:9px 18px 9px 9px; box-shadow:0 5px 24px #07131e40; cursor:pointer; font:600 14px/1.4 "DM Sans",Arial,sans-serif; min-height:54px; }
.tools-access-launch { right:22px; }
.tools-chat-launch { left:22px; }
.tools-fab-icon { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:#ffffff15; font-size:23px; color:#e8cd96; }
.site-tools .tools-currency-launch { position:fixed; right:0; top:46%; z-index:1050; display:grid; justify-items:center; gap:1px; width:68px; padding:12px 5px; border:1px solid #d8c49e; border-right:0; border-radius:14px 0 0 14px; background:#fffdf8; color:#102b46; box-shadow:-3px 4px 18px #102b4620; cursor:pointer; font:700 13px/1.4 "DM Sans",Arial,sans-serif; }
.tools-currency-launch>span:first-child { font-size:23px; color:#8a6631; }
.tools-currency-launch small { font-size:10px; font-weight:400; }
.site-tools .tools-panel { position:fixed; inset:auto; margin:0; width:min(390px,calc(100% - 28px)); max-height:calc(100dvh - 120px); padding:0; overflow:auto; color:#15283c; background:#fffdf9; border:1px solid #dfd7c8; border-radius:20px; box-shadow:0 18px 65px #07131e45; }
.site-tools .tools-panel::backdrop { background:#07131e33; }
.site-tools .tools-access-panel { bottom:88px; right:22px; }
.site-tools .tools-chat-panel { bottom:88px; left:22px; width:min(390px,calc(100% - 28px)); }
.site-tools .tools-currency-panel { right:82px; top:50%; transform:translateY(-50%); }
.tools-panel-header { display:flex; align-items:center; gap:12px; padding:21px 22px; background:#102b46; color:#fff; }
.tools-panel-header h2 { margin:3px 0 0; color:#fff; font:600 23px/1.3 "DM Sans",Arial,sans-serif; }
.tools-eyebrow { font-size:9px; font-weight:700; letter-spacing:.16em; color:#e7cb95; }
.site-tools .tools-panel-header [data-close] { flex-shrink:0; margin-left:auto; width:36px; height:36px; min-height:36px; padding:0; color:#fff; background:#ffffff12; border:1px solid #ffffff45; border-radius:50%; font-size:25px; cursor:pointer; }
.tools-panel-content { padding:20px 22px; }
.site-tools p { font-size:14px; margin:0 0 16px; }
.site-tools label { display:block; font-size:13px; font-weight:600; margin:12px 0 6px; }
.site-tools input:not([type=checkbox]),.site-tools select,.site-tools textarea { width:100%; min-height:44px; padding:10px; font:inherit; color:#15283c; background:#fff; border:1px solid #9daebd; border-radius:9px; }
.site-tools input[type=checkbox] { width:18px; height:18px; accent-color:#102b46; }
.tools-access-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:16px 0; }
.site-tools .tools-preference { position:relative; display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin:0; min-height:90px; padding:12px; border:1px solid #d8dfdf; border-radius:12px; background:#fff; font-size:12px; cursor:pointer; }
.tools-preference>span { font-size:25px; width:100%; color:#31516d; line-height:1; }
.tools-preference:has(input:checked) { border-color:#102b46; background:#eaf1f6; }
.site-tools .tools-primary,.site-tools .tools-secondary { width:100%; min-height:44px; margin:14px 0 0; padding:10px 14px; border-radius:9px; font:600 14px/1.5 "DM Sans",Arial,sans-serif; cursor:pointer; }
.site-tools .tools-primary { color:#fff; background:#102b46; border:1px solid #102b46; display:flex; align-items:center; justify-content:space-between; }
.site-tools .tools-secondary { color:#102b46; background:transparent; border:1px solid #bdc9d2; }
.site-tools button:disabled { opacity:.6; cursor:wait; }
.site-tools a { color:#24597c; text-decoration:underline; text-underline-offset:3px; }
.tools-support-link { display:block; font-size:11px; margin-top:16px; }
.site-tools .tools-disclaimer { font-size:11px; color:#596b7a; line-height:1.7; }
.site-tools .tools-conversion:not(:empty) { padding:12px; background:#edf4f1; border-radius:10px; margin:16px 0; color:#234b3b; }
.tools-avatar { flex-shrink:0; display:grid; place-items:center; width:42px; height:42px; border-radius:50%; border:1px solid #d2aa6480; color:#e8cd96; font-family:Georgia,serif; font-size:20px; }
.tools-chat-header h2 { font-size:19px; }
.tools-chat-status { color:#c3dbcd; font-size:11px; }
.tools-chat-status::before { content:''; display:inline-block; width:6px; height:6px; background:#a8d4ad; border-radius:50%; margin-right:5px; }
.site-tools .tools-chat-intro { font-size:16px; font-weight:600; }
.tools-chat-prompts { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px; }
.site-tools .tools-chat-prompts button { border:1px solid #becbd5; border-radius:20px; background:#fff; color:#274962; padding:7px 10px; min-height:36px; cursor:pointer; font:12px/1.4 "DM Sans",Arial,sans-serif; }
.site-tools [data-chat-log] { max-height:200px; overflow:auto; overflow-wrap:anywhere; }
.site-tools [data-chat-log] p { font-size:13px; border-radius:12px 12px 12px 2px; padding:12px; white-space:pre-wrap; background:#edf1f4; margin:0 20px 10px 0; }
.site-tools [data-chat-log] .tools-message-user { color:#fff; background:#274861; margin:0 0 10px 20px; border-radius:12px 12px 2px 12px; }
.tools-chat-compose { display:flex; align-items:end; border:1px solid #9daebd; border-radius:12px; background:#fff; padding:5px; }
.site-tools .tools-chat-compose textarea { border:0; resize:vertical; min-height:54px; max-height:140px; padding:8px; font-size:13px; background:transparent; }
.site-tools .tools-chat-compose button { width:40px; height:40px; flex-shrink:0; margin:0 0 3px; justify-content:center; font-size:22px; padding:0; }
.site-tools .tools-clear { padding:6px 0; min-height:36px; margin-top:8px; font-size:11px; color:#586c7c; background:transparent; border:0; text-decoration:underline; cursor:pointer; }
:focus-visible { outline:3px solid #0071c2 !important; outline-offset:4px; }
html.tools-links a { text-decoration:underline !important; text-underline-offset:.2em; }
html.tools-spacing body { line-height:1.8 !important; letter-spacing:.08em !important; word-spacing:.12em !important; }
html.tools-spacing p,html.tools-spacing li { line-height:1.8 !important; }
html.tools-contrast body,html.tools-contrast body *:not(img):not(svg):not(path):not(video) { background-color:#000 !important; background-image:none !important; color:#fff !important; border-color:#fff !important; }
html.tools-contrast a { color:#ffeb5b !important; }
html.tools-motion *,html.tools-motion *::before,html.tools-motion *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
html.tools-motion .reveal { opacity:1 !important; transform:none !important; }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none !important; transition:none !important; } }
@media(max-width:600px) { .tools-language-bar { padding:0 12px; justify-content:flex-end; } .tools-language-caption,.tools-language-note { display:none; } .tools-language-control { gap:7px; } .tools-access-launch { right:12px; } .tools-chat-launch { left:12px; } .site-tools .tools-fab { bottom:12px; padding:6px 12px 6px 6px; min-height:48px; font-size:12px; gap:6px; } .tools-fab-icon { width:32px; height:32px; font-size:20px; } .site-tools .tools-currency-launch { width:54px; padding:9px 4px; } .site-tools .tools-panel { width:calc(100% - 24px); max-height:calc(100dvh - 136px); } .site-tools .tools-access-panel,.site-tools .tools-chat-panel { bottom:74px; left:12px; right:12px; } .site-tools .tools-currency-panel { right:12px; top:50%; } .tools-panel-header { padding:18px; } .tools-panel-content { padding:18px; } }
html.tools-readable body,html.tools-readable body *:not(svg):not(path) { font-family:Arial,"Segoe UI",sans-serif !important; }
html.tools-grayscale body > :not(.site-tools) { filter:grayscale(1); }
html.tools-images body > :not(.site-tools) img,html.tools-images body > :not(.site-tools) video { visibility:hidden !important; }
html.tools-images body > :not(.site-tools),html.tools-images body > :not(.site-tools) * { background-image:none !important; }
html.tools-cursor body,html.tools-cursor body * { cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='44' viewBox='0 0 36 44'%3E%3Cpath d='M3 3v32l9-8 7 14 7-4-7-13 13-2z' fill='black' stroke='white' stroke-width='3'/%3E%3C/svg%3E") 3 3,auto !important; }
.tools-reading-guide { position:fixed; top:50%; left:0; right:0; height:3px; background:#f4b942; box-shadow:0 -10px 0 10px #f4b94219; pointer-events:none; z-index:2147483000; }
.tools-reading-guide[hidden] { display:none; }
html.tools-headings h1,html.tools-headings h2,html.tools-headings h3,html.tools-headings h4 { outline:2px solid #bb7d14; outline-offset:5px; }
.tools-chat-actions { display:flex; flex-wrap:wrap; gap:6px; margin:8px 0 16px; }
.tools-chat-actions a { border:1px solid #abbecb; padding:7px 10px; border-radius:18px; font-size:11px; background:#fff; }
.site-tools .tools-chat-pending { opacity:.75; font-style:italic; }
html[dir=rtl] .site-nav,html[dir=rtl] .side-nav,html[dir=rtl] .atelier-copy,html[dir=rtl] .memoir-copy { text-align:right; }
html[dir=rtl] .tools-language-control { direction:ltr; }
.tools-language-note { max-width:260px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tools-translation-retry { border:1px solid #e7cb95; border-radius:5px; padding:4px 8px; color:#fff; background:#19334c; font-size:11px; cursor:pointer; }
.tools-translation-retry[hidden],.tools-translation-notice[hidden] { display:none !important; }
.site-tools .tools-translation-notice { position:fixed; bottom:16px; left:50%; transform:translateX(-50%); width:min(460px,calc(100% - 380px)); z-index:1040; background:#fffef5; border:1px solid #c9b88c; border-radius:8px; padding:8px 12px; margin:0; color:#35485b; font-size:10px; line-height:1.5; }
@media(max-width:700px) { .site-tools .tools-translation-notice { width:calc(100% - 24px); bottom:74px; font-size:10px; } }
.site-tools .tools-panel { max-height:calc(100dvh - 156px); }
@media print { body { padding-top:0; } .site-tools { display:none !important; } }
/* Standalone chat layout: fixed header and composer, one scrollable transcript. */
.site-tools .tools-chat-panel[open] { display:flex; flex-direction:column; height:min(650px,calc(100dvh - 156px)); max-height:calc(100dvh - 156px); overflow:hidden; background:#f6f8fa; border:1px solid #c4d1db; box-shadow:0 20px 70px #07131e55; }
.tools-chat-panel .tools-chat-header { flex:0 0 auto; padding:19px 20px; background:linear-gradient(120deg,#102b46,#1d405b); }
.tools-chat-panel .tools-chat-body { display:flex; flex-direction:column; min-height:0; flex:1; overflow:hidden; padding:0; }
.tools-chat-welcome { padding:16px 20px 8px; flex:0 0 auto; }
.tools-chat-welcome strong { font-size:17px; color:#163249; }
.site-tools .tools-chat-welcome p { color:#64798b; font-size:12px; margin:3px 0 0; }
.tools-chat-panel .tools-chat-prompts { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin:0; padding:0 18px 12px; flex:0 0 auto; }
.site-tools .tools-chat-panel .tools-chat-prompts button { display:flex; align-items:center; justify-content:space-between; gap:4px; min-height:36px; padding:8px 10px; border-radius:8px; border:1px solid #d5dfe7; color:#234760; background:#fff; text-align:start; font-size:11px; }
.site-tools .tools-chat-panel .tools-chat-prompts button:hover { border-color:#8ca9bf; background:#edf3f7; }
.site-tools .tools-chat-panel [data-chat-log] { flex:1 1 auto; min-height:100px; max-height:none; overflow-y:auto; padding:8px 18px 12px; scroll-behavior:smooth; scrollbar-width:thin; scrollbar-color:#afbfcc transparent; }
.tools-chat-bubble { max-width:93%; padding:11px 13px; border-radius:13px 13px 13px 3px; margin:0 20px 12px 0; background:#fff; border:1px solid #e0e7ed; box-shadow:0 2px 5px #102b4605; }
.tools-chat-bubble-user { margin:0 0 12px 24px; background:#173a55; border-color:#173a55; border-radius:13px 13px 3px 13px; color:#fff; }
.tools-message-author { display:block; font-size:9px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:#627e93; margin-bottom:5px; }
.tools-chat-bubble-user .tools-message-author { color:#c7ddeb; }
.site-tools .tools-chat-panel [data-chat-log] .tools-chat-bubble p { background:transparent; padding:0; margin:0; border:0; font-size:13px; line-height:1.75; white-space:pre-wrap; }
.tools-chat-panel .tools-chat-actions { display:grid; gap:6px; margin:10px 0 0; }
.tools-chat-panel .tools-chat-actions a { padding:7px 9px; color:#214b68; background:#f0f5f8; border:1px solid #d2dfe8; border-radius:7px; text-decoration:none; font-weight:600; font-size:11px; }
.tools-chat-panel .tools-chat-footer { flex:0 0 auto; padding:12px 16px 10px; border-top:1px solid #dce4eb; background:#fff; }
.tools-chat-panel .tools-chat-compose { align-items:center; border:1px solid #b7c8d6; padding:4px 6px; border-radius:12px; box-shadow:0 1px 5px #102b4608; }
.tools-chat-panel .tools-chat-compose:focus-within { border-color:#2d6d9b; box-shadow:0 0 0 3px #2d6d9b12; }
.site-tools .tools-chat-panel .tools-chat-compose textarea { min-height:44px; height:44px; max-height:104px; resize:none; padding:11px 8px; font-size:13px; line-height:1.6; }
.site-tools .tools-chat-panel .tools-chat-compose textarea:focus-visible { outline:none !important; }
.site-tools .tools-chat-panel .tools-chat-compose button { width:36px; height:36px; min-height:36px; margin:0; border-radius:9px; }
.site-tools .tools-chat-panel .tools-chat-compose button:disabled { opacity:.35; cursor:default; }
.tools-chat-footer-row { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.tools-chat-footer-row [data-chat-count] { font-size:10px; color:#718491; }
.site-tools .tools-chat-panel .tools-clear { min-height:28px; margin:3px 0 0; padding:3px 0; font-size:10px; }
.site-tools .tools-chat-panel .tools-chat-privacy { font-size:9px; line-height:1.5; margin:3px 0; color:#697e8e; }
.tools-chat-email { display:inline-block; color:#315d79; font-size:10px; }
.tools-chat-error { flex:0 0 auto; margin:0 16px 10px; padding:9px 11px; background:#fff3e4; border:1px solid #e4be8e; border-radius:8px; color:#6f4016; font-size:12px; }
.tools-chat-error[hidden] { display:none; }
.tools-chat-error button { display:block; background:none; color:#78440f; border:0; text-decoration:underline; font:600 12px/1.5 Arial,sans-serif; cursor:pointer; padding:4px 0; }
.tools-chat-typing { display:flex; align-items:center; gap:5px; font-size:11px; color:#536e82; padding:10px 4px; }
.tools-chat-typing span { width:5px; height:5px; border-radius:50%; background:#69879d; animation:chat-dot 1.1s ease-in-out infinite; }
.tools-chat-typing span:nth-child(2) { animation-delay:.15s; }.tools-chat-typing span:nth-child(3) { animation-delay:.3s; }
@keyframes chat-dot { 0%,80%,100% { opacity:.3; transform:translateY(0); }40% { opacity:1; transform:translateY(-3px); } }
.tools-sr-only { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
@media(max-width:600px) { .site-tools .tools-chat-panel[open] { height:min(650px,calc(100dvh - 130px)); max-height:calc(100dvh - 130px); } .tools-chat-panel .tools-chat-header { padding:15px 16px; } .tools-chat-welcome { padding:12px 16px 6px; } .tools-chat-welcome strong { font-size:15px; } .tools-chat-panel .tools-chat-prompts { padding:0 14px 9px; } .site-tools .tools-chat-panel [data-chat-log] { padding-inline:14px; } }
@media(max-height:650px) { .tools-chat-welcome { display:none; } .tools-chat-panel .tools-chat-prompts { padding-top:10px; } }
.tools-chat-panel.chat-has-messages .tools-chat-welcome,.tools-chat-panel.chat-has-messages .tools-chat-prompts { display:none; }
.site-tools .tools-chat-panel [data-chat-log] { position:relative; }
.tools-chat-panel.chat-has-messages [data-chat-log] { padding-top:16px; }
