/* Scoped to Nim; existing site typography, content, and discoveries are preserved. */
.nim-dock{position:fixed;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:35;width:68px;height:84px;pointer-events:none}
.nim-trigger{display:block;width:68px;height:84px;padding:0;border:0;background:transparent;cursor:pointer;pointer-events:auto;color:#efddb4;border-radius:9px}
.nim-trigger svg{width:60px;height:70px;overflow:visible;filter:drop-shadow(0 0 5px #e8c27635)}
.nim-trigger .nim-label{display:block;font:12px/1 system-ui,sans-serif;letter-spacing:.06em;color:#d3c6ab;margin-top:-5px}
.nim-trigger:hover{background:#111c2ae8}.nim-trigger:hover svg{filter:drop-shadow(0 0 7px #e8c27666)}
.nim-dock[hidden],.nim-panel[hidden],.nim-panel:not([open]){display:none!important}
.nim-book,.nim-headphones,.nim-envelope,.nim-mechanism,.nim-spark{display:none}
.nim-trigger[data-pose="reading"] .nim-book,.nim-trigger[data-pose="headphones"] .nim-headphones,.nim-trigger[data-pose="listening"] .nim-headphones,.nim-trigger[data-pose="envelope"] .nim-envelope,.nim-trigger[data-pose="inspecting"] .nim-mechanism{display:block}
.nim-trigger[data-pose="reading"] .nim-head{transform:rotate(8deg);transform-origin:48px 40px}
.nim-trigger[data-pose="curious"] .nim-head{transform:rotate(-8deg);transform-origin:48px 40px}
.nim-trigger[data-pose="warm"] .nim-smile{stroke-width:2}
.nim-trigger[data-pose="wave"] .nim-right-arm{transform:rotate(-115deg);transform-origin:58px 52px}
.nim-trigger[data-motion="greet"] .nim-right-arm{animation:nim-wave 1.4s ease-in-out 1;transform-origin:58px 52px}
.nim-trigger[data-motion="inspect"] .nim-mechanism{animation:nim-inspect 1.6s ease-in-out 1;transform-origin:77px 49px}
.nim-trigger[data-motion="sway"] .nim-figure{animation:nim-sway 1.6s ease-in-out 1;transform-origin:48px 75px}
.nim-trigger[data-motion="spark"] .nim-spark{display:block;animation:nim-spark 1.5s ease-out 1}
.nim-trigger[data-motion="spark"] .nim-right-arm{animation:nim-wave 1.4s ease-in-out 1;transform-origin:58px 52px}
@keyframes nim-wave{0%,100%{transform:rotate(0)}30%,65%{transform:rotate(-115deg)}45%{transform:rotate(-85deg)}}
@keyframes nim-inspect{0%,100%{transform:rotate(0)}45%{transform:rotate(160deg)}75%{transform:rotate(120deg)}}
@keyframes nim-sway{0%,100%{transform:rotate(0)}30%{transform:rotate(-7deg)}65%{transform:rotate(7deg)}}
@keyframes nim-spark{0%{opacity:0;transform:translate(6px,-7px)}30%{opacity:1;transform:none}100%{opacity:0;transform:translate(-20px,32px) scale(.4)}}
.nim-panel{position:fixed;inset:auto 16px 104px auto;margin:0;width:min(440px,calc(100% - 24px));max-width:none;max-height:min(720px,calc(100dvh - 128px));padding:0;overflow:auto;overscroll-behavior:contain;color:#eee8d9;background:linear-gradient(150deg,#1a2638,#0e1725 70%);border:1px solid #ad925d80;border-radius:12px;box-shadow:0 20px 70px #0009;z-index:70;scrollbar-color:#78684e #111b2b;box-sizing:border-box;text-align:left}
.nim-panel *{box-sizing:border-box}.nim-panel button,.nim-restore{font:inherit;cursor:pointer}
.nim-panel .nim-heading{position:sticky;top:0;z-index:1;padding:18px 22px 14px;background:#172234;border-bottom:1px solid #a58b5838;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.nim-panel h2{font:32px/1.1 Georgia,serif;color:#e8ca8c;margin:0 0 5px;letter-spacing:0}
.nim-panel .nim-tagline{font:13px/1.5 system-ui,sans-serif;color:#c9c3b8;margin:0}
.nim-panel .nim-close{border:0;background:none;color:#e5d8bd;min-width:44px;min-height:44px;padding:0;font-size:24px}
.nim-panel .nim-body{padding:18px 22px 22px;font:16px/1.6 system-ui,sans-serif}
.nim-panel p{font:inherit;line-height:1.65;color:#d9d7d3;margin:0 0 16px;max-width:none}
.nim-panel .nim-disclosure{font-size:13px;color:#c0c8d4;border-left:2px solid #aa8d56;padding-left:12px}
.nim-panel .nim-tools,.nim-panel .nim-pills{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.nim-panel .nim-button{border:1px solid #9e88545c;border-radius:5px;padding:9px 12px;min-height:44px;background:#202e42;color:#eadbbd;font:14px/1.4 system-ui,sans-serif;text-align:left;max-width:100%;overflow-wrap:anywhere}
.nim-panel .nim-button:hover{background:#2d3d52;border-color:#d5b16c}.nim-panel .nim-primary{background:#d3b477;color:#111a28;border-color:#d3b477}
.nim-panel #nim-search{padding:0;border:0;background:none;box-shadow:none;margin:0;max-width:none}
.nim-panel .nim-search-label{display:block;font-size:15px;color:#eadbbd;margin:22px 0 8px}
.nim-panel .nim-search-row{display:flex;gap:8px}.nim-panel input{width:100%;min-width:0;background:#0c1523;color:#f4ecdd;border:1px solid #7b7568;border-radius:5px;padding:11px;font:16px/1.4 system-ui,sans-serif;margin:0;min-height:46px}
.nim-panel input::placeholder{color:#adb4c1}.nim-panel .nim-search-row button{flex-shrink:0}
.nim-panel details{margin-top:18px;border-top:1px solid #aa8d5633;padding-top:12px}.nim-panel summary{cursor:pointer;color:#dec598;font-size:15px;min-height:44px;line-height:44px}
.nim-panel .nim-question{display:block;width:100%;margin:6px 0;padding:10px 12px;background:#182639;border:1px solid #a58b5840;color:#e4d9c3;border-radius:5px;text-align:left;font-size:14px;line-height:1.5;min-height:44px}
.nim-panel .nim-question:hover{background:#25364b}.nim-panel .nim-result{margin-top:20px;padding:18px;border:1px solid #a58b5860;border-radius:6px;background:#0c1523}
.nim-panel h3{font:21px/1.35 Georgia,serif;letter-spacing:0;color:#ead5a9;margin:0 0 14px}.nim-panel .nim-result p{white-space:pre-line;overflow-wrap:anywhere}.nim-panel .nim-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin:12px 0}.nim-panel .nim-links a{color:#e4c789;text-underline-offset:4px;text-decoration:underline;font-size:15px;line-height:1.7}
.nim-panel .nim-result-label{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#b5c6db;margin-bottom:12px}
.nim-panel .nim-controls{border-top:1px solid #aa8d5633;margin-top:24px;padding-top:14px}.nim-panel .nim-local{font-size:13px;color:#aeb9c9;margin:14px 0 0}.nim-panel .nim-fiction{white-space:pre-line}
.nim-panel :is(button,a,input,summary):focus-visible,.nim-trigger:focus-visible,.nim-restore:focus-visible{outline:2px solid #f2d79f;outline-offset:3px}
.nim-restore{border:0;background:none;color:#d6bd8b;text-decoration:underline;text-underline-offset:4px;padding:8px;min-height:44px;font-size:14px;display:inline-block}
.nim-status{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.nim-hello-note{position:absolute;right:80px;bottom:8px;width:min(230px,calc(100vw - 105px));padding:14px;background:#1c2a3e;border:1px solid #ad925d70;border-radius:8px;color:#e6dac1;font:14px/1.5 system-ui,sans-serif;pointer-events:none}.nim-hello-note[hidden]{display:none}
@media(max-width:600px){.nim-panel{right:12px;bottom:94px;max-height:calc(100dvh - 110px)}.nim-panel .nim-body{padding:16px}.nim-panel .nim-heading{padding:16px}.nim-trigger{width:60px;height:76px}.nim-trigger svg{width:52px;height:61px}.nim-dock{width:60px;height:76px;right:8px;bottom:max(8px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.nim-dock *{animation:none!important;transition:none!important}}
.nim-dock[data-still="true"] *{animation:none!important;transition:none!important}
@media print{.nim-dock,.nim-panel,.nim-restore{display:none!important}}

/* Conversation controls extend the existing companion without changing its artwork. */
.nim-mode{font-weight:700;margin:.4rem 0}.nim-allowance,.nim-ai-notice{font-size:.875rem;line-height:1.5}.nim-consent{margin:.75rem 0}.nim-consent summary{cursor:pointer;font-size:.875rem}.nim-consent p{font-size:.875rem;line-height:1.5}.nim-verification{max-width:100%;overflow:hidden}.nim-results .nim-result+.nim-result{margin-top:1rem;border-top:1px solid #6b604d;padding-top:1rem}.nim-panel button:disabled{opacity:.55;cursor:not-allowed}.nim-results{overflow-wrap:anywhere}

/* Living Nim: the outer button owns position; SVG groups own posture. */
.nim-dock{width:auto;height:44px;display:flex;gap:6px;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));pointer-events:none;z-index:75}
.nim-call,.nim-pause{pointer-events:auto;min-height:44px;min-width:44px;border:1px solid #ac945c99;border-radius:8px;background:#111c2af5;color:#ecdbb2;padding:9px 12px;font:14px/1.3 system-ui;cursor:pointer}
.nim-call:hover,.nim-pause:hover{background:#293950}.nim-call:focus-visible,.nim-pause:focus-visible{outline:2px solid #f2d79f;outline-offset:3px}
.nim-pause[hidden]{display:none}
.nim-actor{position:fixed;left:0;top:0;right:auto;bottom:auto;width:80px;height:80px;z-index:72;padding:0;display:grid;place-items:center;touch-action:manipulation;pointer-events:auto;will-change:transform}
.nim-actor[hidden]{display:none!important}.nim-actor svg{width:68px;height:80px;overflow:visible;pointer-events:none;filter:drop-shadow(0 0 3px #e8c27635)}
.nim-actor:hover{background:transparent}.nim-actor:hover svg{filter:drop-shadow(0 0 3px #e8c27655)}
.nim-actor .nim-head{transform-origin:48px 35px}.nim-actor .nim-figure{transform-origin:48px 55px}.nim-actor .nim-trail{transform-origin:48px 65px}.nim-actor .nim-eyes{transform-origin:48px 32px}.nim-actor .nim-legs{transform-origin:48px 76px}
.nim-actor .nim-left-arm{transform-origin:38px 52px}.nim-actor .nim-right-arm{transform-origin:58px 52px}.nim-actor .nim-book,.nim-actor .nim-page{transform-origin:48px 65px}.nim-actor .nim-ring{transform-origin:48px 52px;display:none}.nim-actor .nim-envelope{transform-origin:48px 70px}.nim-actor .nim-flap{transform-origin:48px 60px}.nim-actor .nim-mechanism{transform-origin:77px 49px}.nim-actor .nim-spark{transform-origin:75px 27px}
.nim-actor[data-activity="spark"] .nim-spark,.nim-actor[data-activity="distracted"] .nim-spark,.nim-actor[data-activity="distracted"] .nim-mechanism,.nim-actor[data-activity="inspect"] .nim-mechanism,.nim-actor[data-activity="read"] .nim-book,.nim-actor[data-activity="music"] .nim-headphones,.nim-actor[data-activity="envelope"] .nim-envelope,.nim-actor[data-activity="ring"] .nim-ring{display:block}
.nim-actor[data-activity="innocent"] .nim-smile{stroke-width:2}.nim-actor[data-activity="innocent"] .nim-head{transform:rotate(-10deg)}
.nim-actor[data-activity="stretch"] .nim-right-arm{transform:rotate(-145deg)}.nim-actor[data-activity="stretch"] .nim-left-arm{transform:rotate(145deg)}
.nim-actor[data-behavior="traveling"] .nim-ledge{opacity:0}
.nim-panel{bottom:120px;max-height:calc(100dvh - 136px)}
.nim-motion-label{display:block;width:100%;font-size:14px;color:#e4d9c3}.nim-panel #nim-motion{width:100%;min-height:44px;font:14px/1.5 system-ui;background:#142238;color:#eee8d9;padding:10px;border:1px solid #9e88547f;border-radius:5px;white-space:normal}
.nim-panel select:focus-visible{outline:2px solid #f2d79f;outline-offset:3px}
.nim-actor[data-still="true"],.nim-actor[data-still="true"] *{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.nim-actor:not([data-motion-override="true"]),.nim-actor:not([data-motion-override="true"]) *{animation:none!important;transition:none!important}}
@media(max-width:600px){.nim-dock{right:8px;bottom:max(8px,env(safe-area-inset-bottom));width:auto;height:44px}.nim-actor{width:80px;height:80px}.nim-actor svg{width:68px;height:80px}.nim-call,.nim-pause{font-size:14px;padding:8px}.nim-panel{bottom:120px}}
@media print{.nim-actor{display:none!important}}

/* Always-visible corner companion; pause and motion settings live in his panel. */
.nim-dock{width:80px;height:80px;display:block}
.nim-actor{left:auto;top:auto;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));z-index:76}
.nim-actor[style*="transform"]{left:0;top:0;right:auto;bottom:auto}
@media(max-width:600px){.nim-dock{width:80px;height:80px}}

/* The SVG floats continuously; inner groups independently perform gestures. */
.nim-actor[data-ambient="lively"] svg{animation:nim-living-float 3.8s ease-in-out infinite,nim-living-glow 5s ease-in-out infinite}
.nim-actor[data-ambient="calm"] svg{animation:nim-calm-float 6s ease-in-out infinite}
.nim-actor[data-ambient="lively"] .nim-trail{animation:nim-living-tail 2.8s ease-in-out infinite}
.nim-actor[data-ambient="lively"] .nim-ledge{opacity:0}
@keyframes nim-living-float{0%,100%{transform:translate(0,-2px) rotate(-4deg)}30%{transform:translate(-6px,-12px) rotate(5deg)}65%{transform:translate(3px,-6px) rotate(-2deg)}}
@keyframes nim-calm-float{0%,100%{transform:translateY(-2px)}50%{transform:translateY(-6px)}}
@keyframes nim-living-tail{0%,100%{transform:rotate(-9deg) scaleX(.85);opacity:.65}50%{transform:rotate(12deg) scaleX(1.12);opacity:1}}
@keyframes nim-living-glow{0%,100%{filter:drop-shadow(0 0 3px #e8c27655)}50%{filter:drop-shadow(0 0 8px #e8c27699)}}

/* Conversation-first panel: only the transcript scrolls; writing stays in reach. */
.nim-dock{width:80px;height:80px}
.nim-call{position:absolute;right:0;bottom:0;white-space:nowrap;font-size:14px}
.nim-panel[open]{display:flex;flex-direction:column;height:min(680px,calc(100dvh - 155px));overflow:hidden}
.nim-panel .nim-heading{position:static;flex:none;padding:14px 18px}
.nim-panel h2{font-size:28px;margin-bottom:2px}
.nim-panel .nim-tagline{font-size:14px}
.nim-panel .nim-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px 18px}
.nim-panel .nim-disclosure{font-size:14px;line-height:1.5;border:0;padding:0;margin-bottom:12px}
.nim-panel .nim-composer{flex:none;padding:12px 18px;background:#142032;border-top:1px solid #ad925d45;margin:0;color:#eee8d9}
.nim-panel .nim-search-label{margin:0 0 6px;font-size:14px}
.nim-panel .nim-composer .nim-tools{margin:8px 0 0;gap:12px}
.nim-panel #nim-settings .nim-button{background:none;border:0;padding:4px 0;font-size:14px;color:#cfbb92;min-height:36px}
.nim-panel .nim-privacy{margin:0;padding:0;border:0}
.nim-panel .nim-privacy summary{font-size:13px;min-height:30px;line-height:30px;color:#b4becc}
.nim-panel .nim-privacy[open]{max-height:130px;overflow:auto}
.nim-panel .nim-local{font-size:13px;line-height:1.5;margin:0}
.nim-panel .nim-ai-notice{font-size:13px;margin:4px 0 0;line-height:1.4;color:#c4cbd4}
.nim-panel .nim-ai-notice:empty{display:none}
.nim-panel .nim-result{padding:14px;margin:12px 0;border:0;border-radius:10px;background:#0c1523}
.nim-panel .nim-result h3{font:600 15px/1.5 system-ui,sans-serif;margin:0 0 10px;padding:10px 12px;background:#2b3b51;border-radius:8px;color:#f0e1bd}
.nim-panel .nim-result p{font-size:16px;line-height:1.6;margin:0 0 8px}
.nim-panel .nim-result .nim-result-label{font-size:12px;letter-spacing:.03em;text-transform:none;color:#aebacf}
.nim-panel .nim-result details{margin-top:8px;padding-top:0}
.nim-panel .nim-result summary{font-size:14px;line-height:36px;min-height:36px}
.nim-panel .nim-starters,.nim-panel .nim-topics{margin-top:8px;padding-top:4px}
.nim-panel #nim-discover{display:none}
@media(max-width:600px){.nim-dock{width:80px;height:80px}.nim-panel{right:8px;width:calc(100% - 16px)}.nim-panel .nim-heading,.nim-panel .nim-composer{padding:10px 14px}.nim-panel .nim-body{padding:12px 14px}}
.nim-panel .nim-composer{display:block;width:auto;max-width:none}
.nim-panel summary{margin:0;padding:0;letter-spacing:0;font-weight:400}
.nim-panel .nim-starters>div{margin:0;padding:0}
.nim-panel .nim-body details{padding-block:4px;margin-block:8px}
