:root{--ink:#2a2154;--ink-muted:#574f7a;--ink-soft:#3d3466;--white:#fff;--lilac:#cdbff5;--rose:#f5d3dc;--sky:#cfe3f7;--cream:#faf5ec;--line:#e4dff2;--line-soft:#eee9fa;--surface-soft:#f4f0fd;--ready-bg:var(--sky);--ready-ink:#1c3456;--failed-bg:var(--rose);--failed-ink:#7a2238;--alert-bg:#fbe3e9;--night-panel:radial-gradient(ellipse 80% 40% at 100% 0%, #f5d3dc47 0%, #f5d3dc00 70%), linear-gradient(165deg, #4b3b8a 0%, #2a2154 55%, #1e1840 100%);--on-night:#fff;--on-night-muted:#d9d2f5;--on-night-soft:#c7beeb;--page-bg:linear-gradient(180deg, #fff 0%, #f7f2fd 45%, #f1e8f7 75%, #e7eefa 100%);--band:linear-gradient(90deg, var(--lilac) 0%, #ead5ef 55%, #d6e5f8 100%);--btn-primary:linear-gradient(120deg, var(--lilac) 0%, var(--rose) 100%);--btn-dark:linear-gradient(135deg, #4b3b8a 0%, #2a2154 80%);--avatar:linear-gradient(145deg, var(--lilac) 0%, var(--rose) 55%, var(--sky) 100%);--shadow-card:0 1px 0 var(--line-soft), 0 20px 50px #2a215414;--ease-out:cubic-bezier(.2, .8, .2, 1);--spring:cubic-bezier(.3, 1.6, .5, 1);--radius-card:28px;--radius-pill:999px;--display:"Bricolage Grotesque", system-ui, sans-serif;--sans:"Figtree", system-ui, sans-serif;font:16px/1.5 var(--sans);color:var(--ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f4effc}body{background:var(--page-bg) fixed;min-height:100svh;margin:0}h1,h2,h3,p{margin:0}a{color:inherit}:focus-visible{outline:3px solid var(--ink);outline-offset:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.shell{max-width:1168px;margin:0 auto;padding:0 24px 72px}.topbar{align-items:center;gap:10px;width:fit-content;padding:18px 0;text-decoration:none;display:flex}.logo{flex-shrink:0;width:42px;height:42px}.logo-coeur{fill:var(--ink)}.brand{font-family:var(--display);letter-spacing:-.035em;font-size:23px;font-weight:800}.page-head{flex-direction:column;gap:12px;margin-bottom:28px;padding-top:24px;display:flex}.page-title{font-family:var(--display);letter-spacing:-.05em;font-size:clamp(48px,8vw,84px);font-weight:800;line-height:.92}.page-lead{max-width:520px;color:var(--ink-soft);font-size:18px}.meta{color:var(--ink-muted);font-size:15px;font-weight:600}.back-link{align-items:center;gap:6px;width:fit-content;min-height:44px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex}.back-link:hover{color:#4b3b8a}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.search{box-sizing:border-box;border:1.5px solid var(--line);border-radius:var(--radius-pill);background:var(--white);width:340px;max-width:100%;min-height:50px;color:var(--ink-muted);align-items:center;gap:8px;padding:0 18px;display:flex}.search input{min-width:0;font:inherit;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:15px}.search:focus-within{border-color:var(--ink);box-shadow:0 0 0 4px #cdbff573}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.animal-grid{grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:18px;margin:0;padding:0;list-style:none;display:grid}.animal-card{background:var(--white);color:var(--ink);box-shadow:var(--shadow-card);border-radius:26px;align-items:center;gap:14px;padding:18px;text-decoration:none;transition:transform .15s;display:flex}.animal-card:hover{transform:translateY(-2px)}.animal-card-text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.animal-card-name{font-family:var(--display);letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;font-size:23px;font-weight:700;overflow:hidden}.animal-card-species{color:var(--ink-muted);font-size:14px}.avatar{background:var(--avatar);width:58px;height:58px;color:var(--ink);font-family:var(--display);letter-spacing:-.04em;border-radius:20px;flex:none;place-items:center;font-size:22px;font-weight:800;display:grid}.avatar-lg{border-radius:26px;width:80px;height:80px;font-size:30px}.animal-title{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.animal-title-text{flex-direction:column;gap:8px;min-width:0;display:flex}.status-card{border-radius:var(--radius-card);background:var(--white);max-width:560px;color:var(--ink);box-shadow:var(--shadow-card);overflow:hidden}.status-card-head{background:var(--band);font-family:var(--display);padding:12px 18px;font-size:17px;font-weight:800}.status-card-head.is-error{background:linear-gradient(90deg, var(--rose) 0%, #ead5ef 55%, #d6e5f8 100%);color:var(--failed-ink)}.status-card-body{padding:18px;font-size:16px}.note{color:var(--ink-muted);margin:0;font-size:13px;font-weight:600}.animal-layout{flex-wrap:wrap;align-items:flex-start;gap:22px;display:flex}.ask-card{border-radius:var(--radius-card);background:var(--white);min-width:0;color:var(--ink);box-shadow:var(--shadow-card);flex-direction:column;flex:999 560px;gap:20px;padding:26px;display:flex}.ask-title{font-family:var(--display);letter-spacing:-.035em;font-size:30px;font-weight:800}.ask-form{flex-direction:column;gap:10px;display:flex}.ask-hint{color:var(--ink-muted);font-size:14px}.ask-row{flex-wrap:wrap;gap:10px;display:flex}.ask-row textarea{box-sizing:border-box;border:1.5px solid var(--line);min-width:0;font:inherit;color:var(--ink);resize:vertical;border-radius:18px;flex:320px;padding:14px 16px;font-size:16px;line-height:1.45}.ask-row textarea::placeholder{color:#8a82a8}.ask-row textarea:focus-visible{border-color:var(--ink);outline:none;box-shadow:0 0 0 4px #cdbff573}.ask-counter{color:var(--ink-muted);align-self:flex-end;font-size:13px}.btn{border-radius:var(--radius-pill);min-height:52px;font:inherit;cursor:pointer;border:0;justify-content:center;align-self:flex-start;align-items:center;gap:8px;padding:0 24px;font-size:16px;font-weight:700;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:not(:disabled):active{transform:scale(.96)}.btn{transition:transform .12s}.btn-in{animation:btnIn .24s var(--ease-out)}.btn-primary{background:var(--btn-primary);color:var(--ink);font-weight:800}.btn-dark{background:var(--btn-dark);color:var(--white)}.answer{border:1.5px solid var(--line);border-radius:22px;overflow:hidden}.answer-head{background:var(--band);justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex;position:relative;overflow:hidden}.answer-head h3{font-family:var(--display);font-size:18px;font-weight:800}.answer-status{color:#4b3f78;align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.answer-status.is-live{color:var(--ink);font-weight:700}.answer-status.is-error{color:var(--failed-ink);font-weight:700}.pulse{background:currentColor;border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite pulse}.answer-body{flex-direction:column;gap:14px;padding:18px;display:flex}.answer-text{white-space:pre-wrap;max-width:68ch;font-size:17px;line-height:1.65}.answer-wait{color:var(--ink-muted)}.cursor{vertical-align:-3px;background:var(--ink);border-radius:2px;width:3px;height:20px;margin-left:3px;animation:1s step-end infinite blink;display:inline-block}.cite{background:var(--ink);min-width:22px;height:22px;color:var(--white);vertical-align:2px;border-radius:8px;justify-content:center;align-items:center;margin:0 1px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.alert{border:1.5px solid var(--rose);background:var(--alert-bg);color:var(--failed-ink);border-radius:18px;flex-direction:column;gap:4px;padding:14px 16px;font-size:14px;display:flex}.alert strong{font-size:15px;font-weight:700}.answer-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.sources{flex-direction:column;gap:10px;display:flex}.sources-list{grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.source{background:linear-gradient(120deg, var(--surface-soft), #fbf0f3);border-radius:18px;align-items:center;gap:12px;padding:12px 14px;scroll-margin-top:24px;display:flex}.source:target{outline:3px solid var(--ink)}.source-ref{background:var(--ink);width:30px;height:30px;color:var(--white);border-radius:10px;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.source-text{flex-direction:column;gap:1px;min-width:0;display:flex}.source-title{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;overflow:hidden}@keyframes pulse{50%{opacity:.35}}@keyframes blink{50%{opacity:0}}.answer-progress{background:var(--ink);border-radius:3px;width:40%;height:3px;animation:1.1s ease-in-out infinite indet;position:absolute;bottom:0;left:0}.answer-done{background:var(--ink);transform-origin:0;height:3px;animation:underline .9s var(--ease-out) forwards;position:absolute;bottom:0;left:0;right:0}.spinner{animation:.8s linear infinite spin}.skeleton{flex-direction:column;gap:12px;padding-top:6px;display:flex}.skeleton-line{background:linear-gradient(90deg,#ece6fa 30%,#f9f7fe 50%,#ece6fa 70%) 0 0/200% 100%;border-radius:999px;height:14px;animation:1.4s linear infinite shimmer;display:block}.skeleton-line.is-small{height:10px}.source.is-skeleton{background:var(--surface-soft)}.source.is-skeleton .source-text{flex:1;gap:7px}.source.is-skeleton .source-ref{height:30px}.answer-text .cite{animation:citePop .38s var(--spring)}.fade-in{animation:.3s ease-out both fadeIn}.pop-in{animation:popIn .44s var(--ease-out) both}.slide-in{animation:slideIn .24s var(--ease-out)}.bump{transform-origin:50% 80%;animation:bump .48s var(--spring);display:inline-block}.draw{stroke-dasharray:1;animation:.42s ease-out .16s both draw}.docs-panel{border-radius:var(--radius-card);background:var(--night-panel);min-width:0;color:var(--on-night);flex-direction:column;flex:340px;gap:16px;padding:22px;display:flex;box-shadow:0 24px 50px #2a215447}.docs-panel :focus-visible{outline-color:var(--lilac)}.docs-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.docs-head h2{font-family:var(--display);letter-spacing:-.035em;font-size:26px;font-weight:800}.docs-count{color:var(--on-night-muted);font-size:14px}.docs-count strong{font-family:var(--display);color:var(--on-night);font-size:26px;font-weight:800}.dropzone{text-align:center;cursor:pointer;background:#ffffff0f;border:2px dashed #d9d2f580;border-radius:22px;flex-direction:column;align-items:center;gap:8px;padding:22px 16px;transition:transform .2s,background .2s,border-color .2s;display:flex;position:relative;overflow:hidden}.dropzone:hover{background:#cdbff51a}.dropzone.is-drag{border-style:solid;border-color:var(--lilac);background:#cdbff52e;transform:scale(1.02)}.dropzone.is-ok{border-style:solid;border-color:var(--lilac);background:#cdbff51a}.dropzone.is-ok .dropzone-icon{animation:zoneOk .52s var(--spring), ring .9s ease-out}.dropzone.is-busy .dropzone-arrow{animation:.9s ease-in infinite arrowUp}.dropzone-progress{background:var(--lilac);border-radius:4px;width:40%;height:4px;animation:1.1s ease-in-out infinite indet;position:absolute;bottom:0;left:0}.dropzone:focus-within{outline:3px solid var(--lilac);outline-offset:3px}.dropzone-icon{background:var(--btn-primary);width:46px;height:46px;color:var(--ink);border-radius:16px;place-items:center;display:grid}.dropzone-title{font-size:16px;font-weight:700}.dropzone-hint,.docs-note,.docs-empty{color:var(--on-night-muted);font-size:13px;line-height:1.5}.upload-failures,.docs-error{background:var(--alert-bg);color:var(--failed-ink);border-radius:16px;margin:0;padding:12px 14px;font-size:14px;list-style:none}.docs-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.doc-row{background:#ffffff12;border-radius:16px;align-items:center;gap:10px;padding:11px 8px 11px 14px;display:flex;position:relative;overflow:hidden}.doc-text,.doc-status,.doc-delete,.doc-confirm{position:relative}.doc-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.doc-title{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;overflow:hidden}.doc-meta{color:var(--on-night-soft);font-size:13px}.doc-status{border-radius:var(--radius-pill);flex:none;align-items:center;gap:5px;padding:4px 10px;font-size:13px;font-weight:700;display:inline-flex}.doc-status.is-ready{background:var(--ready-bg);color:var(--ready-ink)}.doc-status.is-processing{background:var(--lilac);color:var(--ink)}.doc-status.is-processing .pulse{background:var(--ink)}.doc-status.is-new{color:var(--on-night-muted);border:1px dashed #d9d2f599}.doc-status.is-failed{background:var(--failed-bg);color:var(--failed-ink)}.doc-row.fx-in{animation:rowIn .56s var(--ease-out) both}.doc-row.fx-ready{animation:1.3s ease-out readyFlash}.doc-row.fx-swap{animation:.4s ease-out rowSwap}.doc-row.is-leaving{animation:.48s cubic-bezier(.4,0,.6,1) forwards rowOut}.pill-pop{animation:pillPop .56s var(--spring) both}.pill-swap{animation:pillSwap .38s var(--ease-out) both}.doc-sweep,.doc-scan{pointer-events:none;width:35%;position:absolute;top:0;bottom:0;left:0}.doc-sweep{background:linear-gradient(90deg,#0000,#cdbff53d,#0000);animation:1.5s ease-in-out infinite sweep}.doc-scan{background:linear-gradient(90deg,#0000,#f5d3dc4d,#0000);animation:1.1s ease-in-out infinite both scan}.doc-delete{border-radius:var(--radius-pill);width:40px;height:40px;color:var(--on-night-soft);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;display:grid}.doc-delete:hover{color:var(--rose);background:#f5d3dc2e}.doc-confirm{flex:none;align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.doc-btn{border-radius:var(--radius-pill);min-width:44px;min-height:36px;color:var(--on-night);font:inherit;cursor:pointer;background:0 0;border:1px solid #d9d2f580;padding:0 12px}.doc-btn.is-danger{border-color:var(--rose);background:var(--rose);color:var(--failed-ink)}.doc-btn:disabled{opacity:.6;cursor:progress}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}}@keyframes btnIn{0%{opacity:0;transform:scale(.85)}}@keyframes popIn{0%{opacity:0;transform:translateY(12px)scale(.95)}}@keyframes slideIn{0%{opacity:0;transform:translate(18px)}}@keyframes citePop{0%{transform:scale(0)}60%{transform:scale(1.3)}}@keyframes underline{0%{transform:scaleX(0)}70%{opacity:1;transform:scaleX(1)}to{opacity:0;transform:scaleX(1)}}@keyframes indet{0%{left:-40%}to{left:100%}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes bump{40%{transform:scale(1.4)}}@keyframes draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes arrowUp{0%{opacity:0;transform:translateY(7px)}30%{opacity:1}to{opacity:0;transform:translateY(-9px)}}@keyframes zoneOk{0%{transform:scale(.5)}60%{transform:scale(1.18)}}@keyframes ring{0%{box-shadow:0 0 0 0 var(--lilac)}to{box-shadow:0 0 0 18px #0000}}@keyframes rowIn{0%{opacity:0;max-height:0;padding-top:0;padding-bottom:0;transform:translateY(-12px)scale(.96)}55%{opacity:1;max-height:80px;padding-top:11px;padding-bottom:11px;transform:translateY(2px)scale(1.01)}to{max-height:80px}}@keyframes rowOut{0%,35%{opacity:1;background:#f5d3dc59;max-height:80px;transform:translate(0)}to{opacity:0;background:#f5d3dc00;max-height:0;margin-bottom:-6px;padding-top:0;padding-bottom:0;transform:translate(48px)}}@keyframes readyFlash{0%{background:#cfe3f757;box-shadow:0 0 #cfe3f7b3}to{background:#ffffff12;box-shadow:0 0 0 12px #0000}}@keyframes rowSwap{0%{background:#cdbff538}}@keyframes pillPop{0%{opacity:0;transform:scale(.4)}55%{opacity:1;transform:scale(1.22)}}@keyframes pillSwap{0%{opacity:0;transform:translateY(8px)}}@keyframes sweep{0%{transform:translate(-120%)}to{transform:translate(320%)}}@keyframes scan{0%{opacity:0;transform:translate(-120%)}20%{opacity:1}to{opacity:0;transform:translate(320%)}}.answer-disclaimer{max-width:68ch;color:var(--ink-muted);font-size:13px;line-height:1.5}.legal-footer{border-top:1px solid var(--line);color:var(--ink-muted);flex-direction:column;gap:6px;margin-top:56px;padding-top:20px;font-size:14px;line-height:1.5;display:flex}.legal-footer strong{color:var(--ink-soft)}.legal-footer a{color:var(--ink);font-weight:600}
