.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}.navbar[data-astro-cid-ms53uln7]{position:fixed;top:0;left:0;right:0;z-index:100;background:color-mix(in oklab,var(--c-bg) 85%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid color-mix(in oklab,var(--c-line) 50%,transparent);transition:transform .4s cubic-bezier(.4,0,.2,1)}.navbar[data-astro-cid-ms53uln7].is-hidden{transform:translateY(-100%)}.navbar__inner[data-astro-cid-ms53uln7]{display:flex;align-items:center;gap:1rem;height:56px;padding:0 1rem}@media(min-width:768px){.navbar__inner[data-astro-cid-ms53uln7]{height:64px;padding:0 2rem}}.navbar__menu-btn[data-astro-cid-ms53uln7]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:none;border:none;border-radius:8px;color:var(--c-fg);cursor:pointer;transition:background .15s ease}.navbar__menu-btn[data-astro-cid-ms53uln7] svg[data-astro-cid-ms53uln7]{width:24px;height:24px}.navbar__menu-btn[data-astro-cid-ms53uln7]:hover{background:var(--c-surface)}.navbar__menu-btn[data-astro-cid-ms53uln7]:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}.navbar__brand[data-astro-cid-ms53uln7]{font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--c-fg);text-decoration:none;letter-spacing:.02em}.navbar__brand[data-astro-cid-ms53uln7]:hover{color:var(--c-accent)}@media(min-width:768px){.navbar__brand[data-astro-cid-ms53uln7]{font-size:1.5rem}}.navbar__nav[data-astro-cid-ms53uln7]{display:none;flex:1;justify-content:center;gap:.25rem}@media(min-width:768px){.navbar__nav[data-astro-cid-ms53uln7]{display:flex}}.navbar__link[data-astro-cid-ms53uln7]{padding:.5rem .75rem;font-size:.9rem;color:var(--c-muted);text-decoration:none;border-radius:8px;transition:color .15s ease,background .15s ease}.navbar__link[data-astro-cid-ms53uln7]:hover{color:var(--c-fg);background:var(--c-surface)}.navbar__link[data-astro-cid-ms53uln7]:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}.navbar__link[data-astro-cid-ms53uln7].is-current{color:var(--c-accent);font-weight:600}.navbar__actions[data-astro-cid-ms53uln7]{margin-left:auto;display:flex;align-items:center;gap:.5rem;min-width:40px;justify-content:flex-end}.navbar__icon-btn[data-astro-cid-ms53uln7]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:none;border:none;border-radius:50%;color:var(--c-muted);cursor:pointer;transition:color .15s ease,background .15s ease}.navbar__icon-btn[data-astro-cid-ms53uln7] svg[data-astro-cid-ms53uln7]{width:20px;height:20px}.navbar__icon-btn[data-astro-cid-ms53uln7]:hover{color:var(--c-fg);background:var(--c-surface)}.navbar__overlay[data-astro-cid-ms53uln7]{position:fixed;inset:0;z-index:150;background:#00000080;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.navbar__overlay[data-astro-cid-ms53uln7].is-open{opacity:1;visibility:visible}.navbar__sidebar[data-astro-cid-ms53uln7]{position:fixed;top:0;left:0;bottom:0;z-index:200;width:280px;max-width:85vw;background:var(--c-bg);border-right:1px solid var(--c-line);transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);overflow-y:auto}.navbar__sidebar[data-astro-cid-ms53uln7].is-open{transform:translate(0);height:100vh}.navbar__sidebar-header[data-astro-cid-ms53uln7]{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--c-line)}.navbar__sidebar-title[data-astro-cid-ms53uln7]{font-family:var(--font-display);font-weight:600;font-size:1.1rem}.navbar__close-btn[data-astro-cid-ms53uln7]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:none;border:none;border-radius:8px;color:var(--c-muted);cursor:pointer;transition:color .15s ease,background .15s ease}.navbar__close-btn[data-astro-cid-ms53uln7] svg[data-astro-cid-ms53uln7]{width:20px;height:20px}.navbar__close-btn[data-astro-cid-ms53uln7]:hover{color:var(--c-fg);background:var(--c-surface)}.navbar__sidebar-nav[data-astro-cid-ms53uln7]{display:flex;flex-direction:column;padding:.75rem 0;border-bottom:1px solid var(--c-line)}.navbar__sidebar-link[data-astro-cid-ms53uln7]{padding:.75rem 1.5rem;font-size:1rem;color:var(--c-fg);text-decoration:none;transition:background .15s ease,color .15s ease}.navbar__sidebar-link[data-astro-cid-ms53uln7]:hover{background:var(--c-surface);color:var(--c-accent)}.navbar__sidebar-link[data-astro-cid-ms53uln7]:focus-visible{outline:2px solid var(--c-accent);outline-offset:-2px}.navbar__sidebar-link[data-astro-cid-ms53uln7].is-current{color:var(--c-accent);font-weight:600;background:color-mix(in oklab,var(--c-accent) 10%,transparent)}.navbar__sidebar-section[data-astro-cid-ms53uln7]{padding:1rem 1.5rem;border-bottom:1px solid var(--c-line)}.navbar__sidebar-label[data-astro-cid-ms53uln7]{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--c-muted);margin-bottom:.75rem}.navbar__sidebar-options[data-astro-cid-ms53uln7]{display:flex;gap:.5rem;flex-wrap:wrap}.navbar__option[data-astro-cid-ms53uln7]{padding:.5rem .75rem;font-size:.85rem;background:var(--c-surface);border:1px solid var(--c-line);border-radius:8px;color:var(--c-fg);cursor:pointer;transition:all .15s ease}.navbar__option[data-astro-cid-ms53uln7]:hover{border-color:var(--c-accent);color:var(--c-accent)}.navbar__option[data-astro-cid-ms53uln7].is-active{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-bg)}.navbar__user-btn[data-astro-cid-ms53uln7]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;overflow:hidden;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}.navbar__user-btn[data-astro-cid-ms53uln7]:hover{transform:scale(1.05);box-shadow:0 0 0 3px color-mix(in oklab,var(--c-accent) 30%,transparent)}.navbar__avatar[data-astro-cid-ms53uln7]{width:100%;height:100%;object-fit:cover}.navbar__avatar-placeholder[data-astro-cid-ms53uln7]{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(135deg,var(--c-accent),color-mix(in oklab,var(--c-accent) 70%,var(--c-fg)));color:#fff;font-weight:600;font-size:1rem}.navbar__sidebar-user[data-astro-cid-ms53uln7]{padding:1rem 1.5rem;border-bottom:1px solid var(--c-line);min-height:80px;display:flex;align-items:center}.navbar__user-card[data-astro-cid-ms53uln7]{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--c-surface);border-radius:16px;text-decoration:none;transition:background .15s ease,transform .15s ease;width:100%}.navbar__user-card[data-astro-cid-ms53uln7]:hover{background:color-mix(in oklab,var(--c-accent) 10%,var(--c-surface));transform:translate(4px)}.navbar__user-avatar[data-astro-cid-ms53uln7]{width:44px;height:44px;border-radius:50%;overflow:hidden;flex-shrink:0}.navbar__user-avatar[data-astro-cid-ms53uln7] img[data-astro-cid-ms53uln7]{width:100%;height:100%;object-fit:cover}.navbar__user-avatar[data-astro-cid-ms53uln7] span[data-astro-cid-ms53uln7]{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(135deg,var(--c-accent),color-mix(in oklab,var(--c-accent) 70%,var(--c-fg)));color:#fff;font-weight:600;font-size:1.1rem}.navbar__user-info[data-astro-cid-ms53uln7]{display:flex;flex-direction:column;gap:2px;min-width:0}.navbar__user-name[data-astro-cid-ms53uln7]{font-weight:600;color:var(--c-fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navbar__user-action[data-astro-cid-ms53uln7]{font-size:.8rem;color:var(--c-accent)}.navbar__login-btn[data-astro-cid-ms53uln7]{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--c-accent);border-radius:16px;color:#fff;text-decoration:none;font-weight:600;transition:background .15s ease,transform .15s ease;width:100%}.navbar__login-btn[data-astro-cid-ms53uln7] svg[data-astro-cid-ms53uln7]{width:22px;height:22px}.navbar__login-btn[data-astro-cid-ms53uln7]:hover{background:color-mix(in oklab,var(--c-accent) 85%,black);transform:translateY(-2px)}.footer[data-astro-cid-4gse77of]{position:relative;z-index:2;background:var(--c-surface);border-top:1px solid var(--c-line);margin-top:auto}.footer__inner[data-astro-cid-4gse77of]{display:grid;grid-template-columns:1fr;gap:2rem;padding:3rem 1.5rem}@media(min-width:640px){.footer__inner[data-astro-cid-4gse77of]{grid-template-columns:2fr 1fr 1fr}}.footer__brand[data-astro-cid-4gse77of]{max-width:280px}.footer__logo[data-astro-cid-4gse77of]{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--c-fg);text-decoration:none;letter-spacing:-.02em}.footer__logo[data-astro-cid-4gse77of]:hover{color:var(--c-accent)}.footer__tagline[data-astro-cid-4gse77of]{margin-top:.75rem;font-size:.9rem;color:var(--c-muted);line-height:1.6}.footer__nav-title[data-astro-cid-4gse77of]{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--c-muted);margin-bottom:.75rem}.footer__links[data-astro-cid-4gse77of]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.footer__links[data-astro-cid-4gse77of] a[data-astro-cid-4gse77of]{font-size:.9rem;color:var(--c-fg);text-decoration:none;transition:color .15s ease}.footer__links[data-astro-cid-4gse77of] a[data-astro-cid-4gse77of]:hover{color:var(--c-accent)}.footer__bottom[data-astro-cid-4gse77of]{padding:1rem 1.5rem;border-top:1px solid var(--c-line)}.footer__bottom[data-astro-cid-4gse77of] p[data-astro-cid-4gse77of]{font-size:.85rem;color:var(--c-muted);text-align:center;margin:0}.fab{position:relative;flex-direction:column;align-items:flex-end;gap:.5rem}.fab-trigger{width:3.5rem;height:3.5rem;border-radius:999px;border:1px solid var(--c-line);background:var(--c-accent);color:var(--c-bg);box-shadow:0 32px 80px #00000038;cursor:pointer;display:grid;place-items:center;position:relative;transition:transform .16s ease,box-shadow .16s ease;outline:none}.fab-trigger:hover{transform:translateY(-1px);box-shadow:0 18px 45px #00000040}.fab-trigger:focus-visible{box-shadow:0 0 0 4px color-mix(in oklab,var(--c-accent) 25%,transparent)}.fab-trigger:not(:hover){animation:pulse-ring 3s infinite cubic-bezier(.4,0,.6,1)}.fab-icon{display:inline-flex;align-items:center;justify-content:center}.cart-badge{position:absolute;top:-6px;right:-6px;min-width:22px;height:22px;border-radius:999px;background:var(--c-error, #ff4081);color:#fff;display:grid;place-items:center;padding:0 6px;border:2px solid var(--c-surface);box-shadow:0 10px 25px #00000040}.cart-badge.is-bump{animation:cart-bump .52s cubic-bezier(.16,1,.3,1)}.cart-badge.is-add{background:var(--c-success, #2e7d32)}.cart-badge.is-remove{background:var(--c-error, #ff4081)}.cart-badge .cart-badge__count{font-size:.75rem;font-weight:800;line-height:1}@keyframes cart-bump{0%{transform:scale(1);filter:drop-shadow(0 0 0 rgba(255,255,255,0))}35%{transform:scale(1.35);filter:drop-shadow(0 0 10px rgba(255,255,255,.45))}to{transform:scale(1);filter:drop-shadow(0 0 0 rgba(255,255,255,0))}}.wa-tip{position:absolute;right:110%;bottom:10px;background:var(--c-surface);color:var(--c-fg);border:1px solid var(--c-line);border-radius:16px;padding:.5rem .75rem;font-size:.85rem;white-space:nowrap;box-shadow:0 10px 25px #00000026}.wa-tip:after{content:"";position:absolute;right:-6px;top:50%;width:10px;height:10px;transform:translateY(-50%) rotate(45deg);background:var(--c-surface);border-right:1px solid var(--c-line);border-top:1px solid var(--c-line)}.fab-dial{display:grid;gap:.5rem;pointer-events:none;opacity:0;transform:translateY(8px);transition:opacity .16s ease,transform .16s ease}.floating-agent.is-dial-open .fab-dial{pointer-events:auto;opacity:1;transform:translateY(0)}.fab.fab-flower .fab-dial{position:absolute;width:0;height:0;left:50%;top:50%}.fab.fab-flower .fab-dial .fab-action{position:absolute;left:-1.5rem;top:-1.5rem;opacity:0;transform:scale(.5);transition:transform .25s cubic-bezier(.34,1.56,.64,1),opacity .2s ease}.floating-agent.is-dial-open .fab.fab-flower .fab-dial .fab-action{opacity:1}.fab.fab-flower .fab-dial .fab-action.fab-close{opacity:0}.floating-agent.is-dial-open .fab.fab-flower .fab-dial .fab-action.fab-close{opacity:1}.floating-agent.is-dial-open .fab.fab-flower.flower-up-left .fab-dial .fab-action[data-action=whatsapp]{transform:translate(-4.5rem)}.floating-agent.is-dial-open .fab.fab-flower.flower-up-left .fab-dial .fab-action[data-action=cart]{transform:translate(-3.2rem,-3.2rem)}.floating-agent.is-dial-open .fab.fab-flower.flower-up-left .fab-dial .fab-action[data-action=profile]{transform:translateY(-4.5rem)}.floating-agent.is-dial-open .fab.fab-flower.flower-up-left .fab-dial .fab-action[data-action=ai]{transform:translate(-1.5rem,-5.2rem)}.floating-agent.is-dial-open .fab.fab-flower.flower-up-left .fab-dial .fab-action.fab-close{transform:translate(0);opacity:0;pointer-events:none}.floating-agent.is-dial-open .fab.fab-flower.flower-up-right .fab-dial .fab-action[data-action=whatsapp]{transform:translate(4.5rem)}.floating-agent.is-dial-open .fab.fab-flower.flower-up-right .fab-dial .fab-action[data-action=cart]{transform:translate(3.2rem,-3.2rem)}.floating-agent.is-dial-open .fab.fab-flower.flower-up-right .fab-dial .fab-action[data-action=profile]{transform:translateY(-4.5rem)}.floating-agent.is-dial-open .fab.fab-flower.flower-up-right .fab-dial .fab-action[data-action=ai]{transform:translate(1.5rem,-5.2rem)}.floating-agent.is-dial-open .fab.fab-flower.flower-down-left .fab-dial .fab-action[data-action=whatsapp]{transform:translate(-4.5rem)}.floating-agent.is-dial-open .fab.fab-flower.flower-down-left .fab-dial .fab-action[data-action=cart]{transform:translate(-3.2rem,3.2rem)}.floating-agent.is-dial-open .fab.fab-flower.flower-down-left .fab-dial .fab-action[data-action=profile]{transform:translateY(4.5rem)}.floating-agent.is-dial-open .fab.fab-flower.flower-down-left .fab-dial .fab-action[data-action=ai]{transform:translate(-1.5rem,5.2rem)}.floating-agent.is-dial-open .fab.fab-flower.flower-down-right .fab-dial .fab-action[data-action=whatsapp]{transform:translate(4.5rem)}.floating-agent.is-dial-open .fab.fab-flower.flower-down-right .fab-dial .fab-action[data-action=cart]{transform:translate(3.2rem,3.2rem)}.floating-agent.is-dial-open .fab.fab-flower.flower-down-right .fab-dial .fab-action[data-action=profile]{transform:translateY(4.5rem)}.floating-agent.is-dial-open .fab.fab-flower.flower-down-right .fab-dial .fab-action[data-action=ai]{transform:translate(1.5rem,5.2rem)}@keyframes pulse-ring{0%{transform:scale(.8);box-shadow:0 0 rgba(var(--c-accent-rgb),.7)}70%{transform:scale(1);box-shadow:0 0 0 10px rgba(var(--c-accent-rgb),0)}to{transform:scale(.8);box-shadow:0 0 rgba(var(--c-accent-rgb),0)}}.fab-action{width:3rem;height:3rem;border-radius:999px;border:1px solid var(--c-line);background:var(--c-surface);color:var(--c-fg);box-shadow:0 10px 25px #00000026;cursor:pointer;display:grid;place-items:center;transition:transform .16s ease,background .16s ease}.fab-action:hover{transform:translateY(-1px);background:var(--c-bg)}.fab-action:focus-visible{outline:none;box-shadow:0 0 0 4px color-mix(in oklab,var(--c-accent) 25%,transparent)}.fab-action.fab-close{background:color-mix(in oklab,var(--c-error, #ff4081) 20%,var(--c-surface));color:var(--c-fg)}.fab-action .fab-action__icon{display:inline-flex;align-items:center;justify-content:center}.chat-float{position:fixed;right:1rem;bottom:5.5rem;width:min(400px,100vw - 2rem);height:min(600px,100vh - 120px);background:#fffffff2}@media(prefers-color-scheme:dark){.chat-float{background:#1e1e1ef2}}.chat-float{backdrop-filter:blur(12px);border:1px solid var(--c-line);border-radius:32px;box-shadow:0 20px 40px -5px #00000026,0 10px 20px -5px #0000001a;overflow:hidden;display:flex;flex-direction:column;z-index:960;opacity:0;transform:scale(.95) translateY(10px);pointer-events:none;transition:opacity .2s ease,transform .2s cubic-bezier(.16,1,.3,1)}.floating-agent.is-chat-open .chat-float{display:flex;opacity:1;transform:scale(1) translateY(0);pointer-events:auto}.chat-float__header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgba(0,0,0,.05);background:linear-gradient(to right,color-mix(in oklab,var(--c-accent) 5%,transparent),transparent)}.chat-float__title{display:flex;flex-direction:column}.chat-float__title strong{font-family:var(--font-display);font-size:1rem;color:var(--c-fg)}.chat-float__subtitle{font-size:.7rem;color:var(--c-success, #2e7d32);font-weight:500;display:flex;align-items:center;gap:4px}.chat-float__subtitle:before{content:"";display:block;width:6px;height:6px;border-radius:50%;background:currentColor}.chat-float__close{border:none;background:transparent;cursor:pointer;color:var(--c-muted);width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;font-size:1.1rem;transition:background .2s;z-index:10}.chat-float__close:hover{background:#0000000d;color:var(--c-fg)}.chat-float__messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem;scroll-behavior:smooth}.chat-bubble-wrapper{width:100%;display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.chat-bubble-wrapper.chat-bubble-wrapper--user{align-items:flex-end}.chat-bubble-wrapper.chat-bubble-wrapper--user .bubble-group{flex-direction:row-reverse}.chat-bubble-wrapper.chat-bubble-wrapper--user .bubble{background:linear-gradient(135deg,var(--c-accent) 0%,color-mix(in oklab,var(--c-accent) 85%,#000) 100%);color:#fff;border-radius:20px 20px 4px;padding:.85rem 1.1rem;box-shadow:0 2px 8px #0000001a;text-align:right}.chat-bubble-wrapper.chat-bubble-wrapper--assistant{align-items:flex-start}.chat-bubble-wrapper.chat-bubble-wrapper--assistant .bubble-group{flex-direction:row}.chat-bubble-wrapper.chat-bubble-wrapper--assistant .bubble{background:var(--c-surface);color:var(--c-fg);border:1px solid var(--c-line);border-radius:20px 20px 20px 4px;padding:.85rem 1.1rem;box-shadow:0 2px 4px #0000000d}.chat-bubble-wrapper.chat-bubble-wrapper--error{align-items:center}.chat-bubble-wrapper.chat-bubble-wrapper--error .bubble{background:var(--c-error-bg, #fef2f2);color:var(--c-error, #991b1b);border:1px solid color-mix(in oklab,var(--c-error) 20%,transparent);font-size:.85rem;padding:.5rem 1rem;border-radius:99px}.bubble-group{display:flex;gap:.5rem;max-width:85%}.bubble{position:relative;word-break:break-word;line-height:1.5;font-size:.95rem}.bubble p{margin:0 0 .5rem}.bubble p:last-child{margin-bottom:0}.bubble strong{font-weight:600;color:inherit}.bubble em{font-style:italic}.bubble ul,.bubble ol{margin:.5rem 0;padding-left:1.2rem}.bubble li{margin-bottom:.25rem}.bubble code{background:#0000001a;padding:.1rem .3rem;border-radius:4px;font-family:monospace;font-size:.9em}.bubble pre{background:#0000000d;padding:.75rem;border-radius:8px;overflow-x:auto;margin:.5rem 0}.bubble pre code{background:transparent;padding:0;color:inherit}.loading-content{display:flex;align-items:center;gap:.5rem}.dot{width:6px;height:6px;background:var(--c-accent);border-radius:50%;animation:bounce 1.4s ease-in-out infinite}.dot:nth-child(1){animation-delay:0s}.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.status-text{font-size:.85rem;color:var(--c-muted);font-weight:500}.typing-indicator{display:inline-flex;gap:4px;padding:12px 16px;background:var(--c-surface);border:1px solid var(--c-line);border-radius:20px 20px 20px 4px}.typing-indicator span{width:6px;height:6px;background:var(--c-muted);border-radius:50%;animation:typing 1.4s infinite ease-in-out both}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.chat-float__composer{padding:.75rem 1rem;display:flex;gap:.5rem;background:var(--c-surface);border-top:1px solid var(--c-line);align-items:flex-end}.composer-input-wrapper{flex:1;display:flex;align-items:center;background:var(--c-bg);border:1px solid var(--c-line);border-radius:24px;padding:2px 8px 2px 16px;transition:box-shadow .2s,border-color .2s}.composer-input-wrapper:focus-within{border-color:var(--c-accent);box-shadow:0 0 0 2px color-mix(in oklab,var(--c-accent) 15%,transparent)}.chat-float__input{flex:1;resize:none;border:none;background:transparent;padding:10px 0;font-family:var(--font-body);font-size:.95rem;color:var(--c-fg);outline:none;line-height:1.3;max-height:120px;scrollbar-width:none}.chat-float__input::-webkit-scrollbar{display:none}.chat-float__input::placeholder{color:var(--c-muted)}.chat-float__mic{color:var(--c-fg);cursor:pointer;display:grid;place-items:center;transition:all .2s}.chat-float__mic:hover{background:var(--c-bg)}.chat-float__mic.is-listening{background:var(--c-error, #f44336);color:#fff;border-color:var(--c-error, #f44336);animation:pulse-ring 2s infinite}.chat-float__send{height:2.4rem;padding:0 1.25rem;border-radius:999px;border:none;background:var(--c-accent);color:var(--c-bg);font-weight:600;cursor:pointer;transition:transform .1s}.chat-float__send:hover{filter:brightness(1.1)}.chat-float__send:active{transform:scale(.96)}@media(max-width:480px){.chat-float{width:calc(100vw - 2rem);height:80vh;bottom:5rem;right:1rem}}.floating-agent{position:fixed;z-index:950;left:auto;top:auto;right:1rem;bottom:1rem;transform:translateZ(0);touch-action:none;user-select:none}:root[data-theme][data-contrast=low]{--c-bg: color-mix(in oklab, var(--c-bg-base) 97%, var(--c-fg-base));--c-surface: color-mix(in oklab, var(--c-surface-base) 97%, var(--c-fg-base));--c-fg: color-mix(in oklab, var(--c-fg-base) 70%, var(--c-bg-base));--c-muted: color-mix(in oklab, var(--c-muted-base) 60%, var(--c-bg-base));--c-line: color-mix(in oklab, var(--c-line-base) 70%, var(--c-bg-base));--c-accent: color-mix(in oklab, var(--c-accent-base) 75%, var(--c-bg-base));--c-error: color-mix(in oklab, var(--c-error-base) 75%, var(--c-bg-base));--c-success: color-mix(in oklab, var(--c-success-base) 75%, var(--c-bg-base));--c-warning: color-mix(in oklab, var(--c-warning-base) 75%, var(--c-bg-base));--c-info: color-mix(in oklab, var(--c-info-base) 75%, var(--c-bg-base))}:root[data-theme][data-contrast=normal]{--c-bg: var(--c-bg-base);--c-surface: var(--c-surface-base);--c-fg: var(--c-fg-base);--c-muted: var(--c-muted-base);--c-line: var(--c-line-base);--c-accent: var(--c-accent-base);--c-accent-strong: var(--c-accent-strong-base);--c-error: var(--c-error-base);--c-success: var(--c-success-base);--c-warning: var(--c-warning-base);--c-info: var(--c-info-base)}:root[data-theme][data-contrast=high]{--c-bg: color-mix(in oklab, var(--c-bg-base) 92%, var(--c-fg-base));--c-surface: color-mix(in oklab, var(--c-surface-base) 88%, var(--c-fg-base));--c-fg: var(--c-fg-base);--c-muted: color-mix(in oklab, var(--c-muted-base) 50%, var(--c-fg-base));--c-line: color-mix(in oklab, var(--c-line-base) 40%, var(--c-fg-base));--c-accent: color-mix(in oklab, var(--c-accent-base) 85%, var(--c-fg-base));--c-accent-strong: color-mix(in oklab, var(--c-accent-strong-base) 90%, var(--c-fg-base));--c-error: color-mix(in oklab, var(--c-error-base) 90%, var(--c-fg-base));--c-success: color-mix(in oklab, var(--c-success-base) 90%, var(--c-fg-base));--c-warning: color-mix(in oklab, var(--c-warning-base) 90%, var(--c-fg-base));--c-info: color-mix(in oklab, var(--c-info-base) 90%, var(--c-fg-base))}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px) scale(.95);padding:.4rem .6rem;background:var(--c-surface);color:var(--c-fg);border:1px solid var(--c-line);border-radius:6px;font-size:.75rem;white-space:nowrap;opacity:0;pointer-events:none;transition:all .2s cubic-bezier(.2,.8,.2,1);box-shadow:0 4px 12px #0000001a;z-index:100;font-weight:500}[data-tooltip]:hover:after{opacity:1;transform:translate(-50%) translateY(-12px) scale(1)}[data-tooltip-pos=right]:after{bottom:auto;left:100%;top:50%;transform:translateY(-50%) translate(8px) scale(.95)}[data-tooltip-pos=right]:hover:after{transform:translateY(-50%) translate(12px) scale(1)}[data-tooltip-pos=bottom]:after{bottom:auto;top:100%;left:50%;transform:translate(-50%) translateY(8px) scale(.95)}[data-tooltip-pos=bottom]:hover:after{transform:translate(-50%) translateY(12px) scale(1)}::-webkit-scrollbar{width:14px;height:14px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:var(--c-surface-3, color-mix(in oklab, var(--c-fg) 10%, transparent));border:4px solid transparent;background-clip:content-box;border-radius:99px;min-height:48px;transition:background-color .2s ease}::-webkit-scrollbar-thumb:hover{background-color:var(--c-muted, color-mix(in oklab, var(--c-fg) 30%, transparent))}::-webkit-scrollbar-thumb:active{background-color:var(--c-fg, #888);border-width:3px}::-webkit-scrollbar-corner{background:transparent}*{scrollbar-width:thin;scrollbar-color:var(--c-surface-3, color-mix(in oklab, var(--c-fg) 10%, transparent)) transparent}:root[data-theme=light]{--c-bg-base: #f6f4ef;--c-surface-base: #ffffff;--c-fg-base: #1c1c18;--c-muted-base: #4b4b43;--c-accent-base: #1f6f5c;--c-accent-strong-base: #0e4b3d;--c-line-base: #dcd9cf;--c-glow-base: #f0ede6;--c-error-base: #dc2626;--c-error-soft-base: #fef2f2;--c-success-base: #16a34a;--c-success-soft-base: #f0fdf4;--c-warning-base: #d97706;--c-warning-soft-base: #fffbeb;--c-info-base: #2563eb;--c-info-soft-base: #eff6ff;--font-display: "Fraunces", "Iowan Old Style", serif;--font-body: "Manrope", "Segoe UI", sans-serif;--c-bg: var(--c-bg-base);--c-surface: var(--c-surface-base);--c-fg: var(--c-fg-base);--c-muted: var(--c-muted-base);--c-accent: var(--c-accent-base);--c-accent-strong: var(--c-accent-strong-base);--c-line: var(--c-line-base);--c-glow: var(--c-glow-base);--c-error: var(--c-error-base);--c-error-soft: var(--c-error-soft-base);--c-success: var(--c-success-base);--c-success-soft: var(--c-success-soft-base);--c-warning: var(--c-warning-base);--c-warning-soft: var(--c-warning-soft-base);--c-info: var(--c-info-base);--c-info-soft: var(--c-info-soft-base)}:root[data-theme=sepia]{--c-bg-base: #f2e7d5;--c-surface-base: #f8efdf;--c-fg-base: #140b07;--c-muted-base: #3c2c20;--c-accent-base: #7a3f22;--c-accent-strong-base: #5b2c16;--c-line-base: #d3bda1;--c-glow-base: #e8d3b6;--c-error-base: #b91c1c;--c-error-soft-base: #fef2f2;--c-success-base: #15803d;--c-success-soft-base: #f0fdf4;--c-warning-base: #b45309;--c-warning-soft-base: #fffbeb;--c-info-base: #1d4ed8;--c-info-soft-base: #eff6ff;--font-display: "Newsreader", "Georgia", serif;--font-body: "Source Sans 3", "Trebuchet MS", sans-serif;--c-bg: var(--c-bg-base);--c-surface: var(--c-surface-base);--c-fg: var(--c-fg-base);--c-muted: var(--c-muted-base);--c-accent: var(--c-accent-base);--c-accent-strong: var(--c-accent-strong-base);--c-line: var(--c-line-base);--c-glow: var(--c-glow-base);--c-error: var(--c-error-base);--c-error-soft: var(--c-error-soft-base);--c-success: var(--c-success-base);--c-success-soft: var(--c-success-soft-base);--c-warning: var(--c-warning-base);--c-warning-soft: var(--c-warning-soft-base);--c-info: var(--c-info-base);--c-info-soft: var(--c-info-soft-base)}:root[data-theme=dark]{--c-bg-base: #0f1418;--c-surface-base: #161c21;--c-fg-base: #f8fbff;--c-muted-base: #c1c9d2;--c-accent-base: #7ed1b6;--c-accent-strong-base: #4ba98b;--c-line-base: #2a3239;--c-glow-base: #131b20;--c-error-base: #f87171;--c-error-soft-base: #450a0a;--c-success-base: #4ade80;--c-success-soft-base: #052e16;--c-warning-base: #fbbf24;--c-warning-soft-base: #451a03;--c-info-base: #60a5fa;--c-info-soft-base: #1e3a5f;--font-display: "Fraunces", "Iowan Old Style", serif;--font-body: "Manrope", "Segoe UI", sans-serif;--c-bg: var(--c-bg-base);--c-surface: var(--c-surface-base);--c-fg: var(--c-fg-base);--c-muted: var(--c-muted-base);--c-accent: var(--c-accent-base);--c-accent-strong: var(--c-accent-strong-base);--c-line: var(--c-line-base);--c-glow: var(--c-glow-base);--c-error: var(--c-error-base);--c-error-soft: var(--c-error-soft-base);--c-success: var(--c-success-base);--c-success-soft: var(--c-success-soft-base);--c-warning: var(--c-warning-base);--c-warning-soft: var(--c-warning-soft-base);--c-info: var(--c-info-base);--c-info-soft: var(--c-info-soft-base)}:root{color-scheme:light dark;--transition-fast: .16s ease;--transition-slow: .52s cubic-bezier(.2, .8, .2, 1);--hero-parallax-shift: 540px;--hero-parallax-boost: 1.55}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;background:var(--c-bg);color:var(--c-fg)}body{min-height:100vh;font-family:var(--font-body);background:radial-gradient(circle at 20% 10%,var(--c-glow),transparent 55%),radial-gradient(circle at 80% 0%,color-mix(in oklab,var(--c-accent) 30%,transparent),transparent 50%),var(--c-bg);transition:background var(--transition-slow),color var(--transition-fast)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}html,body{overflow-x:hidden;max-width:100vw}main{display:block}main.edu-main>*{padding-left:0;padding-right:0;padding-bottom:0}.container{width:min(1100px,100%);margin:0 auto}.section-title{font-family:var(--font-display);font-size:clamp(1.8rem,2.6vw,2.6rem);margin-bottom:1rem}.article{background:color-mix(in oklab,var(--c-surface) 94%,transparent);border-radius:16px;padding:.25rem;border:1px solid color-mix(in oklab,var(--c-line) 70%,transparent);box-shadow:0 18px 48px #00000014;display:grid;gap:.5rem;max-width:100%;margin:0 auto}@media(min-width:640px){.article{padding:2rem;max-width:720px}}@media(min-width:768px){.article{max-width:780px}}@media(min-width:1024px){.article{max-width:1140px}}@media(min-width:1280px){.article{max-width:1280px}}.article h1,.article h2,.article h3{font-family:var(--font-display)}.article p{color:var(--c-muted);line-height:1.7}:root[data-theme=dark] .article p{color:color-mix(in oklab,var(--c-fg) 82%,var(--c-muted))}.article .katex-display{overflow-x:auto;padding:.5rem 0}@media(max-width:720px){main>*:not(.hero):not(.edu-layout):not(.edu-main):not(.course-index){padding-left:0;padding-right:0}}.skip-link{position:absolute;top:-100%;left:1rem;z-index:10000;padding:.75rem 1rem;background:var(--c-accent);color:var(--c-bg);font-weight:600;border-radius:8px;text-decoration:none;transition:top .2s ease}.skip-link:focus{top:1rem;outline:2px solid var(--c-fg);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
