.pierre-fab-btn{width:64px;height:64px;border-radius:50%;background:hsl(var(--portal-accent));color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 32px rgba(124,58,237,.3);transition:transform .2s ease,box-shadow .2s ease;animation:fab-breathe 3s ease-in-out infinite}.pierre-fab-btn:hover{transform:scale(1.05);box-shadow:0 12px 40px rgba(124,58,237,.4)}.pierre-fab-btn__status{position:absolute;top:2px;right:2px;width:12px;height:12px;background:#10b981;border:2px solid #fff;border-radius:50%}@keyframes fab-breathe{0%,to{box-shadow:0 8px 32px rgba(124,58,237,.3)}50%{box-shadow:0 8px 32px rgba(124,58,237,.15),0 0 0 12px rgba(124,58,237,.06)}}.pierre-chat-panel{position:fixed;bottom:24px;right:24px;width:460px;max-height:600px;border-radius:var(--radius-xl);display:flex;flex-direction:column;overflow:hidden;animation:slideInRight .3s ease-out both}@keyframes slideInRight{0%{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}.pierre-chat-messages{flex:1;padding:16px;display:flex;flex-direction:column;gap:12px;overflow-y:auto;max-height:520px}.pierre-chat-msg{max-width:85%;padding:12px 16px;border-radius:var(--radius-lg);font-size:.875rem;line-height:1.5}.pierre-chat-msg--pierre{align-self:flex-start;background:hsl(var(--background-muted));color:hsl(var(--foreground));border-bottom-left-radius:4px}.pierre-chat-msg--user{align-self:flex-end;background:hsl(var(--portal-accent));color:#fff;border-bottom-right-radius:4px}.pierre-chat-markdown{font-size:inherit;line-height:inherit}.pierre-chat-markdown p{margin:0 0 8px}.pierre-chat-markdown p:last-child{margin-bottom:0}.pierre-chat-markdown strong{font-weight:600}.pierre-chat-markdown h1,.pierre-chat-markdown h2,.pierre-chat-markdown h3{font-size:.875rem;font-weight:700;margin:8px 0 4px}.pierre-chat-markdown h1:first-child,.pierre-chat-markdown h2:first-child,.pierre-chat-markdown h3:first-child{margin-top:0}.pierre-chat-markdown ol,.pierre-chat-markdown ul{margin:4px 0;padding-left:18px}.pierre-chat-markdown li{margin-bottom:2px}.pierre-chat-markdown code{background:hsl(var(--background));padding:1px 4px;border-radius:4px;font-size:.8rem}.pierre-chat-markdown table{width:100%;border-collapse:collapse;margin:8px 0;font-size:.75rem;display:block;overflow-x:auto}.pierre-chat-markdown td,.pierre-chat-markdown th{border:1px solid hsl(var(--border));padding:4px 8px;text-align:left}.pierre-chat-markdown th{background:hsl(var(--background));font-weight:600}.pierre-chat-markdown tr:nth-child(2n){background:hsl(var(--background)/.5)}.pierre-chat-suggestions{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 8px}.pierre-chat-suggestion{padding:6px 12px;border-radius:var(--radius-full);border:1px solid hsl(var(--border));background:hsl(var(--card));font-size:.75rem;color:hsl(var(--foreground-subtle));cursor:pointer;transition:all .2s;font-family:inherit}.pierre-chat-suggestion:hover{border-color:hsl(var(--portal-accent));color:hsl(var(--portal-accent));background:hsl(var(--portal-accent-bg))}.pierre-typing{display:flex;align-items:center;gap:4px;padding:12px 16px;align-self:flex-start;background:hsl(var(--background-muted));border-radius:var(--radius-lg);border-bottom-left-radius:4px}.pierre-typing__dot{width:6px;height:6px;border-radius:50%;background:hsl(var(--foreground-subtle));animation:typing-bounce 1.4s infinite}.pierre-typing__dot:nth-child(2){animation-delay:.2s}.pierre-typing__dot:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}.pierre-guest-limit{padding:20px;text-align:center;background:hsl(var(--warning-light));border-top:2px solid hsl(var(--warning))}@media (max-width:767px){.pierre-chat-panel{width:calc(100% - 32px);right:16px;bottom:88px}.pierre-fab-btn{bottom:80px;right:16px}}.cookie-banner{position:fixed;bottom:0;left:0;right:0;background-color:hsl(var(--card));border-top:1px solid hsl(var(--border));padding:1rem 1.5rem;animation:cookie-banner-slide-up .3s ease-out both;box-shadow:0 -4px 24px rgba(0,0,0,.08)}@media (min-width:768px){.cookie-banner{padding:1.25rem 2rem}}.cookie-banner__inner{max-width:1120px;margin:0 auto;display:flex;flex-direction:column;gap:1rem}@media (min-width:768px){.cookie-banner__inner{flex-direction:row;align-items:center;justify-content:space-between;gap:2rem}}.cookie-banner__text{font-size:.875rem;color:hsl(var(--muted-foreground));line-height:1.5;flex:1}.cookie-banner__link{color:hsl(var(--primary));text-decoration:underline;text-underline-offset:2px}.cookie-banner__link:hover{color:hsl(var(--primary)/.8)}.cookie-banner__actions{display:flex;flex-wrap:wrap;gap:.5rem;flex-shrink:0}@media (min-width:768px){.cookie-banner__actions{flex-wrap:nowrap}}.cookie-prefs__list{display:flex;flex-direction:column;gap:1.25rem;margin-top:.5rem}.cookie-prefs__category{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:1.25rem;border-bottom:1px solid hsl(var(--border))}.cookie-prefs__category:last-child{border-bottom:none;padding-bottom:0}.cookie-prefs__label-group{flex:1}.cookie-prefs__label{font-size:.9375rem;font-weight:500;color:hsl(var(--foreground));display:flex;align-items:center;gap:.5rem}.cookie-prefs__badge{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:hsl(var(--muted-foreground));background-color:hsl(var(--muted));padding:.125rem .375rem;border-radius:9999px}.cookie-prefs__description{font-size:.8125rem;color:hsl(var(--muted-foreground));margin-top:.25rem;line-height:1.5}@keyframes cookie-banner-slide-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@media print{.cookie-banner{display:none!important}}