body footer.tp-footer{border-top:1px solid var(--border);background:var(--bg-1);position:relative}body footer.tp-footer::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:30%;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}body .tp-foot-top{padding:4rem 0 3rem;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:2.5rem}body .tp-foot-brand{display:flex;flex-direction:column;gap:.75rem}body .tp-foot-logo{display:flex;align-items:center;gap:.55rem;font-family:var(--f-d);font-weight:800;font-size:1.1rem;letter-spacing:-.03em;text-decoration:none;color:var(--txt);transition:color 0.15s}body .tp-foot-logo:hover{color:var(--accent)}body .tp-foot-mark{width:28px;height:28px;background:var(--accent-dim);border:1px solid var(--accent-border);border-radius:7px;display:flex;align-items:center;justify-content:center}body .tp-foot-mark svg{width:14px;height:14px}body .tp-foot-mark svg path{fill:var(--accent)}body .tp-foot-desc{font-size:.82rem;color:var(--txt-2);font-weight:300;line-height:1.65;max-width:280px}body .tp-foot-social{display:flex;gap:.5rem;margin-top:.25rem}body .tp-foot-social-link{width:32px;height:32px;border-radius:7px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--txt-3);font-size:.7rem;transition:border-color 0.2s,color 0.2s,background 0.2s}body .tp-foot-social-link:hover{border-color:var(--accent-border);color:var(--accent);background:var(--accent-dim)}body .tp-foot-col h3{font-family:var(--f-m);font-size:.6rem;text-transform:uppercase;letter-spacing:.12em;color:var(--txt-3);margin-bottom:.85rem}body .tp-foot-col h3 a{color:inherit;display:inline;font-size:inherit;font-weight:inherit;padding:0;transition:color 0.15s}body .tp-foot-col h3 a:hover{color:var(--txt-2)}body .tp-foot-col a{display:block;font-size:.82rem;color:var(--txt-2);padding:.25rem 0;transition:color 0.15s;font-weight:300}body .tp-foot-col a:hover{color:var(--accent)}body .tp-foot-col a.tp-foot-active{color:var(--accent)}body .tp-foot-col a[href*="ai-commands"]{color:#a78bfa}body .tp-foot-col a[href*="ai-commands"]:hover{color:#c4b5fd}body .tp-foot-col h3 a.tp-foot-active{color:var(--accent)}body .tp-foot-col .tp-foot-badge{display:inline-flex;font-family:var(--f-m);font-size:.48rem;padding:1px 5px;border-radius:3px;background:var(--accent-dim);color:var(--accent);border:1px solid var(--accent-border);margin-left:.35rem;vertical-align:middle}body .tp-foot-bottom{border-top:1px solid var(--border);padding:1.5rem 0;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}body .tp-foot-copy{font-family:var(--f-m);font-size:.62rem;color:var(--txt-3)}body .tp-foot-copy a{color:var(--txt-3);text-decoration:none;transition:color 0.15s}body .tp-foot-copy a:hover{color:var(--accent)}body .tp-foot-bottom-links{display:flex;gap:1.25rem}body .tp-foot-bottom-links a{font-family:var(--f-m);font-size:.62rem;color:var(--txt-3);transition:color 0.15s}body .tp-foot-bottom-links a:hover{color:var(--txt-2)}body .tp-foot-status{display:flex;align-items:center;gap:.4rem;font-family:var(--f-m);font-size:.6rem;color:var(--txt-3)}body .tp-foot-status-dot{width:6px;height:6px;border-radius:50%;background:#28c840;animation:tp-dot-pulse 2.5s ease-in-out infinite}@media (max-width:900px){body .tp-foot-top{grid-template-columns:1fr 1fr 1fr}body .tp-foot-brand{grid-column:span 3}}@media (max-width:768px){body .tp-foot-top{grid-template-columns:1fr 1fr}body .tp-foot-brand{grid-column:span 2}}@media (max-width:600px){body .tp-foot-top{grid-template-columns:1fr 1fr}body .tp-foot-brand{grid-column:span 2}}@media (max-width:480px){body .tp-foot-top{grid-template-columns:1fr}body .tp-foot-brand{grid-column:span 1}}body .tp-btt{position:fixed;bottom:2rem;right:var(--pad);z-index:150;display:flex;align-items:center;gap:0;opacity:0;transform:translateY(20px);pointer-events:none;transition:opacity 0.3s ease,transform 0.3s cubic-bezier(.16,1,.3,1);user-select:none;-webkit-user-select:none}body .tp-btt.tp-visible{opacity:1;transform:none;pointer-events:auto}body .tp-btt-btn{width:44px;height:44px;border-radius:50%;background:var(--bg-1);border:1px solid var(--border-2);display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:border-color 0.25s,box-shadow 0.25s;flex-shrink:0}body .tp-btt-btn:hover{border-color:var(--accent-border);box-shadow:0 0 20px var(--accent-glow)}body .tp-btt-btn svg.tp-btt-logo{width:18px;height:18px;position:relative;z-index:2}body .tp-btt-btn svg.tp-btt-logo path{fill:var(--accent);transition:filter 0.25s}body .tp-btt-btn:hover svg.tp-btt-logo path{filter:drop-shadow(0 0 4px var(--accent-glow))}body .tp-btt-ring{position:absolute;inset:-2px;width:48px;height:48px}body .tp-btt-ring circle{fill:none;stroke-width:2;transform:rotate(-90deg);transform-origin:center}body .tp-btt-ring .tp-btt-ring-bg{stroke:var(--border);opacity:.3}body .tp-btt-ring .tp-btt-ring-progress{stroke:var(--accent);stroke-linecap:round;transition:stroke-dashoffset 0.1s}body .tp-btt-label{font-family:var(--f-m);font-size:.58rem;color:var(--accent);white-space:nowrap;overflow:hidden;max-width:0;opacity:0;transition:max-width 0.3s var(--ease),opacity 0.25s,padding 0.3s,transform 0.15s;padding:0;background:var(--bg-1);border:1px solid var(--border-2);border-right:none;border-radius:6px 0 0 6px;height:32px;display:flex;align-items:center;margin-right:-1px}body .tp-btt:hover .tp-btt-label{max-width:160px;opacity:1;padding:0 10px 0 12px}body .tp-btt-label.tp-btt-label-flip{opacity:0}[data-theme="light"] .tp-btt-btn{box-shadow:0 2px 8px rgb(0 0 0 / .08)}@media (max-width:768px){body .tp-btt-label{display:none}}