.nn-pr-chat-fab,.nn-pr-chat-stack{--accent:#0072ff;--accent-soft:rgba(0, 114, 255, 0.08);--accent-hover:#0056cc;--card:#ffffff;--bg-elev:#f3f5f7;--border:#e1e4e8;--text:#1a1a1a;--text-faint:#9aa0a6;--radius:16px;--radius-card:clamp(20px, 2.4vw, 28px);--radius-pill:999px;--dur-fast:180ms;--dur-base:240ms;--ease-hover:ease;--ease-out-quart:cubic-bezier(0.165, 0.84, 0.44, 1);--btn-gradient:linear-gradient(180deg, #4c9aff 0%, var(--accent) 45%, var(--accent-hover) 100%);--fw-medium:500}.nn-pr-chat-fab{position:fixed;right:clamp(16px,3vw,28px);bottom:clamp(16px,3vw,28px);z-index:150;display:inline-flex;align-items:center;gap:10px;padding:13px 20px 13px 17px;border:0;border-radius:var(--radius-pill);corner-shape:squircle;color:#fff;font-size:15px;font-weight:700;background:var(--btn-gradient);box-shadow:inset 0 -3px 0 #00387e,0 12px 32px rgba(0,56,126,.28);--fab-lift:0px;transform:translateY(var(--fab-lift));transition:transform 320ms var(--ease-out-quart),filter var(--dur-fast) var(--ease-hover)}.nn-pr-chat-fab:hover{filter:brightness(1.06);transform:translateY(calc(var(--fab-lift) - 1px))}.nn-pr-chat-fab:active{transform:translateY(var(--fab-lift)) scale(.98)}.nn-pr-chat-fab svg{width:22px;height:22px;display:block;flex:none}.nn-pr-chat-fab-label{line-height:1;display:inline-flex;align-items:center}.nn-pr-chat-fab.is-open{display:none}@media (max-width:480px){.nn-pr-chat-fab{padding:14px}.nn-pr-chat-fab-label{display:none}}@media (max-width:900px){body.nn-pr-bar-stuck .nn-pr-chat-fab{--fab-lift:calc(-1 * var(--nn-pr-bar-h, 0px) - 10px)}}.nn-pr-chat-stack{position:fixed;right:clamp(16px,3vw,28px);bottom:clamp(16px,3vw,28px);z-index:160;width:min(380px,calc(100vw - 32px));display:flex;flex-direction:column;pointer-events:none}.nn-pr-chat{position:relative;z-index:1;width:100%;height:min(560px,calc(100vh - 130px));display:flex;flex-direction:column;overflow:hidden;background:var(--card);border-radius:var(--radius-card);corner-shape:squircle;box-shadow:0 24px 70px rgba(15,23,42,.28);transform:translateY(16px) scale(.98);opacity:0;pointer-events:none;transition:none}.nn-pr-chat.is-open{transform:none;opacity:1;pointer-events:auto;transition:transform var(--dur-base) var(--ease-out-quart),opacity var(--dur-base) var(--ease-hover)}@media (max-width:560px){.nn-pr-chat-stack{left:0;right:0;bottom:0;width:100vw;transform:translateY(calc(100% + 60px));visibility:hidden;transition:transform var(--dur-base) var(--ease-out-quart),visibility 0s linear var(--dur-base)}.nn-pr-chat-stack.is-open{transform:none;visibility:visible;transition:transform var(--dur-base) var(--ease-out-quart),visibility 0s}.nn-pr-chat{height:min(80dvh,640px);border-radius:var(--radius-card) var(--radius-card) 0 0;transform:none;opacity:1}}.nn-pr-chat-head{padding:16px 18px;color:#fff;background:linear-gradient(180deg,#4c9aff 0,var(--accent) 60%,var(--accent-hover) 100%)}.nn-pr-chat-head-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.nn-pr-chat-title{font-size:17px;font-weight:700;line-height:1.3;text-wrap:balance}.nn-pr-chat-close{flex:none;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-pill);corner-shape:squircle;color:#fff;background:rgba(255,255,255,.16);transition:background var(--dur-fast) var(--ease-hover)}.nn-pr-chat-close:hover{background:rgba(255,255,255,.28)}.nn-pr-chat-close svg{width:14px;height:14px}.nn-pr-chat-log{flex:1;min-height:0;overflow-y:auto;padding:18px 18px 84px;display:flex;flex-direction:column;gap:10px;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 30px);mask-image:linear-gradient(to bottom,transparent 0,#000 30px);scrollbar-width:none;-ms-overflow-style:none}.nn-pr-chat-log::-webkit-scrollbar{width:0;height:0}.nn-pr-chat-msg{max-width:82%;padding:10px 14px;font-size:14px;line-height:1.45;border-radius:var(--radius);corner-shape:squircle}.nn-pr-chat-msg--bot{align-self:flex-start;background:var(--bg-elev);color:var(--text);border-bottom-left-radius:6px}.nn-pr-chat-loading{align-self:center;display:flex;align-items:center;gap:9px;margin:8px 0;font-size:13px;color:var(--text-faint)}.nn-pr-chat-spinner{width:15px;height:15px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:nn-pr-spin .7s linear infinite}@keyframes nn-pr-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.nn-pr-chat-spinner{animation:none}}.nn-pr-chat-sep{align-self:center;margin:12px 0 4px;padding:2px 2px;font-size:11.5px;font-weight:600;letter-spacing:.01em;color:var(--text-faint);text-align:center}.nn-pr-md-reveal .nn-pr-md-line{opacity:0;transform:translateY(10px);filter:blur(3px);transition:opacity .45s cubic-bezier(.23, 1, .32, 1),transform .45s cubic-bezier(.23, 1, .32, 1),filter .35s ease-out}.nn-pr-md-reveal .nn-pr-md-line.is-in{opacity:1;transform:none;filter:blur(0)}@media (prefers-reduced-motion:reduce){.nn-pr-md-reveal .nn-pr-md-line{transition:opacity .2s ease;transform:none;filter:none}}.nn-pr-chat-msg--bot p{margin:0 0 8px}.nn-pr-chat-msg--bot p:last-child{margin-bottom:0}.nn-pr-chat-msg--bot ol,.nn-pr-chat-msg--bot ul{margin:4px 0 8px;padding-left:20px}.nn-pr-chat-msg--bot ol:last-child,.nn-pr-chat-msg--bot ul:last-child{margin-bottom:0}.nn-pr-chat-msg--bot li{margin:2px 0}.nn-pr-chat-msg--bot strong{font-weight:700}.nn-pr-chat-msg--bot a{color:var(--accent);font-weight:600;text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:left 100%;background-size:0 2px;padding-bottom:1px;transition:background-size var(--dur-fast) var(--ease-out-quart),color var(--dur-fast) var(--ease-hover)}.nn-pr-chat-msg--bot a:focus-visible,.nn-pr-chat-msg--bot a:hover{color:var(--accent-hover);background-size:100% 2px}@media (prefers-reduced-motion:reduce){.nn-pr-chat-msg--bot a{transition:color var(--dur-fast) var(--ease-hover)}}.nn-pr-chat-msg--me{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:6px}.nn-pr-chat-pills{align-self:flex-start;max-width:92%;display:flex;flex-wrap:wrap;gap:7px}.nn-pr-chat-pill-btn{padding:8px 13px;font-size:13.5px;font-weight:600;line-height:1.2;color:var(--accent);background:var(--card);border:1px solid var(--accent-soft);border-radius:var(--radius-pill);corner-shape:squircle;cursor:pointer;transition:background var(--dur-fast) var(--ease-hover),border-color var(--dur-fast) var(--ease-hover),transform var(--dur-fast) var(--ease-out-quart);text-align:left}.nn-pr-chat-pill-btn:hover{background:var(--accent-soft);border-color:var(--accent)}.nn-pr-chat-pill-btn:active{transform:scale(.97)}.nn-pr-chat-actions{align-self:flex-start;max-width:92%}.nn-pr-chat-action{display:inline-flex;align-items:center;gap:9px;padding:11px 18px;font-size:14px;font-weight:700;color:#fff;background:var(--btn-gradient);border:0;border-radius:var(--radius-pill);corner-shape:squircle;box-shadow:inset 0 -3px 0 #00387e,0 8px 20px rgba(0,56,126,.22);cursor:pointer;transition:filter var(--dur-fast) var(--ease-hover),transform var(--dur-fast) var(--ease-out-quart)}.nn-pr-chat-action:hover{filter:brightness(1.06)}.nn-pr-chat-action:active{transform:scale(.97)}.nn-pr-chat-action-ico{display:inline-flex;flex:none}.nn-pr-chat-action-ico svg{width:18px;height:18px;display:block}.nn-pr-chat-action .nn-pay-spinner{margin-left:0}.nn-pr-chat-form{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:12px 14px 14px;background:0 0;pointer-events:none}.nn-pr-chat.is-open .nn-pr-chat-pill{pointer-events:auto}.nn-pr-chat-pill{display:flex;align-items:flex-end;gap:8px;padding:6px 6px 6px 8px;background:var(--card);border:1px solid var(--border);border-radius:24px;corner-shape:squircle;box-shadow:0 8px 24px rgba(15,23,42,.12),0 1px 0 rgba(255,255,255,.6) inset;transition:border-color var(--dur-fast) var(--ease-hover),box-shadow var(--dur-fast) var(--ease-hover)}.nn-pr-chat-pill:focus-within{border-color:rgba(15,23,42,.18);box-shadow:0 10px 28px rgba(15,23,42,.16),0 1px 0 rgba(255,255,255,.6) inset}.nn-pr-chat-input{flex:1;min-width:0;max-height:300px;padding:10px 6px 10px 8px;border:0;resize:none;overflow-y:auto;font:inherit;font-size:14.5px;line-height:1.45;background:0 0;color:var(--text);scrollbar-width:none;-ms-overflow-style:none}.nn-pr-chat-input::-webkit-scrollbar{width:0;height:0}.nn-pr-chat-input:focus{outline:0}.nn-pr-chat-input::placeholder{color:var(--text-faint)}.nn-pr-chat-send{width:38px;height:38px;flex:none;align-self:flex-end;display:flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-pill);corner-shape:squircle;color:#fff;background:var(--btn-gradient);box-shadow:inset 0 1px 0 rgba(255,255,255,.35);transition:filter var(--dur-fast) var(--ease-hover),transform var(--dur-fast) var(--ease-out-quart),background var(--dur-fast) var(--ease-hover)}.nn-pr-chat-send:hover{filter:brightness(1.08)}.nn-pr-chat-send:active{transform:scale(.92)}.nn-pr-chat-send:disabled{background:var(--bg-elev);box-shadow:none;color:var(--text-faint);cursor:default}.nn-pr-chat-send:disabled:hover{filter:none}.nn-pr-chat-send svg{width:20px;height:20px}@media (prefers-reduced-motion:reduce){.nn-pr-chat,.nn-pr-chat-fab{transition:none}}.nn-pr-chat-thinking{align-self:flex-start;max-width:none;padding:0!important;background:0 0!important;box-shadow:none}.nn-pr-chat-loader{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 13px 0 7px;border-radius:var(--radius-pill);corner-shape:squircle;background:var(--bg-elev);border:1px solid var(--border);font-size:12.5px;line-height:1;cursor:default;user-select:none}.nn-pr-chat-loader canvas{display:block;width:20px;height:20px}.nn-pr-shimmer{--shimmer-dur:2000ms;--shimmer-band:400%;--shimmer-base:rgba(15, 23, 42, 0.42);--shimmer-highlight:var(--accent);position:relative;display:inline-block;color:var(--shimmer-base);font-weight:var(--fw-medium)}.nn-pr-shimmer::before{content:attr(data-text);position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(90deg,transparent 0,transparent 40%,var(--shimmer-highlight) 50%,transparent 60%,transparent 100%);background-size:var(--shimmer-band) 100%;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:nn-pr-shimmer var(--shimmer-dur) linear infinite}@keyframes nn-pr-shimmer{0%{background-position:100% 0}100%{background-position:0 0}}@media (prefers-reduced-motion:reduce){.nn-pr-shimmer::before{animation:none!important}}:root{--nn-font-display:"Unbounded","Unbounded Fallback","Inter",system-ui,sans-serif;--nn-font-body:"Inter","Inter Fallback",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--nn-fs-display:clamp(2rem, 1.736rem + 1.127vw, 2.75rem);--nn-fs-h1:clamp(1.625rem, 1.449rem + 0.751vw, 2.125rem);--nn-fs-h2:clamp(1.375rem, 1.287rem + 0.376vw, 1.625rem);--nn-fs-h3:clamp(1.125rem, 1.081rem + 0.188vw, 1.25rem);--nn-fs-h4:1.0625rem;--nn-fs-lead:clamp(1.0625rem, 1.019rem + 0.188vw, 1.1875rem);--nn-fs-body:1rem;--nn-fs-small:0.9375rem;--nn-fs-caption:0.8125rem;--nn-fs-ui:0.875rem;--nn-fs-btn:1rem;--nn-lh-display:1.28;--nn-lh-h1:1.3;--nn-lh-h2:1.3;--nn-lh-h3:1.35;--nn-lh-h4:1.4;--nn-lh-lead:1.6;--nn-lh-body:1.7;--nn-lh-small:1.6;--nn-lh-caption:1.45;--nn-lh-ui:1.4;--nn-fw-display:700;--nn-fw-h1:700;--nn-fw-h2:700;--nn-fw-h3:600;--nn-fw-h4:600;--nn-fw-body:400;--nn-fw-strong:600;--nn-fw-ui:600;--nn-fw-medium:500;--nn-ls-display:-0.01em;--nn-ls-text:0;--nn-measure:68ch;--nn-link-line:1px;--nn-link-in:300ms;--nn-link-out:380ms;--nn-link-ease-in:cubic-bezier(0.33, 1, 0.68, 1);--nn-link-ease-out:cubic-bezier(0.22, 1, 0.36, 1);--nn-ink:#1D1D1F;--nn-ink-2:#3E3E3E;--nn-muted:#6B6B6B;--nn-faint:#9A9A9A;--nn-link:#0072FF;--nn-link-hover:#0059C7;--nn-accent:#0072FF;--nn-danger:#C8281E;--nn-success:#12805C}html[data-theme=dark]{--nn-ink:#F5F5F7;--nn-ink-2:#D2D2D7;--nn-muted:#A1A1A6;--nn-faint:#8A8A8F;--nn-link:#4C9AFF;--nn-link-hover:#7DB5FF;--nn-accent:#4C9AFF;--nn-danger:#FF7A70;--nn-success:#3DD39B}.nn-display,.nn-h1{font-family:var(--nn-font-display);letter-spacing:var(--nn-ls-display);color:var(--nn-ink);text-wrap:balance}.nn-display{font-size:var(--nn-fs-display);font-weight:var(--nn-fw-display);line-height:var(--nn-lh-display)}.nn-h1{font-size:var(--nn-fs-h1);font-weight:var(--nn-fw-h1);line-height:var(--nn-lh-h1)}.nn-h2,.nn-h3,.nn-h4{font-family:var(--nn-font-body);letter-spacing:var(--nn-ls-text);color:var(--nn-ink);text-wrap:balance}.nn-h2{font-size:var(--nn-fs-h2);font-weight:var(--nn-fw-h2);line-height:var(--nn-lh-h2)}.nn-h3{font-size:var(--nn-fs-h3);font-weight:var(--nn-fw-h3);line-height:var(--nn-lh-h3)}.nn-h4{font-size:var(--nn-fs-h4);font-weight:var(--nn-fw-h4);line-height:var(--nn-lh-h4)}.nn-body,.nn-caption,.nn-lead,.nn-small{font-family:var(--nn-font-body);font-weight:var(--nn-fw-body);letter-spacing:var(--nn-ls-text);text-wrap:pretty}.nn-lead{font-size:var(--nn-fs-lead);line-height:var(--nn-lh-lead);color:var(--nn-ink-2)}.nn-body{font-size:var(--nn-fs-body);line-height:var(--nn-lh-body);color:var(--nn-ink-2)}.nn-small{font-size:var(--nn-fs-small);line-height:var(--nn-lh-small);color:var(--nn-muted)}.nn-caption{font-size:var(--nn-fs-caption);line-height:var(--nn-lh-caption);color:var(--nn-muted)}.nn-label{font-family:var(--nn-font-body);font-size:var(--nn-fs-ui);font-weight:var(--nn-fw-medium);line-height:var(--nn-lh-ui);letter-spacing:var(--nn-ls-text);color:var(--nn-ink)}.nn-link,:where(.nn-prose) :where(a){color:var(--nn-link);text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:right bottom;background-size:0 var(--nn-link-line);padding-bottom:1px;transition:background-size var(--nn-link-out) var(--nn-link-ease-out),color 180ms ease}.nn-link-trigger:hover .nn-link,.nn-link:focus-visible,.nn-link:hover,:where(.nn-prose) :where(a:hover,a:focus-visible){color:var(--nn-link-hover);background-position:left bottom;background-size:100% var(--nn-link-line);transition-duration:var(--nn-link-in),180ms;transition-timing-function:var(--nn-link-ease-in),ease}@media (prefers-reduced-motion:reduce){.nn-link,:where(.nn-prose) :where(a){transition:none}}.nn-accent{color:var(--nn-accent)}:is(.nn-lead,.nn-body,.nn-small,.nn-caption,.nn-prose) :is(strong,b){font-weight:var(--nn-fw-strong);color:var(--nn-ink)}:where(.nn-prose){font-family:var(--nn-font-body);font-size:var(--nn-fs-body);font-weight:var(--nn-fw-body);line-height:var(--nn-lh-body);letter-spacing:var(--nn-ls-text);color:var(--nn-ink-2);text-wrap:pretty}:where(.nn-prose)>*{max-width:var(--nn-measure)}.nn-prose :where(p,ul,ol,blockquote){margin:0 0 1em}:where(.nn-prose) :where(h2,h3,h4){font-family:var(--nn-font-body);color:var(--nn-ink);letter-spacing:var(--nn-ls-text);text-wrap:balance}.nn-prose :where(h2,h3,h4){margin:1.6em 0 .5em}:where(.nn-prose) :where(h2){font-size:var(--nn-fs-h2);font-weight:var(--nn-fw-h2);line-height:var(--nn-lh-h2)}:where(.nn-prose) :where(h3){font-size:var(--nn-fs-h3);font-weight:var(--nn-fw-h3);line-height:var(--nn-lh-h3)}:where(.nn-prose) :where(h4){font-size:var(--nn-fs-h4);font-weight:var(--nn-fw-h4);line-height:var(--nn-lh-h4)}.nn-prose>:where(:first-child){margin-top:0}.nn-prose>:where(:last-child){margin-bottom:0}.nn-prose :where(ul,ol){padding-left:1.25em}.nn-prose :where(ul){list-style:disc}.nn-prose :where(ol){list-style:decimal}.nn-prose :where(li + li){margin-top:.35em}:where(.nn-prose) :where(blockquote){padding-left:1em;border-left:3px solid var(--nn-accent);color:var(--nn-ink)}:root{--nn-grid-size:32px;--nn-grid-line:rgba(0, 114, 255, 0.06);--nn-grid-tint:rgba(0, 114, 255, 0.035);--nn-grid-fade:#FFFFFF}html[data-theme=dark]{--nn-grid-line:rgba(76, 154, 255, 0.045);--nn-grid-tint:rgba(76, 154, 255, 0.015);--nn-grid-fade:#0B0B0C}.nn-grid-bg{position:relative;isolation:isolate}.nn-grid-bg::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(var(--nn-grid-fade) 0,transparent 8%,transparent 45%,var(--nn-grid-fade) 80%),linear-gradient(var(--nn-grid-tint),var(--nn-grid-tint)),linear-gradient(0deg,var(--nn-grid-line) 1px,transparent 1px) 0 0/var(--nn-grid-size) var(--nn-grid-size) fixed,linear-gradient(90deg,var(--nn-grid-line) 1px,transparent 1px) 0 0/var(--nn-grid-size) var(--nn-grid-size) fixed;background:linear-gradient(in oklab,var(--nn-grid-fade) 0,transparent 8%,transparent 45%,var(--nn-grid-fade) 80%),linear-gradient(var(--nn-grid-tint),var(--nn-grid-tint)),linear-gradient(0deg,var(--nn-grid-line) 1px,transparent 1px) 0 0/var(--nn-grid-size) var(--nn-grid-size) fixed,linear-gradient(90deg,var(--nn-grid-line) 1px,transparent 1px) 0 0/var(--nn-grid-size) var(--nn-grid-size) fixed}