/* Utility controls and the private Novi launcher have separate fixed anchors. */
.novi-widget{font-family:Inter,Arial,sans-serif;color:#171717}
.novi-dock{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:990;display:flex;align-items:center;gap:1px;padding:2px;background:#fff;border:1px solid #d8d8d8;border-radius:4px;box-shadow:0 3px 14px #00000012}
.novi-dock button{box-sizing:border-box;position:static;min-width:30px;height:30px;min-height:30px;margin:0;padding:0 6px;display:flex;align-items:center;justify-content:center;gap:4px;border:0;border-radius:3px;background:#fff;color:#171717;font:500 10px Inter,Arial,sans-serif;cursor:pointer;box-shadow:none;transition:background .18s}
.novi-dock button:is(:hover,:focus-visible){background:#e0e1e2;color:#171717}
.novi-cookie img{width:15px;height:15px}.novi-up img{width:13px;height:13px}
.novi-percent{font-variant-numeric:tabular-nums;min-width:27px;text-align:right}
.novi-widget>.novi-launcher{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:990;width:112px;height:150px;padding:0;border:0;background:transparent;box-shadow:none;cursor:pointer;isolation:isolate}

.novi-launcher .novi-mascot{display:block;position:absolute;inset:0;background:transparent;padding:0;margin:0;border-radius:0;pointer-events:none}
.novi-mascot-scale{position:absolute;top:0;left:14px;transform:scale(.61);transform-origin:top left;filter:drop-shadow(0 0 .9px #e5eef5dd) drop-shadow(0 2px 2px #61748a38)}
.novi-launcher .novi-mascot .robot{animation:novi-float 7s ease-in-out infinite;transform:rotate(-4deg)}
.novi-launcher:after{content:"NOVI";position:absolute;bottom:0;right:8px;padding:6px 10px;border:1px solid #d9dcdf;border-radius:4px;background:#fff;color:#181a1d;font:600 10px Inter,Arial,sans-serif;letter-spacing:1px}
.novi-launcher.is-greeting .arm.right{animation:novi-salute 1.8s ease-in-out both}
@keyframes novi-float{0%,100%{translate:0 0}50%{translate:0 -4px}}
.novi-widget button:focus-visible{outline:2px solid #666d7c;outline-offset:3px}

body.novi-dock-active [data-back-to-top],body.novi-dock-active #tarteaucitronRoot #tarteaucitronIcon{display:none!important}
.novi-dock .section-navigation-trigger{display:none}
@media(max-width:1099px){.novi-dock .section-navigation-trigger{display:flex}.novi-dock .section-navigation-trigger .nova-icon{width:16px;height:16px}}
@media(max-width:700px){.novi-dock{left:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px))}.novi-widget>.novi-launcher{right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));width:82px;height:119px}.novi-mascot-scale{left:9px;transform:scale(.46)}}
@media(max-width:360px){.novi-dock .novi-percent{display:none}}
@media(prefers-reduced-motion:reduce){.novi-launcher *,.novi-dock *{animation:none!important;transition:none!important}}
.novi-dialog{position:fixed;inset:auto 18px 18px auto;margin:0;padding:0;border:1px solid #d6d7d8;border-radius:24px;width:min(460px,calc(100vw - 24px));max-width:none;height:min(740px,calc(100dvh - 36px));max-height:calc(100% - 12px);overflow:hidden;background:#fff;color:#171717;box-shadow:0 15px 70px #10111630}
.novi-dialog::backdrop{background:#10111622}
.novi-close{position:absolute;right:15px;top:12px;z-index:5;border:0;border-radius:var(--button-radius,4px);background:#101116;color:#fff;padding:5px 10px;min-height:28px;display:inline-flex;align-items:center;justify-content:center;gap:4px;font:500 12px Inter,Arial,sans-serif;cursor:pointer}
.novi-widget .novi-dialog .novi-app,.novi-widget .novi-dialog .workspace{height:100%;background:#fff;margin:0;padding:0}
.novi-widget .novi-dialog .workspace{display:block}
.novi-widget .novi-dialog .intro{display:none}
.novi-widget .novi-dialog .chat{height:100%;min-height:0;max-width:none;border:0;border-radius:0;display:flex;flex-direction:column;box-shadow:none}
.novi-widget .novi-dialog .chat-head{flex:none;padding:12px 18px;min-height:108px;padding-right:105px}
.novi-widget .novi-dialog .badge{display:none}
.novi-widget .novi-dialog .chat-body{flex:1;min-height:0;max-height:none;padding:18px;overscroll-behavior:contain}
.novi-widget .novi-dialog .welcome h2{font-size:22px;letter-spacing:-.6px}
.novi-widget .novi-dialog .welcome p{font-size:13px}
.novi-widget .novi-dialog .verification{flex:none;padding:0 18px;max-height:130px;overflow:auto}
.novi-widget .novi-dialog .composer{flex:none;padding:10px 14px 19px}
.novi-widget .novi-dialog .novi-information .disclaimer{font-size:12px;line-height:1.6;margin:0 0 8px}
.novi-widget .novi-dialog .chat .bottom{flex:0 0 auto;min-height:0;height:auto;align-content:start;grid-auto-rows:max-content;margin:0!important;padding:9px 14px 10px;gap:5px}
.novi-widget .novi-dialog .input{margin:0}
.novi-widget .novi-dialog .input input{font-size:16px}


@media(max-width:520px){.novi-dialog{inset:var(--novi-view-top,6px) 6px auto auto;width:calc(100% - 12px);height:var(--novi-view-height,calc(100dvh - 18px));max-height:none;border-radius:20px}.novi-widget .novi-dialog .chat-head{min-height:100px;padding:8px 105px 8px 14px}.novi-widget .novi-dialog .chat-body{padding:16px}.novi-widget .novi-dialog .topics button{padding:12px 10px}}


.novi-widget .novi-dialog .novi-information-dialog #note{display:block}

.novi-close img{width:12px;height:12px;filter:brightness(0) invert(1)}
.novi-close:hover{background:#303030}

/* Owner-requested smaller desktop launcher; mobile remains unchanged. */
@media(min-width:701px){.novi-widget>.novi-launcher{width:96px;height:136px}.novi-launcher .novi-mascot-scale{left:12px;transform:scale(.53)}}

@media(max-width:1199px){.novi-widget>.novi-launcher{translate:0 calc(-1 * var(--novi-footer-lift,0px))}}

html.novi-chat-open,html.novi-chat-open body{overflow:hidden;overscroll-behavior:none}
