.niko{--niko-right:clamp(1rem, 4vw, 2.5rem);--niko-bottom:calc(clamp(1rem, 4svh, 2.5rem) + env(safe-area-inset-bottom,0px));--niko-rule:color-mix(in oklab, var(--color-marble) 60%, var(--color-paper));right:var(--niko-right);bottom:var(--niko-bottom);z-index:45;position:fixed}.niko[data-ready=false]{visibility:hidden}:root:has(.landing[data-open=false]) .niko{visibility:hidden}.niko .illustration{fill:none;stroke-width:1.1px;stroke-linecap:round;stroke-linejoin:round;height:auto;display:block;overflow:visible}.niko .illustration :is(path,circle){vector-effect:non-scaling-stroke}.niko .ill-line{stroke:color-mix(in oklab, var(--color-ink) 78%, var(--color-paper))}.niko .ill-blue{stroke:var(--color-slate)}.niko .ill-accent{stroke:var(--color-terracotta)}.niko .ill-wash-blue{fill:color-mix(in oklab, var(--color-slate) 14%, transparent)}.niko-ring{opacity:0;transition:opacity .25s}.niko-trigger{cursor:pointer;color:var(--color-slate);background-image:radial-gradient(closest-side, color-mix(in oklab, var(--color-paper) 62%, transparent) 0%, color-mix(in oklab, var(--color-paper) 34%, transparent) 62%, transparent 100%);transform:translateY(calc(-1 * var(--niko-lift,0px)));border:0;align-items:center;gap:.55rem;padding:.7rem 1rem;transition:transform .35s cubic-bezier(.2,.7,.2,1),color .2s,opacity .2s,visibility .2s;display:flex}.niko-trigger-mark{width:1.45rem;filter:drop-shadow(0 0 2px var(--color-paper));flex:none}.niko-trigger-label{font-family:var(--font-body);font-weight:var(--weight-body);font-size:var(--type-category);letter-spacing:var(--tracking-category);margin-right:calc(-1 * var(--tracking-category));text-transform:uppercase;white-space:nowrap;text-shadow:0 0 2px var(--color-paper), 0 0 6px color-mix(in oklab, var(--color-paper) 85%, transparent);line-height:1.5}@media (hover:hover){.niko-trigger:hover{color:var(--color-terracotta);transform:translateY(calc(-1 * var(--niko-lift,0px) - 2px))}.niko-trigger:hover .niko-ring{opacity:1}}.niko-trigger:focus-visible{color:var(--color-terracotta)}.niko-trigger:focus-visible .niko-ring{opacity:1}.niko[data-open=true] .niko-trigger{opacity:0;visibility:hidden}.niko-panel{right:var(--niko-right);bottom:var(--niko-bottom);width:min(23.5rem, calc(100vw - 2 * var(--niko-right)));max-height:min(38rem, calc(100svh - var(--niko-bottom) - 5.5rem));background:var(--color-paper);border:1px solid var(--niko-rule);box-shadow:0 24px 48px -30px color-mix(in oklab, var(--color-ink) 20%, transparent);opacity:0;visibility:hidden;flex-direction:column;transition:opacity .22s,transform .3s cubic-bezier(.2,.7,.2,1),visibility 0s linear .3s;display:flex;position:fixed;transform:translateY(.5rem)}.niko[data-open=true] .niko-panel{opacity:1;visibility:visible;transition:opacity .22s,transform .3s cubic-bezier(.2,.7,.2,1),visibility;transform:none}.niko-panel:focus{outline:none}.niko-head{flex:none;padding:1.45rem 1.6rem .35rem}.niko-head-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.niko-title{font-family:var(--font-body);font-weight:var(--weight-body);font-size:var(--type-micro);letter-spacing:var(--tracking-category);text-transform:uppercase;color:var(--color-terracotta);align-items:center;gap:.5rem;line-height:1.6;display:flex}.niko-title-mark{width:1.3rem;margin-top:-.15rem}.niko-close{cursor:pointer;font-family:var(--font-body);font-size:var(--type-micro);letter-spacing:var(--tracking-category);text-transform:uppercase;color:color-mix(in oklab, var(--color-muted) 80%, var(--color-paper));background:0 0;border:0;flex:none;margin:-.6rem -.5rem -.6rem 0;padding:.6rem .5rem;transition:color .2s}.niko-close:hover,.niko-close:focus-visible{color:var(--color-terracotta)}.niko-body{overscroll-behavior:contain;flex:auto;min-height:0;padding:1.1rem 1.6rem;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000 0,#000 1.1rem);mask-image:linear-gradient(#0000 0,#000 1.1rem)}.niko-prompts{margin-top:0}.niko-prompts li+li{border-top:1px solid var(--niko-rule)}.niko-prompt{cursor:pointer;text-align:left;width:100%;font-family:var(--font-body);font-weight:var(--weight-body);font-size:var(--type-body);letter-spacing:.01em;color:var(--color-slate);background:0 0;border:0;justify-content:space-between;align-items:baseline;gap:1rem;padding:.85rem 0;line-height:1.5;transition:color .2s;display:flex}.niko-prompt:after{content:"→";color:color-mix(in oklab, var(--color-muted) 45%, var(--color-paper));flex:none;transition:color .2s,transform .2s}.niko-prompt:hover,.niko-prompt:focus-visible{color:var(--color-terracotta)}.niko-prompt:hover:after,.niko-prompt:focus-visible:after{color:var(--color-terracotta);transform:translate(3px)}.niko-thread{display:grid}.niko-question{font-family:var(--font-display);font-weight:var(--weight-title);font-size:var(--type-item);letter-spacing:var(--tracking-display);color:var(--color-ink);text-wrap:pretty;line-height:1.4}.niko-turn+.niko-turn{border-top:1px solid var(--niko-rule);margin-top:1.5rem;padding-top:1.5rem}.niko-answer{grid-template-columns:1.15rem minmax(0,1fr);align-items:start;gap:.7rem;margin-top:.85rem;display:grid}.niko-answer-mark{width:1.15rem;margin-top:.3rem}.niko-answer-text{font-family:var(--font-body);font-weight:var(--weight-body);font-size:var(--type-body);color:var(--color-muted);line-height:1.7}.niko-answer-text p+p,.niko-answer-text p+ol,.niko-answer-text ol+p{margin-top:.7em}.niko-answer-text ol{padding-left:1.25em;list-style:decimal}.niko-answer-text li+li{margin-top:.35em}.niko-answer-text li::marker{color:var(--color-muted)}.niko-answer-text .niko-credit{font-size:var(--type-micro);margin-top:.5em;line-height:1.4}.niko-answer-text .niko-credit a{color:var(--color-muted);text-decoration:none}.niko-answer-text a{color:var(--color-slate);text-underline-offset:.18em;overflow-wrap:anywhere;text-decoration:underline;text-decoration-thickness:1px;transition:color .2s}.niko-answer-text a:hover,.niko-answer-text a:focus-visible{color:var(--color-terracotta)}.niko-status{font-family:var(--font-body);font-weight:var(--weight-body);font-size:var(--type-body);color:var(--color-muted);line-height:1.7}.niko-status--pending{animation:1.8s ease-in-out infinite niko-breathe}@keyframes niko-breathe{50%{opacity:.45}}.niko-debug{border:1px dashed var(--niko-rule);color:var(--color-muted);margin-top:.8rem;padding:.55rem .7rem;font:.6875rem/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}.niko-debug summary{cursor:pointer}.niko-debug dl{grid-template-columns:max-content minmax(0,1fr);gap:.15rem .6rem;margin-top:.5rem;display:grid}.niko-debug dt{color:var(--color-ink)}.niko-debug dd,.niko-debug li{overflow-wrap:anywhere}.niko-debug-heading{color:var(--color-ink);margin-top:.5rem}.niko-debug pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:18rem;margin-top:.3rem;overflow:auto}.niko-ask{border-top:1px solid var(--niko-rule);flex:none;align-items:center;gap:.5rem;padding:.6rem 1rem 1.05rem 1.6rem;display:flex}.niko-input{border:0;border-bottom:1px solid var(--color-marble);min-width:0;font-family:var(--font-body);color:var(--color-ink);background:0 0;border-radius:0;flex:auto;padding:.6rem 0;font-size:1rem;transition:border-color .2s}.niko-input:focus{border-bottom-color:color-mix(in oklab, var(--color-slate) 60%, var(--color-paper));outline:none}.niko-send{cursor:pointer;width:2.75rem;height:2.75rem;font-family:var(--font-body);color:var(--color-slate);background:0 0;border:0;flex:none;font-size:1.125rem;transition:color .2s}.niko-send:disabled{cursor:default;color:color-mix(in oklab, var(--color-muted) 40%, var(--color-paper))}.niko-send:not(:disabled):hover,.niko-send:focus-visible{color:var(--color-terracotta)}@media (max-width:39.99rem){.niko{--niko-right:.75rem;--niko-bottom:calc(.75rem + env(safe-area-inset-bottom,0px))}.niko-panel{top:5rem;right:0;bottom:var(--niko-keyboard,0px);width:auto;max-height:none;box-shadow:0 -20px 40px -30px color-mix(in oklab, var(--color-ink) 22%, transparent);border-width:1px 0 0;left:0;transform:translateY(1.5rem)}.niko-head,.niko-body{padding-inline:1.25rem}.niko-ask{padding-left:1.25rem;padding-bottom:calc(1.05rem + env(safe-area-inset-bottom,0px))}}@media (prefers-reduced-motion:reduce){.niko-trigger,.niko-ring,.niko-panel,.niko[data-open=true] .niko-panel{transition:none}.niko-status--pending{animation:none}.niko-trigger:hover{transform:translateY(calc(-1 * var(--niko-lift,0px)))}.niko-panel{transform:none}}
