.seo-summary{max-width:900px;margin:0 auto;padding:60px 28px;color:#eee;font:16px/1.85 -apple-system,BlinkMacSystemFont,"PingFang TC",sans-serif;max-height:100%;overflow:auto}.seo-summary h1{font-size:32px;line-height:1.35}.seo-summary p,.seo-summary li{color:#c4c3ca}.seo-summary nav{display:flex;flex-wrap:wrap;gap:20px;margin:28px 0}.seo-summary a{color:#dec6a2}.analytics-settings{position:fixed;bottom:12px;left:12px;z-index:50;padding:7px 10px;border:1px solid #655563;border-radius:5px;background:#19151de8;color:#c7b7c4;font:11px -apple-system,"PingFang TC",sans-serif}

body:has(.app-nav) .analytics-settings{bottom:108px;left:auto;right:14px}
/* Bottom consent strip: blinking thought bubble + changing weather. */
.analytics-banner{position:fixed;z-index:2147483000;bottom:max(16px,env(safe-area-inset-bottom));left:20px;right:20px;margin:auto;width:auto;max-width:1250px;display:flex;align-items:center;gap:24px;padding:20px 26px;border:1px solid #7d6d83;border-radius:18px;background:linear-gradient(110deg,#25202df7,#1b2530f7);box-shadow:0 12px 50px #0008;backdrop-filter:blur(14px);color:#efeaee;font:13px/1.65 -apple-system,BlinkMacSystemFont,'PingFang TC',sans-serif}.analytics-banner .analytics-mascot{position:relative;flex:0 0 130px;height:92px;display:grid;place-items:center}.analytics-face{position:relative;width:76px;height:61px;background:#c9e8df;border-radius:48% 48% 40% 40%;display:flex;align-items:center;justify-content:center;gap:12px;animation:analytics-float 3.8s ease-in-out infinite}.analytics-face:after{content:'';position:absolute;bottom:-7px;left:14px;border:8px solid transparent;border-top-color:#c9e8df;border-bottom:0}.analytics-eye{position:relative;width:17px;height:21px;background:#fff;border-radius:50%;overflow:hidden}.analytics-eye b{position:absolute;width:8px;height:10px;left:4px;top:6px;border-radius:50%;background:#24413e;transform:translate(var(--gaze-x,0px),var(--gaze-y,0px))}.analytics-mouth{position:absolute;bottom:9px;left:29px;width:18px;height:9px;border-bottom:2px solid #24413e;border-radius:0 0 20px 20px}.analytics-weather{position:absolute;right:0;top:-7px;font-size:25px;line-height:1;transition:transform .3s}.analytics-thought{position:absolute;bottom:-3px;white-space:nowrap;font-size:10px;color:#c9dcd8}.analytics-banner .analytics-copy{flex:1;min-width:0}.analytics-banner p{margin:0 0 7px}.analytics-banner .analytics-copy>p:first-child{font-size:16px;font-weight:600}.analytics-banner .hint{font-size:12px;color:#bdb7c7;margin:0}.analytics-banner a{color:#e6bdce;text-underline-offset:3px;white-space:nowrap}.analytics-reply{display:block;font-size:12px;color:#b9e8d6}.analytics-banner .analytics-actions{display:flex;gap:10px;flex-shrink:0}.analytics-actions button{min-width:116px;min-height:46px;padding:10px 16px;border:1px solid #a58d9e;border-radius:10px;background:#dec9d7;color:#30232d;font:inherit;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.analytics-actions button:last-child{background:transparent;color:#f0e6ed}.analytics-actions button:hover{transform:translateY(-2px);box-shadow:0 0 15px #dfc9dd22}.analytics-actions button:focus-visible,.analytics-banner a:focus-visible{outline:3px solid #b8e7dc;outline-offset:4px}.analytics-actions button:disabled{cursor:default;opacity:.7}.analytics-banner[data-mood=granted] .analytics-eye:first-child{animation:analytics-wink 1.5s ease-in-out infinite}.analytics-banner[data-mood=granted] .analytics-weather{transform:rotate(12deg) scale(1.12)}.analytics-banner[data-mood=denied] .analytics-face{animation:analytics-tilt 2s ease-in-out infinite}.analytics-banner[data-mood=denied] .analytics-mouth{height:6px;border-bottom:0;border-top:2px solid #24413e;border-radius:20px 20px 0 0}.analytics-banner[data-mood=complete] .analytics-face{animation:analytics-thanks .65s ease-in-out}.analytics-banner[data-mood=complete] .analytics-mouth{height:12px}.analytics-banner[data-mood=complete] .analytics-weather{transform:scale(1.15)}body:has(.analytics-banner) .analytics-settings{visibility:hidden}body:has(.app-nav) .analytics-banner{bottom:calc(94px + env(safe-area-inset-bottom))}
@keyframes analytics-float{50%{transform:translateY(-4px)}}@keyframes analytics-wink{15%,35%{transform:scaleY(.12)}50%,100%{transform:scaleY(1)}}@keyframes analytics-tilt{50%{transform:rotate(-7deg)}}@keyframes analytics-thanks{40%{transform:translateY(-8px) rotate(-5deg)}70%{transform:rotate(5deg)}}
@media(max-width:920px){.analytics-banner{gap:16px;padding:18px}.analytics-banner .analytics-actions{flex-direction:column}.analytics-actions button{min-height:42px;padding:8px 12px}}
@media(max-width:580px){.analytics-banner{left:10px;right:10px;display:grid;grid-template-columns:82px 1fr;gap:12px;padding:16px;border-radius:15px}.analytics-banner .analytics-mascot{width:82px;height:85px}.analytics-face{width:68px;height:57px;gap:10px}.analytics-mouth{left:25px}.analytics-weather{right:-3px;font-size:21px}.analytics-thought{font-size:9px;bottom:-5px}.analytics-banner .analytics-copy>p:first-child{font-size:14px}.analytics-banner .hint{font-size:11px}.analytics-banner .analytics-actions{grid-column:1/-1;flex-direction:row}.analytics-actions button{flex:1;min-width:0;min-height:44px}body:has(.app-nav) .analytics-banner{bottom:calc(84px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.analytics-banner *{animation:none!important;transition:none!important}}
