/* =================================================================
   友你客 UniSquad · 法律/协议页样式
   字体策略同主站：仅使用系统字体，无内嵌商业字体，无版权风险。
   ================================================================= */
:root{
  --green:#07C160; --green-dark:#059B4B; --ink:#0F2A1D;
  --text:#1F2937; --text-2:#4B5563; --text-3:#6B7280; --line:#E8ECEF;
  --bg-tint:#F1F8F3;
  --font:-apple-system,BlinkMacSystemFont,"PingFang SC","Helvetica Neue","Microsoft YaHei","Hiragino Sans GB","Source Han Sans SC","Noto Sans CJK SC",system-ui,Arial,sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--font);color:var(--text);background:#fff;line-height:1.8;-webkit-font-smoothing:antialiased;}
a{color:var(--green-dark);text-decoration:none;}
a:hover{text-decoration:underline;}

.legal-nav{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.86);-webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line);}
.legal-nav__in{max-width:860px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.legal-brand{display:inline-flex;align-items:center;gap:10px;}
.legal-brand img{width:34px;height:34px;border-radius:9px;}
.legal-brand b{font-size:16px;color:var(--ink);letter-spacing:.04em;}
.legal-brand span{font-size:10px;font-weight:700;color:var(--green);letter-spacing:.14em;text-transform:uppercase;display:block;}
.legal-back{font-size:14px;font-weight:600;color:var(--green-dark);display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:999px;background:rgba(7,193,96,.08);transition:background .2s;}
.legal-back:hover{background:rgba(7,193,96,.16);text-decoration:none;}

.legal-hero{background:linear-gradient(135deg,#07C160 0%,#10B981 100%);color:#fff;padding:54px 24px 46px;}
.legal-hero__in{max-width:860px;margin:0 auto;}
.legal-hero h1{margin:0;font-size:clamp(24px,4vw,34px);font-weight:800;letter-spacing:-.01em;}
.legal-hero p{margin:10px 0 0;opacity:.92;font-size:14px;}

.legal-wrap{max-width:860px;margin:0 auto;padding:48px 24px 80px;}
.legal-doc h1{font-size:26px;color:var(--ink);margin:0 0 8px;}
.legal-doc h2{font-size:20px;color:var(--ink);margin:40px 0 12px;padding-top:18px;border-top:1px solid var(--line);font-weight:800;}
.legal-doc h2:first-of-type{border-top:none;padding-top:0;margin-top:8px;}
.legal-doc h3{font-size:16.5px;color:var(--green-dark);margin:24px 0 8px;font-weight:700;}
.legal-doc h4{font-size:15px;color:var(--ink);margin:18px 0 6px;font-weight:700;}
.legal-doc p{margin:10px 0;font-size:15px;color:var(--text-2);}
.legal-doc strong{color:var(--ink);font-weight:700;}
.legal-doc ul,.legal-doc ol{margin:10px 0;padding-left:26px;}
.legal-doc li{margin:6px 0;font-size:15px;color:var(--text-2);}
.legal-doc hr{border:none;border-top:1px solid var(--line);margin:28px 0;}
.legal-doc blockquote{margin:18px 0;padding:16px 20px;background:var(--bg-tint);border-left:4px solid var(--green);border-radius:0 12px 12px 0;color:var(--text-2);font-size:14.5px;}
.legal-doc blockquote p{margin:6px 0;color:var(--text-2);}
.legal-doc code{background:#F1F3F4;border-radius:5px;padding:2px 7px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;color:#0b6b3a;}
.legal-doc table{width:100%;border-collapse:collapse;margin:18px 0;font-size:14px;}
.legal-doc th,.legal-doc td{border:1px solid var(--line);padding:10px 12px;text-align:left;}
.legal-doc th{background:var(--bg-tint);color:var(--ink);font-weight:700;}

.legal-foot{border-top:1px solid var(--line);background:#0C2A1C;color:rgba(255,255,255,.6);}
.legal-foot__in{max-width:860px;margin:0 auto;padding:28px 24px;font-size:13px;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;}
.legal-foot a{color:#34D399;}
@media(max-width:560px){.legal-wrap{padding:32px 18px 64px;}.legal-doc h2{font-size:18px;}}

/* ===================== 友崽 · 友你客吉祥物(顶部右侧自在游走,纯陪伴) ===================== */
.youzai { position: fixed; top: 96px; right: 46px; z-index: 55; width: 90px; height: 99px; pointer-events: none; will-change: transform, opacity; transition-property: transform, opacity; transition-timing-function: cubic-bezier(.42,.04,.4,.98), ease; transition-duration: 1.4s, .3s; }
.youzai__sprite { position: absolute; inset: 0; display: block; filter: drop-shadow(0 7px 11px rgba(15,42,29,.16)); animation: youzai-breathe 3.6s ease-in-out infinite; transform-origin: 50% 94%; }
.youzai__sprite img { position: absolute; inset: 0; width: 100%; height: 100%; }
.youzai.is-walking .youzai__sprite { animation: youzai-walk .44s ease-in-out infinite; }
.youzai.is-hop .youzai__sprite { animation: youzai-hop .72s cubic-bezier(.3,1.4,.5,1); }
@keyframes youzai-breathe { 0%,100% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-3px) scaleY(1.025); } }
@keyframes youzai-walk { 0% { transform: translateY(0) rotate(-3.5deg); } 25% { transform: translateY(-5px) rotate(0deg); } 50% { transform: translateY(0) rotate(3.5deg); } 75% { transform: translateY(-5px) rotate(0deg); } 100% { transform: translateY(0) rotate(-3.5deg); } }
@keyframes youzai-hop { 0% { transform: translateY(0) scale(1,1); } 25% { transform: translateY(-17px) scale(1.04,.96); } 55% { transform: translateY(0) scale(1.05,.95); } 72% { transform: translateY(-6px) scale(1,1); } 100% { transform: translateY(0) scale(1,1); } }
@media (max-width: 760px) { .youzai { width: 56px; height: 62px; top: 88px; right: 28px; } }
.youzai .yz-sprout { transform-origin: 50% 30%; animation: yz-sway 3.7s ease-in-out infinite; }
@keyframes yz-sway { 0%,100% { transform: rotate(-6deg); } 50% { transform: rotate(6deg); } }
@media (prefers-reduced-motion: reduce) { .youzai { transition: opacity .3s ease; } .youzai__sprite, .youzai.is-walking .youzai__sprite, .youzai.is-hop .youzai__sprite, .youzai .yz-sprout { animation: none; } }
